diff options
| author | Joakim Verona | 2011-11-22 15:46:22 +0100 |
|---|---|---|
| committer | Joakim Verona | 2011-11-22 15:46:22 +0100 |
| commit | a9c1e05adddf6011c61c0df582c5f2ed423f35c8 (patch) | |
| tree | 489fac119296416ba2f3530fd3bcb70efbbbdaa6 | |
| parent | 40bb789236e486a3f36eefb2840c293369ce2af3 (diff) | |
| parent | b5afc20930c91159a1cbf629bcaa7e251653dc74 (diff) | |
| download | emacs-a9c1e05adddf6011c61c0df582c5f2ed423f35c8.tar.gz emacs-a9c1e05adddf6011c61c0df582c5f2ed423f35c8.zip | |
upstream
433 files changed, 3263 insertions, 2771 deletions
| @@ -1,3 +1,23 @@ | |||
| 1 | 2011-11-22 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * configure.in (EMACSDATA, EMACSDOC): If set, print, since they can | ||
| 4 | have confusing effects on the build. (Bug#6401) | ||
| 5 | |||
| 6 | * Makefile.in (install-arch-dep): Tweak previous change. | ||
| 7 | |||
| 8 | 2011-11-22 Yavor Doganov <yavor@gnu.org> | ||
| 9 | |||
| 10 | Do not install arch-dependent files in the app bundle if | ||
| 11 | --disable-ns-self-contained is requested. (Bug#1335) | ||
| 12 | * configure.in (exec_prefix, libexecdir): Define relative to | ||
| 13 | `ns_appbindir' only if configured for a self-contained app. | ||
| 14 | * Makefile.in (install-arch-dep): Test for the existence of | ||
| 15 | libexec in the Emacs.app bundle before executing commands. | ||
| 16 | |||
| 17 | 2011-11-20 Andreas Schwab <schwab@linux-m68k.org> | ||
| 18 | |||
| 19 | * configure.in: Remove reference to src/m/ibms390.h. | ||
| 20 | |||
| 1 | 2011-11-13 Glenn Morris <rgm@gnu.org> | 21 | 2011-11-13 Glenn Morris <rgm@gnu.org> |
| 2 | 22 | ||
| 3 | * INSTALL: Tiny updates for disk space used during installation. | 23 | * INSTALL: Tiny updates for disk space used during installation. |
| @@ -689,7 +709,7 @@ | |||
| 689 | * autogen/Makefile.in: Add auto-updated generated files. | 709 | * autogen/Makefile.in: Add auto-updated generated files. |
| 690 | * autogen.sh: No longer a no-op, now it tests for autotools | 710 | * autogen.sh: No longer a no-op, now it tests for autotools |
| 691 | and runs them as necessary. | 711 | and runs them as necessary. |
| 692 | * configure.in: Defaule maintainer-mode to on. | 712 | * configure.in: Default maintainer-mode to on. |
| 693 | * aclocal.m4, configure, lib/Makefile.in: Remove files. | 713 | * aclocal.m4, configure, lib/Makefile.in: Remove files. |
| 694 | 714 | ||
| 695 | 2011-03-13 Paul Eggert <eggert@cs.ucla.edu> | 715 | 2011-03-13 Paul Eggert <eggert@cs.ucla.edu> |
| @@ -9711,7 +9731,7 @@ | |||
| 9711 | paths.h.in, Makefile.in in src. | 9731 | paths.h.in, Makefile.in in src. |
| 9712 | 9732 | ||
| 9713 | * configure: Delete .tmp files before creating them; don't bother | 9733 | * configure: Delete .tmp files before creating them; don't bother |
| 9714 | trying to make final targets writeable first, since it won't | 9734 | trying to make final targets writable first, since it won't |
| 9715 | matter to move-if-change. | 9735 | matter to move-if-change. |
| 9716 | 9736 | ||
| 9717 | 1992-05-19 Jim Blandy (jimb@pogo.cs.oberlin.edu) | 9737 | 1992-05-19 Jim Blandy (jimb@pogo.cs.oberlin.edu) |
diff --git a/Makefile.in b/Makefile.in index f5bc0ce7015..c0d108877c1 100644 --- a/Makefile.in +++ b/Makefile.in | |||
| @@ -474,10 +474,10 @@ install-arch-dep: mkdir | |||
| 474 | if test -d share/emacs ; then dir=share/emacs/*/*; $(MV_DIRS); fi;\ | 474 | if test -d share/emacs ; then dir=share/emacs/*/*; $(MV_DIRS); fi;\ |
| 475 | if test -d share/info ; then dir=share/info; $(MV_DIRS) ; fi ; \ | 475 | if test -d share/info ; then dir=share/info; $(MV_DIRS) ; fi ; \ |
| 476 | rm -fr share ) ; \ | 476 | rm -fr share ) ; \ |
| 477 | ( cd ${ns_appbindir}libexec ; dir=emacs/*/*/* ; $(MV_DIRS); \ | 477 | ( cd ${ns_appbindir} ; \ |
| 478 | rm -fr emacs ) ; \ | 478 | if cd libexec ; then dir=emacs/*/*/* ; $(MV_DIRS); \ |
| 479 | ( cd ${ns_appbindir}bin ; rm -f emacs emacs-24* ; \ | 479 | rm -fr emacs; if cd ../bin; then rm -f emacs emacs-24*; \ |
| 480 | ln -sf ../libexec/* .) ; \ | 480 | ln -sf ../libexec/* . ; fi ; fi ) ; \ |
| 481 | else true ; fi | 481 | else true ; fi |
| 482 | 482 | ||
| 483 | ## FIXME is the emacs-24* bit above really necessary and correct? | 483 | ## FIXME is the emacs-24* bit above really necessary and correct? |
| @@ -666,7 +666,7 @@ install-etc: mkdir | |||
| 666 | ### Install LEIM files. Although they are machine-independent, we | 666 | ### Install LEIM files. Although they are machine-independent, we |
| 667 | ### have separate target here instead of including it in | 667 | ### have separate target here instead of including it in |
| 668 | ### `install-arch-indep'. People who extracted LEIM files after they | 668 | ### `install-arch-indep'. People who extracted LEIM files after they |
| 669 | ### insalled Emacs itself can install only LEIM files by this target. | 669 | ### installed Emacs itself can install only LEIM files by this target. |
| 670 | install-leim: leim/Makefile mkdir | 670 | install-leim: leim/Makefile mkdir |
| 671 | cd leim; $(MAKE) install | 671 | cd leim; $(MAKE) install |
| 672 | 672 | ||
diff --git a/admin/CPP-DEFINES b/admin/CPP-DEFINES index 6e0f736a06f..c5f8c7ab31f 100644 --- a/admin/CPP-DEFINES +++ b/admin/CPP-DEFINES | |||
| @@ -48,7 +48,7 @@ SYSTEM_MALLOC Use the system library's malloc. | |||
| 48 | subprocesses System can use subprocesses (for M-x shell for example). Defined by default, only MSDOS undefines it. | 48 | subprocesses System can use subprocesses (for M-x shell for example). Defined by default, only MSDOS undefines it. |
| 49 | USE_LISP_UNION_TYPE Define it in lisp.h to make Lisp_Object be a union type instead of the default int. | 49 | USE_LISP_UNION_TYPE Define it in lisp.h to make Lisp_Object be a union type instead of the default int. |
| 50 | 50 | ||
| 51 | ** System specific macros, decribed in detail in src/s/template.h | 51 | ** System specific macros, described in detail in src/s/template.h |
| 52 | CLASH_DETECTION | 52 | CLASH_DETECTION |
| 53 | COFF | 53 | COFF |
| 54 | FIRST_PTY_LETTER | 54 | FIRST_PTY_LETTER |
| @@ -58,9 +58,6 @@ NARROWPROTO | |||
| 58 | SEPCHAR | 58 | SEPCHAR |
| 59 | SYSTEM_TYPE | 59 | SYSTEM_TYPE |
| 60 | 60 | ||
| 61 | ** Machine specific macros, decribed in detail in src/m/template.h | ||
| 62 | VIRT_ADDR_VARIES | ||
| 63 | |||
| 64 | ** Misc macros | 61 | ** Misc macros |
| 65 | USER_FULL_NAME If defined, overrides the default pw->pw_gecos for getting at the full user name. Only MSDOS overrides the default. | 62 | USER_FULL_NAME If defined, overrides the default pw->pw_gecos for getting at the full user name. Only MSDOS overrides the default. |
| 66 | 63 | ||
diff --git a/admin/ChangeLog b/admin/ChangeLog index 6030dd8f6d3..aa815c552b4 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2011-11-20 Andreas Schwab <schwab@linux-m68k.org> | ||
| 2 | |||
| 3 | * CPP-DEFINES (VIRT_ADDR_VARIES): Remove. | ||
| 4 | |||
| 1 | 2011-11-16 Juanma Barranquero <lekktu@gmail.com> | 5 | 2011-11-16 Juanma Barranquero <lekktu@gmail.com> |
| 2 | 6 | ||
| 3 | * admin.el (manual-dvi): Fix typo. | 7 | * admin.el (manual-dvi): Fix typo. |
| @@ -398,7 +402,7 @@ | |||
| 398 | 402 | ||
| 399 | 2009-06-24 Kenichi Handa <handa@m17n.org> | 403 | 2009-06-24 Kenichi Handa <handa@m17n.org> |
| 400 | 404 | ||
| 401 | * charsets/mapconv: For the UNICODE format files, do reverse sort | 405 | * charsets/mapconv: For the Unicode format files, do reverse sort |
| 402 | and don't compact the map. This is to prefer the first one in the | 406 | and don't compact the map. This is to prefer the first one in the |
| 403 | duplicated mappings (e.g. 0x20->U+0020, 0x20->U+00A0). | 407 | duplicated mappings (e.g. 0x20->U+0020, 0x20->U+00A0). |
| 404 | 408 | ||
diff --git a/admin/grammars/c.by b/admin/grammars/c.by index 004f0b5f30f..b49f8ce76c7 100644 --- a/admin/grammars/c.by +++ b/admin/grammars/c.by | |||
| @@ -122,7 +122,7 @@ | |||
| 122 | %put DELETE summary "delete <object>;" | 122 | %put DELETE summary "delete <object>;" |
| 123 | 123 | ||
| 124 | ;; Despite this, this parser can find templates by ignoring the TEMPLATE | 124 | ;; Despite this, this parser can find templates by ignoring the TEMPLATE |
| 125 | ;; keyword, and finding the class/method being templateized. | 125 | ;; keyword, and finding the class/method being templatized. |
| 126 | %token TEMPLATE "template" | 126 | %token TEMPLATE "template" |
| 127 | %put TEMPLATE summary "template <class TYPE ...> TYPE_OR_FUNCTION" | 127 | %put TEMPLATE summary "template <class TYPE ...> TYPE_OR_FUNCTION" |
| 128 | 128 | ||
diff --git a/admin/grammars/java-tags.wy b/admin/grammars/java-tags.wy index 99d2b9df81d..f4b2f1f1f49 100644 --- a/admin/grammars/java-tags.wy +++ b/admin/grammars/java-tags.wy | |||
| @@ -740,7 +740,7 @@ It ignores whitespaces, newlines and comments." | |||
| 740 | wisent-java-tags-wy--<symbol>-regexp-analyzer | 740 | wisent-java-tags-wy--<symbol>-regexp-analyzer |
| 741 | wisent-java-tags-wy--<punctuation>-string-analyzer | 741 | wisent-java-tags-wy--<punctuation>-string-analyzer |
| 742 | wisent-java-tags-wy--<block>-block-analyzer | 742 | wisent-java-tags-wy--<block>-block-analyzer |
| 743 | ;; In theory, unicode chars should be turned into normal chars | 743 | ;; In theory, Unicode chars should be turned into normal chars |
| 744 | ;; and then combined into regular ascii keywords and text. This | 744 | ;; and then combined into regular ascii keywords and text. This |
| 745 | ;; analyzer just keeps these things from making the lexer go boom. | 745 | ;; analyzer just keeps these things from making the lexer go boom. |
| 746 | wisent-java-tags-wy--<unicode>-regexp-analyzer | 746 | wisent-java-tags-wy--<unicode>-regexp-analyzer |
diff --git a/admin/notes/multi-tty b/admin/notes/multi-tty index 410e3aa8614..8a10997eb8b 100644 --- a/admin/notes/multi-tty +++ b/admin/notes/multi-tty | |||
| @@ -521,7 +521,7 @@ THINGS TO DO | |||
| 521 | 521 | ||
| 522 | ** Very strange bug: visible-bell does not work on secondary | 522 | ** Very strange bug: visible-bell does not work on secondary |
| 523 | terminals in xterm and konsole. The screen does flicker a bit, | 523 | terminals in xterm and konsole. The screen does flicker a bit, |
| 524 | but it's so quick it isn't noticable. | 524 | but it's so quick it isn't noticeable. |
| 525 | 525 | ||
| 526 | (Update: This is probably some problem with padding or whatnot on | 526 | (Update: This is probably some problem with padding or whatnot on |
| 527 | the secondary terminals.) | 527 | the secondary terminals.) |
| @@ -585,7 +585,7 @@ DIARY OF CHANGES | |||
| 585 | -- other-frame should cycle through the frames on the `current' | 585 | -- other-frame should cycle through the frames on the `current' |
| 586 | terminal only. | 586 | terminal only. |
| 587 | 587 | ||
| 588 | (Done, by trivially modifiying next_frame and prev_frame.) | 588 | (Done, by trivially modifying next_frame and prev_frame.) |
| 589 | 589 | ||
| 590 | -- Support different terminal sizes. | 590 | -- Support different terminal sizes. |
| 591 | 591 | ||
| @@ -984,7 +984,7 @@ DIARY OF CHANGES | |||
| 984 | wrt foreground/background process groups.) | 984 | wrt foreground/background process groups.) |
| 985 | 985 | ||
| 986 | -- There is a flicker during the startup of `emacs -nw'; it's as if | 986 | -- There is a flicker during the startup of `emacs -nw'; it's as if |
| 987 | the terminal is initialized, reset and then initialialized again. | 987 | the terminal is initialized, reset and then initialized again. |
| 988 | Debug this. (Hint: narrow_foreground_group is called twice during | 988 | Debug this. (Hint: narrow_foreground_group is called twice during |
| 989 | startup.) | 989 | startup.) |
| 990 | 990 | ||
diff --git a/admin/notes/nextstep b/admin/notes/nextstep index cf0ebbc11aa..a2e5ce2c9b0 100644 --- a/admin/notes/nextstep +++ b/admin/notes/nextstep | |||
| @@ -83,7 +83,7 @@ original NeXT Display PostScript (DPS) APIs are available and used. Under | |||
| 83 | Cocoa, these were removed and Quartz drawing functions replaced them. | 83 | Cocoa, these were removed and Quartz drawing functions replaced them. |
| 84 | 84 | ||
| 85 | In both cases, font glyphs are accessed through UTF8 character | 85 | In both cases, font glyphs are accessed through UTF8 character |
| 86 | representations. It would be preferable to use unicode indices, but prior | 86 | representations. It would be preferable to use Unicode indices, but prior |
| 87 | attempts at this have failed. | 87 | attempts at this have failed. |
| 88 | 88 | ||
| 89 | Multi-script fontsets are auto-created in nsfont_make_fontset_for_font() using | 89 | Multi-script fontsets are auto-created in nsfont_make_fontset_for_font() using |
diff --git a/admin/nt/README-ftp-server b/admin/nt/README-ftp-server index 82e33cc5418..c320bbe915d 100644 --- a/admin/nt/README-ftp-server +++ b/admin/nt/README-ftp-server | |||
| @@ -254,7 +254,7 @@ See the end of the file for license conditions. | |||
| 254 | 254 | ||
| 255 | Another valuable source of information and help which should not be | 255 | Another valuable source of information and help which should not be |
| 256 | overlooked is the various Usenet news groups dedicated to Emacs. | 256 | overlooked is the various Usenet news groups dedicated to Emacs. |
| 257 | These are particuarly good for help with general issues which aren't | 257 | These are particularly good for help with general issues which aren't |
| 258 | specific to the Windows port of Emacs. The main news groups to use | 258 | specific to the Windows port of Emacs. The main news groups to use |
| 259 | for seeking help are: | 259 | for seeking help are: |
| 260 | 260 | ||
diff --git a/admin/unidata/unidata-gen.el b/admin/unidata/unidata-gen.el index 1002bb003af..713b0512e09 100644 --- a/admin/unidata/unidata-gen.el +++ b/admin/unidata/unidata-gen.el | |||
| @@ -158,7 +158,7 @@ | |||
| 158 | ;; DEFAULT: the default value of the property. It may have the form | 158 | ;; DEFAULT: the default value of the property. It may have the form |
| 159 | ;; (VAL0 (FROM1 TO1 VAL1) ...) which indicates that the default | 159 | ;; (VAL0 (FROM1 TO1 VAL1) ...) which indicates that the default |
| 160 | ;; value is VAL0 except for characters in the ranges specified by | 160 | ;; value is VAL0 except for characters in the ranges specified by |
| 161 | ;; FROMn and TOn (incusive). The default value of characters | 161 | ;; FROMn and TOn (inclusive). The default value of characters |
| 162 | ;; between FROMn and TOn is VALn. | 162 | ;; between FROMn and TOn is VALn. |
| 163 | ;; VAL-LIST: list of specially ordered property values | 163 | ;; VAL-LIST: list of specially ordered property values |
| 164 | 164 | ||
diff --git a/autogen/configure b/autogen/configure index b22541d8b22..eae55274761 100755 --- a/autogen/configure +++ b/autogen/configure | |||
| @@ -4461,7 +4461,6 @@ case "${canonical}" in | |||
| 4461 | opsys=gnu-linux | 4461 | opsys=gnu-linux |
| 4462 | case ${canonical} in | 4462 | case ${canonical} in |
| 4463 | alpha*) machine=alpha ;; | 4463 | alpha*) machine=alpha ;; |
| 4464 | s390-*) machine=ibms390 ;; | ||
| 4465 | s390x-*) machine=ibms390x ;; | 4464 | s390x-*) machine=ibms390x ;; |
| 4466 | powerpc*) machine=macppc ;; | 4465 | powerpc*) machine=macppc ;; |
| 4467 | sparc*) machine=sparc ;; | 4466 | sparc*) machine=sparc ;; |
| @@ -9984,10 +9983,10 @@ if test "${HAVE_NS}" = yes; then | |||
| 9984 | window_system=nextstep | 9983 | window_system=nextstep |
| 9985 | with_xft=no | 9984 | with_xft=no |
| 9986 | # set up packaging dirs | 9985 | # set up packaging dirs |
| 9987 | exec_prefix=${ns_appbindir} | ||
| 9988 | libexecdir=${ns_appbindir}/libexec | ||
| 9989 | if test "${EN_NS_SELF_CONTAINED}" = yes; then | 9986 | if test "${EN_NS_SELF_CONTAINED}" = yes; then |
| 9990 | prefix=${ns_appresdir} | 9987 | prefix=${ns_appresdir} |
| 9988 | exec_prefix=${ns_appbindir} | ||
| 9989 | libexecdir=${ns_appbindir}/libexec | ||
| 9991 | fi | 9990 | fi |
| 9992 | ns_frag=$srcdir/src/ns.mk | 9991 | ns_frag=$srcdir/src/ns.mk |
| 9993 | NS_OBJ="fontset.o fringe.o image.o" | 9992 | NS_OBJ="fontset.o fringe.o image.o" |
| @@ -13640,7 +13639,7 @@ $as_echo "#define NS_IMPL_GNUSTEP 1" >>confdefs.h | |||
| 13640 | 13639 | ||
| 13641 | # See also .m.o rule in Makefile.in */ | 13640 | # See also .m.o rule in Makefile.in */ |
| 13642 | # FIXME: are all these flags really needed? Document here why. */ | 13641 | # FIXME: are all these flags really needed? Document here why. */ |
| 13643 | C_SWITCH_X_SYSTEM="-D_REENTRANT -fPIC -fno-strict-aliasing -I${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}" | 13642 | C_SWITCH_X_SYSTEM="-D_REENTRANT -fPIC -fno-strict-aliasing -I${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}" |
| 13644 | ## Extra CFLAGS applied to src/*.m files. | 13643 | ## Extra CFLAGS applied to src/*.m files. |
| 13645 | GNU_OBJC_CFLAGS="$GNU_OBJC_CFLAGS -fgnu-runtime -Wno-import -fconstant-string-class=NSConstantString -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNU_RUNTIME=1 -DGSWARN -DGSDIAGNOSE" | 13644 | GNU_OBJC_CFLAGS="$GNU_OBJC_CFLAGS -fgnu-runtime -Wno-import -fconstant-string-class=NSConstantString -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNU_RUNTIME=1 -DGSWARN -DGSDIAGNOSE" |
| 13646 | fi | 13645 | fi |
| @@ -24294,6 +24293,13 @@ echo " Does Emacs use -lxft? ${HAVE_XFT}" | |||
| 24294 | echo " Does Emacs use toolkit scroll bars? ${USE_TOOLKIT_SCROLL_BARS}" | 24293 | echo " Does Emacs use toolkit scroll bars? ${USE_TOOLKIT_SCROLL_BARS}" |
| 24295 | echo | 24294 | echo |
| 24296 | 24295 | ||
| 24296 | if test -n "${EMACSDATA}"; then | ||
| 24297 | echo " Environment variable EMACSDATA set to: $EMACSDATA" | ||
| 24298 | fi | ||
| 24299 | if test -n "${EMACSDOC}"; then | ||
| 24300 | echo " Environment variable EMACSDOC set to: $EMACSDOC" | ||
| 24301 | fi | ||
| 24302 | |||
| 24297 | if test $USE_XASSERTS = yes; then | 24303 | if test $USE_XASSERTS = yes; then |
| 24298 | echo " Compiling with asserts turned on." | 24304 | echo " Compiling with asserts turned on." |
| 24299 | CPPFLAGS="$CPPFLAGS -DXASSERTS=1" | 24305 | CPPFLAGS="$CPPFLAGS -DXASSERTS=1" |
diff --git a/configure.in b/configure.in index ec938bf37cd..5b686e017f6 100644 --- a/configure.in +++ b/configure.in | |||
| @@ -418,7 +418,6 @@ case "${canonical}" in | |||
| 418 | opsys=gnu-linux | 418 | opsys=gnu-linux |
| 419 | case ${canonical} in | 419 | case ${canonical} in |
| 420 | alpha*) machine=alpha ;; | 420 | alpha*) machine=alpha ;; |
| 421 | s390-*) machine=ibms390 ;; | ||
| 422 | s390x-*) machine=ibms390x ;; | 421 | s390x-*) machine=ibms390x ;; |
| 423 | powerpc*) machine=macppc ;; | 422 | powerpc*) machine=macppc ;; |
| 424 | sparc*) machine=sparc ;; | 423 | sparc*) machine=sparc ;; |
| @@ -1571,10 +1570,10 @@ if test "${HAVE_NS}" = yes; then | |||
| 1571 | window_system=nextstep | 1570 | window_system=nextstep |
| 1572 | with_xft=no | 1571 | with_xft=no |
| 1573 | # set up packaging dirs | 1572 | # set up packaging dirs |
| 1574 | exec_prefix=${ns_appbindir} | ||
| 1575 | libexecdir=${ns_appbindir}/libexec | ||
| 1576 | if test "${EN_NS_SELF_CONTAINED}" = yes; then | 1573 | if test "${EN_NS_SELF_CONTAINED}" = yes; then |
| 1577 | prefix=${ns_appresdir} | 1574 | prefix=${ns_appresdir} |
| 1575 | exec_prefix=${ns_appbindir} | ||
| 1576 | libexecdir=${ns_appbindir}/libexec | ||
| 1578 | fi | 1577 | fi |
| 1579 | ns_frag=$srcdir/src/ns.mk | 1578 | ns_frag=$srcdir/src/ns.mk |
| 1580 | NS_OBJ="fontset.o fringe.o image.o" | 1579 | NS_OBJ="fontset.o fringe.o image.o" |
| @@ -2637,6 +2636,8 @@ if test "${HAVE_NS}" = "yes"; then | |||
| 2637 | AC_DEFINE(NS_IMPL_GNUSTEP, 1, [Define to 1 if you are using NS windowing under GNUstep.]) | 2636 | AC_DEFINE(NS_IMPL_GNUSTEP, 1, [Define to 1 if you are using NS windowing under GNUstep.]) |
| 2638 | # See also .m.o rule in Makefile.in */ | 2637 | # See also .m.o rule in Makefile.in */ |
| 2639 | # FIXME: are all these flags really needed? Document here why. */ | 2638 | # FIXME: are all these flags really needed? Document here why. */ |
| 2639 | dnl FIXME this should be renamed to GNUSTEP_CFLAGS, and only | ||
| 2640 | dnl used in src/Makefile.in. | ||
| 2640 | C_SWITCH_X_SYSTEM="-D_REENTRANT -fPIC -fno-strict-aliasing -I${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}" | 2641 | C_SWITCH_X_SYSTEM="-D_REENTRANT -fPIC -fno-strict-aliasing -I${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}" |
| 2641 | ## Extra CFLAGS applied to src/*.m files. | 2642 | ## Extra CFLAGS applied to src/*.m files. |
| 2642 | GNU_OBJC_CFLAGS="$GNU_OBJC_CFLAGS -fgnu-runtime -Wno-import -fconstant-string-class=NSConstantString -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNU_RUNTIME=1 -DGSWARN -DGSDIAGNOSE" | 2643 | GNU_OBJC_CFLAGS="$GNU_OBJC_CFLAGS -fgnu-runtime -Wno-import -fconstant-string-class=NSConstantString -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNU_RUNTIME=1 -DGSWARN -DGSDIAGNOSE" |
| @@ -3786,6 +3787,13 @@ echo " Does xwidgets support clutter(demo code)? ${HAVE_CLUTTER}" | |||
| 3786 | echo " Does xwidgets support goocanvas(demo code)? ${HAVE_GOOCANVAS}" | 3787 | echo " Does xwidgets support goocanvas(demo code)? ${HAVE_GOOCANVAS}" |
| 3787 | echo | 3788 | echo |
| 3788 | 3789 | ||
| 3790 | if test -n "${EMACSDATA}"; then | ||
| 3791 | echo " Environment variable EMACSDATA set to: $EMACSDATA" | ||
| 3792 | fi | ||
| 3793 | if test -n "${EMACSDOC}"; then | ||
| 3794 | echo " Environment variable EMACSDOC set to: $EMACSDOC" | ||
| 3795 | fi | ||
| 3796 | |||
| 3789 | if test $USE_XASSERTS = yes; then | 3797 | if test $USE_XASSERTS = yes; then |
| 3790 | echo " Compiling with asserts turned on." | 3798 | echo " Compiling with asserts turned on." |
| 3791 | CPPFLAGS="$CPPFLAGS -DXASSERTS=1" | 3799 | CPPFLAGS="$CPPFLAGS -DXASSERTS=1" |
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index b796acd8b39..6e687bcefc9 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog | |||
| @@ -1,3 +1,12 @@ | |||
| 1 | 2011-11-21 Chong Yidong <cyd@gnu.org> | ||
| 2 | |||
| 3 | * mark.texi (Global Mark Ring): Fix description of global mark | ||
| 4 | ring (Bug#10032). | ||
| 5 | |||
| 6 | 2011-11-20 Juanma Barranquero <lekktu@gmail.com> | ||
| 7 | |||
| 8 | * msdog.texi (Windows Fonts): Fix typo. | ||
| 9 | |||
| 1 | 2011-11-17 Glenn Morris <rgm@gnu.org> | 10 | 2011-11-17 Glenn Morris <rgm@gnu.org> |
| 2 | 11 | ||
| 3 | * regs.texi (Bookmarks): Small fixes related to saving. (Bug#10058) | 12 | * regs.texi (Bookmarks): Small fixes related to saving. (Bug#10058) |
diff --git a/doc/emacs/ack.texi b/doc/emacs/ack.texi index 6801c7f1e0e..d7022ba739b 100644 --- a/doc/emacs/ack.texi +++ b/doc/emacs/ack.texi | |||
| @@ -549,7 +549,7 @@ Taichi Kawabata added support for Devanagari script and the Indian | |||
| 549 | languages, and wrote @file{ucs-normalize.el} for Unicode normalization. | 549 | languages, and wrote @file{ucs-normalize.el} for Unicode normalization. |
| 550 | 550 | ||
| 551 | @item | 551 | @item |
| 552 | Taro Kawagishi implented the MD4 Message Digest Algorithm in Lisp; and | 552 | Taro Kawagishi implemented the MD4 Message Digest Algorithm in Lisp; and |
| 553 | wrote @file{ntlm.el} and @file{sasl-ntlm.el} for NT LanManager | 553 | wrote @file{ntlm.el} and @file{sasl-ntlm.el} for NT LanManager |
| 554 | authentication support. | 554 | authentication support. |
| 555 | 555 | ||
diff --git a/doc/emacs/mark.texi b/doc/emacs/mark.texi index 0eccef41711..7d65719e5f0 100644 --- a/doc/emacs/mark.texi +++ b/doc/emacs/mark.texi | |||
| @@ -354,9 +354,12 @@ Positions in Registers}). | |||
| 354 | @vindex global-mark-ring-max | 354 | @vindex global-mark-ring-max |
| 355 | In addition to the ordinary mark ring that belongs to each buffer, | 355 | In addition to the ordinary mark ring that belongs to each buffer, |
| 356 | Emacs has a single @dfn{global mark ring}. Each time you set a mark, | 356 | Emacs has a single @dfn{global mark ring}. Each time you set a mark, |
| 357 | in any buffer, this is recorded in the global mark ring in addition to | 357 | this is recorded in the global mark ring in addition to the current |
| 358 | the current buffer's own mark ring. The length of this ring can be | 358 | buffer's own mark ring, if you have switched buffers since the |
| 359 | controlled by @code{global-mark-ring-max}, and is 16 by default. | 359 | previous mark setting. Hence, the global mark ring records a sequence |
| 360 | of buffers that you have been in, and, for each buffer, a place where | ||
| 361 | you set the mark. The length of the global mark ring is controlled by | ||
| 362 | @code{global-mark-ring-max}, and is 16 by default. | ||
| 360 | 363 | ||
| 361 | @kindex C-x C-@key{SPC} | 364 | @kindex C-x C-@key{SPC} |
| 362 | @findex pop-global-mark | 365 | @findex pop-global-mark |
diff --git a/doc/emacs/msdog.texi b/doc/emacs/msdog.texi index bbaf31ade85..e3c9b8d4fc2 100644 --- a/doc/emacs/msdog.texi +++ b/doc/emacs/msdog.texi | |||
| @@ -914,7 +914,7 @@ as a fallback with the font family left unspecified. | |||
| 914 | @vindex w32-charset-info-alist | 914 | @vindex w32-charset-info-alist |
| 915 | @item registry | 915 | @item registry |
| 916 | Specifies the character set registry that the font is | 916 | Specifies the character set registry that the font is |
| 917 | expected to cover. Most TrueType and OpenType fonts will be unicode fonts | 917 | expected to cover. Most TrueType and OpenType fonts will be Unicode fonts |
| 918 | that cover several national character sets, but you can narrow down the | 918 | that cover several national character sets, but you can narrow down the |
| 919 | selection of fonts to those that support a particular character set by | 919 | selection of fonts to those that support a particular character set by |
| 920 | using a specific registry from @code{w32-charset-info-alist} here. | 920 | using a specific registry from @code{w32-charset-info-alist} here. |
| @@ -936,9 +936,9 @@ Options specific to @code{GDI} fonts: | |||
| 936 | @table @code | 936 | @table @code |
| 937 | 937 | ||
| 938 | @cindex font scripts (MS Windows) | 938 | @cindex font scripts (MS Windows) |
| 939 | @cindex font unicode subranges (MS Windows) | 939 | @cindex font Unicode subranges (MS Windows) |
| 940 | @item script | 940 | @item script |
| 941 | Specifies a unicode subrange the font should support. | 941 | Specifies a Unicode subrange the font should support. |
| 942 | 942 | ||
| 943 | The following scripts are recognized on Windows: @code{latin}, @code{greek}, | 943 | The following scripts are recognized on Windows: @code{latin}, @code{greek}, |
| 944 | @code{coptic}, @code{cyrillic}, @code{armenian}, @code{hebrew}, @code{arabic}, | 944 | @code{coptic}, @code{cyrillic}, @code{armenian}, @code{hebrew}, @code{arabic}, |
diff --git a/doc/emacs/windows.texi b/doc/emacs/windows.texi index ad2040c9047..c44b67454a2 100644 --- a/doc/emacs/windows.texi +++ b/doc/emacs/windows.texi | |||
| @@ -34,11 +34,11 @@ has its own value of point. | |||
| 34 | 34 | ||
| 35 | @cindex selected window | 35 | @cindex selected window |
| 36 | At any time, one Emacs window is the @dfn{selected window}; the | 36 | At any time, one Emacs window is the @dfn{selected window}; the |
| 37 | buffer this window is displaying is the current buffer. Each window | 37 | buffer this window is displaying is the current buffer. On graphical |
| 38 | has its own value of point. On graphical displays, the point is | 38 | displays, the point is indicated by a solid blinking cursor in the |
| 39 | indicated by a solid blinking cursor in the selected window, and by a | 39 | selected window, and by a hollow box in non-selected windows. On |
| 40 | hollow box in non-selected windows. On text-only terminals, the | 40 | text-only terminals, the cursor is drawn only in the selected window. |
| 41 | cursor is drawn only in the selected window. @xref{Cursor Display}. | 41 | @xref{Cursor Display}. |
| 42 | 42 | ||
| 43 | Commands to move point affect the value of point for the selected | 43 | Commands to move point affect the value of point for the selected |
| 44 | Emacs window only. They do not change the value of point in other | 44 | Emacs window only. They do not change the value of point in other |
diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi index ef04626e95f..244d95d6937 100644 --- a/doc/lispintro/emacs-lisp-intro.texi +++ b/doc/lispintro/emacs-lisp-intro.texi | |||
| @@ -887,7 +887,7 @@ but in this case, it is best to treat it as a novel or as a travel guide | |||
| 887 | to a country not yet visited: interesting, but not the same as being | 887 | to a country not yet visited: interesting, but not the same as being |
| 888 | there. | 888 | there. |
| 889 | 889 | ||
| 890 | Much of this introduction is dedicated to walk-throughs or guided tours | 890 | Much of this introduction is dedicated to walkthroughs or guided tours |
| 891 | of code used in GNU Emacs. These tours are designed for two purposes: | 891 | of code used in GNU Emacs. These tours are designed for two purposes: |
| 892 | first, to give you familiarity with real, working code (code you use | 892 | first, to give you familiarity with real, working code (code you use |
| 893 | every day); and, second, to give you familiarity with the way Emacs | 893 | every day); and, second, to give you familiarity with the way Emacs |
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 0fa50492481..293f253c545 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog | |||
| @@ -1,3 +1,43 @@ | |||
| 1 | 2011-11-21 Martin Rudalics <rudalics@gmx.at> | ||
| 2 | |||
| 3 | * windows.texi (Windows and Frames, Splitting Windows): Fix | ||
| 4 | typos. | ||
| 5 | |||
| 6 | 2011-11-21 Chong Yidong <cyd@gnu.org> | ||
| 7 | |||
| 8 | * windows.texi (Splitting Windows): Fix error in documentation of | ||
| 9 | window-combination-limit. | ||
| 10 | (Cyclic Window Ordering): Minor fixes to next-window, | ||
| 11 | one-window-p, and get-lru-window docs. Don't document | ||
| 12 | window-list-1. | ||
| 13 | (Buffers and Windows): Copyedits. | ||
| 14 | (Choosing Window): Document special handling of special-display-*. | ||
| 15 | (Choosing Window Options): Fix display-buffer-reuse-frames doc. | ||
| 16 | Don't document even-window-heights, which is going away. Clarify | ||
| 17 | which options are obeyed by which action functions. | ||
| 18 | |||
| 19 | 2011-11-20 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 20 | |||
| 21 | * display.texi (Invisible Text): Clarify point adjustment (bug#10072). | ||
| 22 | |||
| 23 | 2011-11-20 Martin Rudalics <rudalics@gmx.at> | ||
| 24 | |||
| 25 | * windows.texi (Resizing Windows, Splitting Windows): | ||
| 26 | Remove term "status" when talking about combination limits. | ||
| 27 | |||
| 28 | 2011-11-20 Juanma Barranquero <lekktu@gmail.com> | ||
| 29 | |||
| 30 | * compile.texi (Compiler Errors): | ||
| 31 | * help.texi (Help Functions): Fix typos. | ||
| 32 | |||
| 33 | 2011-11-19 Chong Yidong <cyd@gnu.org> | ||
| 34 | |||
| 35 | * windows.texi (Splitting Windows): Clarify role of window | ||
| 36 | parameters in split-window. Shorten the example. | ||
| 37 | (Deleting Windows): Rewrite intro to handle internal windows. | ||
| 38 | Fix delete-windows-on doc. | ||
| 39 | (Selecting Windows): Copyedits. | ||
| 40 | |||
| 1 | 2011-11-17 Martin Rudalics <rudalics@gmx.at> | 41 | 2011-11-17 Martin Rudalics <rudalics@gmx.at> |
| 2 | 42 | ||
| 3 | * windows.texi (Resizing Windows, Splitting Windows) | 43 | * windows.texi (Resizing Windows, Splitting Windows) |
| @@ -6,8 +46,8 @@ | |||
| 6 | 46 | ||
| 7 | 2011-11-16 Martin Rudalics <rudalics@gmx.at> | 47 | 2011-11-16 Martin Rudalics <rudalics@gmx.at> |
| 8 | 48 | ||
| 9 | * windows.texi (Resizing Windows, Splitting Windows): Rename | 49 | * windows.texi (Resizing Windows, Splitting Windows): |
| 10 | occurrences of window-nest to window-combination-limit. | 50 | Rename occurrences of window-nest to window-combination-limit. |
| 11 | 51 | ||
| 12 | 2011-11-14 Juanma Barranquero <lekktu@gmail.com> | 52 | 2011-11-14 Juanma Barranquero <lekktu@gmail.com> |
| 13 | 53 | ||
| @@ -15,8 +55,8 @@ | |||
| 15 | 55 | ||
| 16 | 2011-11-12 Martin Rudalics <rudalics@gmx.at> | 56 | 2011-11-12 Martin Rudalics <rudalics@gmx.at> |
| 17 | 57 | ||
| 18 | * windows.texi (Splitting Windows, Deleting Windows): Remove | 58 | * windows.texi (Splitting Windows, Deleting Windows): |
| 19 | references to splits status of windows. | 59 | Remove references to splits status of windows. |
| 20 | 60 | ||
| 21 | 2011-11-10 Glenn Morris <rgm@gnu.org> | 61 | 2011-11-10 Glenn Morris <rgm@gnu.org> |
| 22 | 62 | ||
| @@ -68,8 +108,8 @@ | |||
| 68 | (Windows and Frames): Various clarifications, e.g. non-live | 108 | (Windows and Frames): Various clarifications, e.g. non-live |
| 69 | windows also belong to frames. Fix window-list description. | 109 | windows also belong to frames. Fix window-list description. |
| 70 | Simplify window nesting example. | 110 | Simplify window nesting example. |
| 71 | (Splitting Windows, Window Configurations): Use | 111 | (Splitting Windows, Window Configurations): |
| 72 | split-window-below. | 112 | Use split-window-below. |
| 73 | 113 | ||
| 74 | 2011-11-04 Eli Zaretskii <eliz@gnu.org> | 114 | 2011-11-04 Eli Zaretskii <eliz@gnu.org> |
| 75 | 115 | ||
| @@ -119,8 +159,8 @@ | |||
| 119 | 159 | ||
| 120 | 2011-10-05 Chong Yidong <cyd@stupidchicken.com> | 160 | 2011-10-05 Chong Yidong <cyd@stupidchicken.com> |
| 121 | 161 | ||
| 122 | * display.texi (Low-Level Font, Face Attributes, Font Lookup): Fix | 162 | * display.texi (Low-Level Font, Face Attributes, Font Lookup): |
| 123 | Emacs manual xref (Bug#9675). | 163 | Fix Emacs manual xref (Bug#9675). |
| 124 | 164 | ||
| 125 | 2011-10-01 Chong Yidong <cyd@stupidchicken.com> | 165 | 2011-10-01 Chong Yidong <cyd@stupidchicken.com> |
| 126 | 166 | ||
| @@ -159,8 +199,8 @@ | |||
| 159 | * windows.texi (Window History): New node. Move text here from | 199 | * windows.texi (Window History): New node. Move text here from |
| 160 | Buffers and Windows. | 200 | Buffers and Windows. |
| 161 | (Switching Buffers): Rename from Displaying Buffers, since we | 201 | (Switching Buffers): Rename from Displaying Buffers, since we |
| 162 | don't document display-buffer here; callers changed. Document | 202 | don't document display-buffer here; callers changed. |
| 163 | FORCE-SAME-WINDOW arg to switch-to-buffer and | 203 | Document FORCE-SAME-WINDOW arg to switch-to-buffer and |
| 164 | switch-to-buffer-other-frame. Delete duplicate | 204 | switch-to-buffer-other-frame. Delete duplicate |
| 165 | replace-buffer-in-windows doc. | 205 | replace-buffer-in-windows doc. |
| 166 | (Choosing Window): Document display actions. | 206 | (Choosing Window): Document display actions. |
| @@ -191,10 +231,10 @@ | |||
| 191 | Provide examples. Describe window-nest and window-splits | 231 | Provide examples. Describe window-nest and window-splits |
| 192 | options. | 232 | options. |
| 193 | (Deleting Windows): Minor rewrite. | 233 | (Deleting Windows): Minor rewrite. |
| 194 | (Selecting Windows): Minor rewrite. Describe | 234 | (Selecting Windows): Minor rewrite. |
| 195 | frame-selected-window and set-frame-selected-window here. | 235 | Describe frame-selected-window and set-frame-selected-window here. |
| 196 | (Cyclic Window Ordering): Minor rewrite. Describe | 236 | (Cyclic Window Ordering): Minor rewrite. |
| 197 | window-list-1. | 237 | Describe window-list-1. |
| 198 | (Buffers and Windows): Rewrite. Explain a window's previous and | 238 | (Buffers and Windows): Rewrite. Explain a window's previous and |
| 199 | next buffers and the corresponding functions. | 239 | next buffers and the corresponding functions. |
| 200 | (Window Tree): Merge into Windows and Frames section. | 240 | (Window Tree): Merge into Windows and Frames section. |
| @@ -296,8 +336,8 @@ | |||
| 296 | 336 | ||
| 297 | * display.texi (Bidirectional Display): Document the pitfalls of | 337 | * display.texi (Bidirectional Display): Document the pitfalls of |
| 298 | concatenating strings with bidirectional content, with possible | 338 | concatenating strings with bidirectional content, with possible |
| 299 | solutions. Document bidi-string-mark-left-to-right. Mention | 339 | solutions. Document bidi-string-mark-left-to-right. |
| 300 | paragraph direction in modes that inherit from prog-mode. | 340 | Mention paragraph direction in modes that inherit from prog-mode. |
| 301 | Document use of `bidi-class' and `mirroring' properties as part of | 341 | Document use of `bidi-class' and `mirroring' properties as part of |
| 302 | reordering. | 342 | reordering. |
| 303 | 343 | ||
| @@ -353,8 +393,8 @@ | |||
| 353 | the next character, and doesn't affect longer sequences in | 393 | the next character, and doesn't affect longer sequences in |
| 354 | particular (bug#8935). | 394 | particular (bug#8935). |
| 355 | 395 | ||
| 356 | * debugging.texi (Using Debugger): Mention | 396 | * debugging.texi (Using Debugger): |
| 357 | @code{eval-expression-debug-on-error} (bug#8549). | 397 | Mention @code{eval-expression-debug-on-error} (bug#8549). |
| 358 | 398 | ||
| 359 | 2011-07-14 Eli Zaretskii <eliz@gnu.org> | 399 | 2011-07-14 Eli Zaretskii <eliz@gnu.org> |
| 360 | 400 | ||
| @@ -503,7 +543,7 @@ | |||
| 503 | 543 | ||
| 504 | 2011-06-15 Lars Magne Ingebrigtsen <larsi@gnus.org> | 544 | 2011-06-15 Lars Magne Ingebrigtsen <larsi@gnus.org> |
| 505 | 545 | ||
| 506 | * processes.texi (Process Information): Renamed `process-alive-p' | 546 | * processes.texi (Process Information): Rename `process-alive-p' |
| 507 | to `process-live-p' for consistency with other `-live-p' functions. | 547 | to `process-live-p' for consistency with other `-live-p' functions. |
| 508 | 548 | ||
| 509 | 2011-06-03 Paul Eggert <eggert@cs.ucla.edu> | 549 | 2011-06-03 Paul Eggert <eggert@cs.ucla.edu> |
| @@ -520,8 +560,8 @@ | |||
| 520 | 560 | ||
| 521 | 2011-05-31 Lars Magne Ingebrigtsen <larsi@gnus.org> | 561 | 2011-05-31 Lars Magne Ingebrigtsen <larsi@gnus.org> |
| 522 | 562 | ||
| 523 | * processes.texi (Process Information): Document | 563 | * processes.texi (Process Information): |
| 524 | `process-alive-p'. | 564 | Document `process-alive-p'. |
| 525 | 565 | ||
| 526 | 2011-05-29 Chong Yidong <cyd@stupidchicken.com> | 566 | 2011-05-29 Chong Yidong <cyd@stupidchicken.com> |
| 527 | 567 | ||
| @@ -1919,8 +1959,8 @@ | |||
| 1919 | 1959 | ||
| 1920 | 2009-05-09 Eli Zaretskii <eliz@gnu.org> | 1960 | 2009-05-09 Eli Zaretskii <eliz@gnu.org> |
| 1921 | 1961 | ||
| 1922 | * nonascii.texi (Default Coding Systems): Document | 1962 | * nonascii.texi (Default Coding Systems): |
| 1923 | find-auto-coding, set-auto-coding, and auto-coding-alist. | 1963 | Document find-auto-coding, set-auto-coding, and auto-coding-alist. |
| 1924 | Add indexing. | 1964 | Add indexing. |
| 1925 | (Lisp and Coding Systems): Add index entries. | 1965 | (Lisp and Coding Systems): Add index entries. |
| 1926 | 1966 | ||
| @@ -2237,7 +2277,7 @@ | |||
| 2237 | (Future Local Variables): Node deleted. | 2277 | (Future Local Variables): Node deleted. |
| 2238 | 2278 | ||
| 2239 | * objects.texi (General Escape Syntax): Update explanation of | 2279 | * objects.texi (General Escape Syntax): Update explanation of |
| 2240 | unicode escape syntax. | 2280 | Unicode escape syntax. |
| 2241 | 2281 | ||
| 2242 | 2009-02-23 Chong Yidong <cyd@stupidchicken.com> | 2282 | 2009-02-23 Chong Yidong <cyd@stupidchicken.com> |
| 2243 | 2283 | ||
| @@ -5151,8 +5191,8 @@ | |||
| 5151 | (Saving Buffers): Mention code and EOL conversions by file I/O | 5191 | (Saving Buffers): Mention code and EOL conversions by file I/O |
| 5152 | primitives and subroutines. | 5192 | primitives and subroutines. |
| 5153 | 5193 | ||
| 5154 | * nonascii.texi (Lisp and Coding Systems): Document | 5194 | * nonascii.texi (Lisp and Coding Systems): |
| 5155 | coding-system-eol-type. Add index entries for eol conversion. | 5195 | Document coding-system-eol-type. Add index entries for eol conversion. |
| 5156 | 5196 | ||
| 5157 | * display.texi (Defining Faces): Mention `mac', and add an xref to | 5197 | * display.texi (Defining Faces): Mention `mac', and add an xref to |
| 5158 | where window-system is described. | 5198 | where window-system is described. |
| @@ -9102,7 +9142,7 @@ | |||
| 9102 | 9142 | ||
| 9103 | * functions.texi (Defining Functions): Explain about redefining | 9143 | * functions.texi (Defining Functions): Explain about redefining |
| 9104 | primitives. | 9144 | primitives. |
| 9105 | (Function Safety): Renamed. Minor changes. | 9145 | (Function Safety): Rename. Minor changes. |
| 9106 | Comment out the detailed criteria for what is safe. | 9146 | Comment out the detailed criteria for what is safe. |
| 9107 | 9147 | ||
| 9108 | 2003-06-22 Andreas Schwab <schwab@suse.de> | 9148 | 2003-06-22 Andreas Schwab <schwab@suse.de> |
| @@ -9603,7 +9643,7 @@ | |||
| 9603 | 9643 | ||
| 9604 | * Makefile (infodir, prefix): New vars. | 9644 | * Makefile (infodir, prefix): New vars. |
| 9605 | (install): Use infodir. | 9645 | (install): Use infodir. |
| 9606 | (emacsinfodir): Deleted. | 9646 | (emacsinfodir): Delete. |
| 9607 | 9647 | ||
| 9608 | 1993-05-27 Richard Stallman (rms@mole.gnu.ai.mit.edu) | 9648 | 1993-05-27 Richard Stallman (rms@mole.gnu.ai.mit.edu) |
| 9609 | 9649 | ||
| @@ -9614,7 +9654,7 @@ | |||
| 9614 | 9654 | ||
| 9615 | 1993-05-16 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) | 9655 | 1993-05-16 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) |
| 9616 | 9656 | ||
| 9617 | * Makefile (dist): Changed to use Gzip instead of compress. | 9657 | * Makefile (dist): Change to use Gzip instead of compress. |
| 9618 | 9658 | ||
| 9619 | 1993-04-23 Eric S. Raymond (eric@mole.gnu.ai.mit.edu) | 9659 | 1993-04-23 Eric S. Raymond (eric@mole.gnu.ai.mit.edu) |
| 9620 | 9660 | ||
diff --git a/doc/lispref/compile.texi b/doc/lispref/compile.texi index fe5563370c4..372c041ab7a 100644 --- a/doc/lispref/compile.texi +++ b/doc/lispref/compile.texi | |||
| @@ -528,7 +528,7 @@ but the compiler does not issue warnings for anything that occurs | |||
| 528 | inside @var{body}. | 528 | inside @var{body}. |
| 529 | 529 | ||
| 530 | We recommend that you use this construct around the smallest | 530 | We recommend that you use this construct around the smallest |
| 531 | possible piece of code, to avoid missing possible warnings other than one | 531 | possible piece of code, to avoid missing possible warnings other than |
| 532 | one you intend to suppress. | 532 | one you intend to suppress. |
| 533 | @end defspec | 533 | @end defspec |
| 534 | 534 | ||
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 034d92f78c3..9849420b1f5 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi | |||
| @@ -870,15 +870,21 @@ ignore invisible newlines if @code{line-move-ignore-invisible} is | |||
| 870 | non-@code{nil} (the default), but only because they are explicitly | 870 | non-@code{nil} (the default), but only because they are explicitly |
| 871 | programmed to do so. | 871 | programmed to do so. |
| 872 | 872 | ||
| 873 | However, if a command ends with point inside or immediately before | 873 | However, if a command ends with point inside or at the boundary of invisible |
| 874 | invisible text, the main editing loop moves point further forward or | 874 | text, the main editing loop moves point to one of the two ends of the invisible |
| 875 | further backward (in the same direction that the command already moved | 875 | text. Which end to move to is chosen based on the following factors: make sure |
| 876 | it) until that condition is no longer true. Thus, if the command | 876 | that the overall movement of the command is still in the same direction, and |
| 877 | moved point back into an invisible range, Emacs moves point back to | 877 | prefer a position where an inserted char would not inherit the @code{invisible} |
| 878 | the beginning of that range, and then back one more character. If the | 878 | property. Additionally, if the text is not replaced by an ellipsis and the |
| 879 | command moved point forward into an invisible range, Emacs moves point | 879 | command only moved within the invisible text, then point is moved one extra |
| 880 | forward up to the first visible character that follows the invisible | 880 | character so as to try and reflect the command's movement by a visible movement |
| 881 | text. | 881 | of the cursor. |
| 882 | |||
| 883 | Thus, if the command moved point back to an invisible range (with the usual | ||
| 884 | stickiness), Emacs moves point back to the beginning of that range. If the | ||
| 885 | command moved point forward into an invisible range, Emacs moves point forward | ||
| 886 | to the first visible character that follows the invisible text and then forward | ||
| 887 | one more character. | ||
| 882 | 888 | ||
| 883 | Incremental search can make invisible overlays visible temporarily | 889 | Incremental search can make invisible overlays visible temporarily |
| 884 | and/or permanently when a match includes invisible text. To enable | 890 | and/or permanently when a match includes invisible text. To enable |
| @@ -4546,7 +4552,7 @@ you may prefer to use a different one for a given image type (which | |||
| 4546 | @c FIXME how is this priority determined? | 4552 | @c FIXME how is this priority determined? |
| 4547 | loader will be used in practice depends on the priority of the loaders). | 4553 | loader will be used in practice depends on the priority of the loaders). |
| 4548 | @c FIXME why are these uppercase when image-types is lower-case? | 4554 | @c FIXME why are these uppercase when image-types is lower-case? |
| 4549 | @c FIXME what are the possibe options? Are these actually file extensions? | 4555 | @c FIXME what are the possible options? Are these actually file extensions? |
| 4550 | For example, if you never want to use the ImageMagick loader to use | 4556 | For example, if you never want to use the ImageMagick loader to use |
| 4551 | JPEG files, add @code{JPG} to this list. | 4557 | JPEG files, add @code{JPG} to this list. |
| 4552 | 4558 | ||
diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi index d2e86a77112..dad1f28026e 100644 --- a/doc/lispref/frames.texi +++ b/doc/lispref/frames.texi | |||
| @@ -953,7 +953,7 @@ variable, Emacs uses the latter. By default, | |||
| 953 | The @code{alpha} frame parameter can also be a cons cell | 953 | The @code{alpha} frame parameter can also be a cons cell |
| 954 | @code{(@samp{active} . @samp{inactive})}, where @samp{active} is the | 954 | @code{(@samp{active} . @samp{inactive})}, where @samp{active} is the |
| 955 | opacity of the frame when it is selected, and @samp{inactive} is the | 955 | opacity of the frame when it is selected, and @samp{inactive} is the |
| 956 | opactity when it is not selected. | 956 | opacity when it is not selected. |
| 957 | @end table | 957 | @end table |
| 958 | 958 | ||
| 959 | The following frame parameters are semi-obsolete in that they are | 959 | The following frame parameters are semi-obsolete in that they are |
diff --git a/doc/lispref/help.texi b/doc/lispref/help.texi index 0ce05d55a07..3426e81cdb3 100644 --- a/doc/lispref/help.texi +++ b/doc/lispref/help.texi | |||
| @@ -653,7 +653,7 @@ buffer, which is used to regenerate the help information when the user | |||
| 653 | clicks on the @samp{Back} or @samp{Forward} buttons. Most commands | 653 | clicks on the @samp{Back} or @samp{Forward} buttons. Most commands |
| 654 | that use the @samp{*Help*} buffer should invoke this function before | 654 | that use the @samp{*Help*} buffer should invoke this function before |
| 655 | clearing the buffer. The @var{item} argument should have the form | 655 | clearing the buffer. The @var{item} argument should have the form |
| 656 | @code{(@var{funtion} . @var{args})}, where @var{funtion} is a function | 656 | @code{(@var{function} . @var{args})}, where @var{function} is a function |
| 657 | to call, with argument list @var{args}, to regenerate the help buffer. | 657 | to call, with argument list @var{args}, to regenerate the help buffer. |
| 658 | The @var{interactive-p} argument is non-@code{nil} if the calling | 658 | The @var{interactive-p} argument is non-@code{nil} if the calling |
| 659 | command was invoked interactively; in that case, the stack of items | 659 | command was invoked interactively; in that case, the stack of items |
diff --git a/doc/lispref/searching.texi b/doc/lispref/searching.texi index fe7c805c6f7..a601ed0c2c0 100644 --- a/doc/lispref/searching.texi +++ b/doc/lispref/searching.texi | |||
| @@ -1213,7 +1213,7 @@ match data around it, to prevent it from being overwritten. | |||
| 1213 | 1213 | ||
| 1214 | Notice that all functions are allowed to overwrite the match data | 1214 | Notice that all functions are allowed to overwrite the match data |
| 1215 | unless they're explicitly documented not to do so. A consequence is | 1215 | unless they're explicitly documented not to do so. A consequence is |
| 1216 | that functions that are run implictly in the background | 1216 | that functions that are run implicitly in the background |
| 1217 | (@pxref{Timers}, and @ref{Idle Timers}) should likely save and restore | 1217 | (@pxref{Timers}, and @ref{Idle Timers}) should likely save and restore |
| 1218 | the match data explicitly. | 1218 | the match data explicitly. |
| 1219 | 1219 | ||
diff --git a/doc/lispref/spellfile b/doc/lispref/spellfile index e66dcc88f71..5c0a6d0f5ea 100644 --- a/doc/lispref/spellfile +++ b/doc/lispref/spellfile | |||
| @@ -376,7 +376,6 @@ inserting' | |||
| 376 | integerp | 376 | integerp |
| 377 | intermixed | 377 | intermixed |
| 378 | ints | 378 | ints |
| 379 | inturned | ||
| 380 | irreversibly | 379 | irreversibly |
| 381 | jum | 380 | jum |
| 382 | keymapp | 381 | keymapp |
| @@ -530,7 +529,6 @@ pointer' | |||
| 530 | pointm | 529 | pointm |
| 531 | pos | 530 | pos |
| 532 | preallocate | 531 | preallocate |
| 533 | predicale | ||
| 534 | preload | 532 | preload |
| 535 | prepend | 533 | prepend |
| 536 | prepended | 534 | prepended |
| @@ -641,7 +639,7 @@ suspension' | |||
| 641 | symbolp | 639 | symbolp |
| 642 | symlink | 640 | symlink |
| 643 | syms | 641 | syms |
| 644 | syntatic | 642 | syntactic |
| 645 | tabname | 643 | tabname |
| 646 | temacs | 644 | temacs |
| 647 | temporarily' | 645 | temporarily' |
diff --git a/doc/lispref/windows.texi b/doc/lispref/windows.texi index 8c99a06909b..bb1b0524689 100644 --- a/doc/lispref/windows.texi +++ b/doc/lispref/windows.texi | |||
| @@ -110,6 +110,7 @@ including for the case where @var{object} is a deleted window. | |||
| 110 | @end defun | 110 | @end defun |
| 111 | 111 | ||
| 112 | @cindex selected window | 112 | @cindex selected window |
| 113 | @cindex window selected within a frame | ||
| 113 | In each frame, at any time, exactly one Emacs window is designated | 114 | In each frame, at any time, exactly one Emacs window is designated |
| 114 | as @dfn{selected within the frame}. For the selected frame, that | 115 | as @dfn{selected within the frame}. For the selected frame, that |
| 115 | window is called the @dfn{selected window}---the one in which most | 116 | window is called the @dfn{selected window}---the one in which most |
| @@ -148,10 +149,10 @@ the minibuffer window in the returned list. If @var{minibuffer} is | |||
| 148 | active. If @var{minibuffer} is neither @code{nil} nor @code{t}, the | 149 | active. If @var{minibuffer} is neither @code{nil} nor @code{t}, the |
| 149 | minibuffer window is never included. | 150 | minibuffer window is never included. |
| 150 | 151 | ||
| 151 | The optional argument @var{window}, if non-@code{nil}, should be a | 152 | The optional argument @var{window}, if non-@code{nil}, should be a live |
| 152 | live window on the specified frame; then @var{window} will be the | 153 | window on the specified frame; then @var{window} will be the first |
| 153 | first element in the returned list. If @var{window} is omitted or | 154 | element in the returned list. If @var{window} is omitted or @code{nil}, |
| 154 | @code{nil}, the window selected within the frame is first element. | 155 | the window selected within the frame is the first element. |
| 155 | @end defun | 156 | @end defun |
| 156 | 157 | ||
| 157 | @cindex window tree | 158 | @cindex window tree |
| @@ -634,9 +635,9 @@ function @code{window-resizable} above. | |||
| 634 | 635 | ||
| 635 | The choice of which window edges this function alters depends on the | 636 | The choice of which window edges this function alters depends on the |
| 636 | values of the option @code{window-combination-resize} and the | 637 | values of the option @code{window-combination-resize} and the |
| 637 | combination-limit status of the involved windows; in some cases, it may | 638 | combination limits of the involved windows; in some cases, it may alter |
| 638 | alter both edges. @xref{Splitting Windows}. To resize by moving only | 639 | both edges. @xref{Splitting Windows}. To resize by moving only the |
| 639 | the bottom or right edge of a window, use the function | 640 | bottom or right edge of a window, use the function |
| 640 | @code{adjust-window-trailing-edge}, below. | 641 | @code{adjust-window-trailing-edge}, below. |
| 641 | @end defun | 642 | @end defun |
| 642 | 643 | ||
| @@ -774,22 +775,24 @@ properties from it, including margins and scroll bars. If | |||
| 774 | @var{window} is an internal window, the new window inherits the | 775 | @var{window} is an internal window, the new window inherits the |
| 775 | properties of the window selected within @var{window}'s frame. | 776 | properties of the window selected within @var{window}'s frame. |
| 776 | 777 | ||
| 777 | If the variable @code{ignore-window-parameters} is non-@code{nil} | 778 | The behavior of this function may be altered by the window parameters |
| 778 | (@pxref{Window Parameters}), this function ignores window parameters. | 779 | of @var{window}, so long as the variable |
| 779 | Otherwise, it consults the @code{split-window} parameter of | 780 | @code{ignore-window-parameters} is non-@code{nil}. If the value of |
| 780 | @var{window}; if this is @code{t}, it splits the window disregarding | 781 | the @code{split-window} window parameter is @code{t}, this function |
| 781 | any other window parameters. If the @code{split-window} parameter | 782 | ignores all other window parameters. Otherwise, if the value of the |
| 782 | specifies a function, that function is called with the arguments | 783 | @code{split-window} window parameter is a function, that function is |
| 783 | @var{window}, @var{size}, and @var{side} to split @var{window}, in | 784 | called with the arguments @var{window}, @var{size}, and @var{side}, in |
| 784 | lieu of the usual action of @code{split-window}. | 785 | lieu of the usual action of @code{split-window}. Otherwise, this |
| 786 | function obeys the @code{window-atom} or @code{window-side} window | ||
| 787 | parameter, if any. @xref{Window Parameters}. | ||
| 785 | @end deffn | 788 | @end deffn |
| 786 | 789 | ||
| 787 | As an example, we show a combination of @code{split-window} calls | 790 | As an example, here is a sequence of @code{split-window} calls that |
| 788 | that yields the window configuration discussed in @ref{Windows and | 791 | yields the window configuration discussed in @ref{Windows and Frames}. |
| 789 | Frames}. This example demonstrates splitting a live window as well as | 792 | This example demonstrates splitting a live window as well as splitting |
| 790 | splitting an internal window. We begin with a frame containing a | 793 | an internal window. We begin with a frame containing a single window |
| 791 | single window (a live root window), which we denote by @var{W4}. | 794 | (a live root window), which we denote by @var{W4}. Calling |
| 792 | Calling @code{(split-window W3)} yields this window configuration: | 795 | @code{(split-window W4)} yields this window configuration: |
| 793 | 796 | ||
| 794 | @smallexample | 797 | @smallexample |
| 795 | @group | 798 | @group |
| @@ -841,9 +844,6 @@ A new live window @var{W2} is created, to the left of the internal | |||
| 841 | window @var{W3}. A new internal window @var{W1} is created, becoming | 844 | window @var{W3}. A new internal window @var{W1} is created, becoming |
| 842 | the new root window. | 845 | the new root window. |
| 843 | 846 | ||
| 844 | The following two options can be used to modify the operation of | ||
| 845 | @code{split-window}. | ||
| 846 | |||
| 847 | @defopt window-combination-resize | 847 | @defopt window-combination-resize |
| 848 | If this variable is @code{nil}, @code{split-window} can only split a | 848 | If this variable is @code{nil}, @code{split-window} can only split a |
| 849 | window (denoted by @var{window}) if @var{window}'s screen area is | 849 | window (denoted by @var{window}) if @var{window}'s screen area is |
| @@ -854,18 +854,17 @@ If this variable is non-@code{nil}, @code{split-window} tries to | |||
| 854 | resize all windows that are part of the same combination as | 854 | resize all windows that are part of the same combination as |
| 855 | @var{window}, in order to accommodate the new window. In particular, | 855 | @var{window}, in order to accommodate the new window. In particular, |
| 856 | this may allow @code{split-window} to succeed even if @var{window} is | 856 | this may allow @code{split-window} to succeed even if @var{window} is |
| 857 | a fixed-size window or too small to ordinarily split. | 857 | a fixed-size window or too small to ordinarily split. Furthermore, |
| 858 | 858 | subsequently resizing or deleting @var{window} may resize all other | |
| 859 | Also if this variable is non-@code{nil}, subsequent resizing and | 859 | windows in its combination. |
| 860 | deleting @var{window} will usually affect @emph{all} windows in | ||
| 861 | @var{window}'s combination. | ||
| 862 | 860 | ||
| 863 | The setting of this variable has no effect if | 861 | This variable has no effect if @code{window-combination-limit} is |
| 864 | @code{window-combination-limit} (see below) is non-@code{nil}. | 862 | non-@code{nil} (see below). |
| 865 | @end defopt | 863 | @end defopt |
| 866 | 864 | ||
| 867 | To illustrate the use of @code{window-combination-resize} consider the | 865 | To illustrate the effect of @code{window-combination-resize}, |
| 868 | following window configuration: | 866 | consider the following window configuration: |
| 867 | |||
| 869 | @smallexample | 868 | @smallexample |
| 870 | @group | 869 | @group |
| 871 | ______________________________________ | 870 | ______________________________________ |
| @@ -886,9 +885,10 @@ following window configuration: | |||
| 886 | @end group | 885 | @end group |
| 887 | @end smallexample | 886 | @end smallexample |
| 888 | 887 | ||
| 889 | Splitting window @code{W3} with @code{window-combination-resize} | 888 | @noindent |
| 890 | @code{nil} produces a configuration where the size of @code{W2} remains | 889 | If @code{window-combination-resize} is @code{nil}, splitting window |
| 891 | unchanged: | 890 | @code{W3} leaves the size of @code{W2} unchanged: |
| 891 | |||
| 892 | @smallexample | 892 | @smallexample |
| 893 | @group | 893 | @group |
| 894 | ______________________________________ | 894 | ______________________________________ |
| @@ -909,8 +909,11 @@ unchanged: | |||
| 909 | @end group | 909 | @end group |
| 910 | @end smallexample | 910 | @end smallexample |
| 911 | 911 | ||
| 912 | Splitting @code{W3} with @code{window-combination-resize} non-@code{nil} | 912 | @noindent |
| 913 | instead steals the space for @code{W4} from both @code{W2} and @code{W3}: | 913 | If @code{window-combination-resize} is non-@code{nil}, splitting |
| 914 | @code{W3} instead leaves all three live windows with approximately the | ||
| 915 | same height: | ||
| 916 | |||
| 914 | @smallexample | 917 | @smallexample |
| 915 | @group | 918 | @group |
| 916 | ______________________________________ | 919 | ______________________________________ |
| @@ -932,53 +935,51 @@ instead steals the space for @code{W4} from both @code{W2} and @code{W3}: | |||
| 932 | @end smallexample | 935 | @end smallexample |
| 933 | 936 | ||
| 934 | @defopt window-combination-limit | 937 | @defopt window-combination-limit |
| 935 | If this variable is @code{nil}, @code{split-window} creates a new parent | 938 | If the value of this variable is @code{t}, the @code{split-window} |
| 936 | window if and only if the old window has no parent window or shall be | 939 | function always creates a new internal window. If the value is |
| 937 | split orthogonally to the combination it is part of. If this variable | 940 | @code{nil}, the new live window is allowed to share the existing |
| 938 | is @code{t}, @code{split-window} always creates a new parent window. If | 941 | parent window, if one exists, provided the split occurs in the same |
| 939 | this variable is always @code{t}, a frame's window tree is a binary tree | 942 | direction as the existing window combination (otherwise, a new |
| 940 | so every window but the frame's root window has exactly one sibling. | 943 | internal window is created anyway). The default is @code{nil}. Other |
| 941 | Other values are reserved for future use. | 944 | values are reserved for future use. |
| 942 | 945 | ||
| 943 | The value of this variable is also assigned to the combination-limit | 946 | Thus, if the value is always @code{t}, each window tree is a binary |
| 944 | status of the new parent window. The combination-limit status of any | 947 | tree: each window except the root window has exactly one sibling. |
| 945 | window can be retrieved via the function @code{window-combination-limit} | 948 | |
| 946 | and altered by the function @code{set-window-combination-limit}, see | 949 | Furthermore, @code{split-window} calls |
| 947 | below. | 950 | @code{set-window-combination-limit} on the newly-created internal |
| 951 | window, recording the current value of this variable. This affects | ||
| 952 | how the window tree is rearranged when the child windows are deleted | ||
| 953 | (see below). | ||
| 948 | @end defopt | 954 | @end defopt |
| 949 | 955 | ||
| 950 | @defun window-combination-limit &optional window | 956 | @cindex window combination limit |
| 951 | This function returns the combination-limit status of @var{window}. The | 957 | @defun set-window-combination-limit window limit |
| 952 | argument @var{window} can be any window and defaults to the selected | 958 | This functions sets the @dfn{combination limit} of the window |
| 953 | one. Note, however, that the combination-limit status is currently | 959 | @var{window} to @var{limit}. This value can be retrieved via the |
| 954 | meaningful for internal windows only. | 960 | function @code{window-combination-limit}. See below for its effects; |
| 955 | 961 | note that it is only meaningful for internal windows. The | |
| 956 | @cindex combination-limit status | 962 | @code{split-window} function automatically calls this function, passing |
| 957 | The @dfn{combination-limit status} of a window specifies whether that | 963 | the value of the variable @code{window-combination-limit} as |
| 958 | window may be removed and its child windows recombined with that | 964 | @var{limit}. |
| 959 | window's siblings when such a sibling's child window is deleted. The | 965 | @end defun |
| 960 | combination-limit status is initially assigned by @code{split-window} | 966 | |
| 961 | from the current value of the variable @code{window-combination-limit} | 967 | @defun window-combination-limit window |
| 962 | (see above) and can be reset by the function | 968 | This function returns the combination limit for @var{window}. |
| 963 | @code{set-window-combination-limit} (see below). | 969 | |
| 964 | 970 | The combination limit is meaningful only for an internal window. If | |
| 965 | If the return value is @code{nil}, child windows of @var{window} may be | 971 | it is @code{nil}, then Emacs is allowed to automatically delete |
| 966 | recombined with @var{window}'s siblings when a window gets deleted. A | 972 | @var{window}, in response to a window deletion, in order to group the |
| 967 | return value of @code{nil} means that child windows of @var{window} are | 973 | child windows of @var{window} with its sibling windows to form a new |
| 968 | never (re-)combined with @var{window}'s siblings in such a case. | 974 | window combination. If the combination limit is @code{t}, the child |
| 969 | @end defun | 975 | windows of @var{window} are never automatically re-combined with its |
| 970 | 976 | siblings. | |
| 971 | @defun set-window-combination-limit window &optional status | 977 | @end defun |
| 972 | This functions sets the combination-limit status (see above) of | 978 | |
| 973 | @var{window} to @var{status}. The argument @var{window} can be any | 979 | To illustrate the effect of @code{window-combination-limit}, |
| 974 | window and defaults to the selected one. Note that setting the | 980 | consider the following configuration (throughout this example, we will |
| 975 | combination-limit status is meaningful for internal windows only. The | 981 | assume that @code{window-combination-resize} is @code{nil}): |
| 976 | return value is @var{status}. | 982 | |
| 977 | @end defun | ||
| 978 | |||
| 979 | To illustrate the use of @code{window-combination-limit} consider the | ||
| 980 | following configuration (throughout the following examples we shall | ||
| 981 | assume that @code{window-combination-resize} invariantly is @code{nil}). | ||
| 982 | @smallexample | 983 | @smallexample |
| 983 | @group | 984 | @group |
| 984 | ______________________________________ | 985 | ______________________________________ |
| @@ -999,31 +1000,10 @@ assume that @code{window-combination-resize} invariantly is @code{nil}). | |||
| 999 | @end group | 1000 | @end group |
| 1000 | @end smallexample | 1001 | @end smallexample |
| 1001 | 1002 | ||
| 1002 | Splitting @code{W2} into two windows above each other with | 1003 | @noindent |
| 1003 | @code{window-combination-limit} equal @code{nil} will get you a | 1004 | If @code{window-combination-limit} is @code{nil}, splitting @code{W2} |
| 1004 | configuration like: | 1005 | into two windows, one above the other, yields |
| 1005 | @smallexample | ||
| 1006 | @group | ||
| 1007 | ______________________________________ | ||
| 1008 | | ____________________________________ | | ||
| 1009 | || || | ||
| 1010 | || || | ||
| 1011 | ||_________________W2_________________|| | ||
| 1012 | | ____________________________________ | | ||
| 1013 | || || | ||
| 1014 | || || | ||
| 1015 | ||_________________W4_________________|| | ||
| 1016 | | ____________________________________ | | ||
| 1017 | || || | ||
| 1018 | || || | ||
| 1019 | ||_________________W3_________________|| | ||
| 1020 | |__________________W1__________________| | ||
| 1021 | |||
| 1022 | @end group | ||
| 1023 | @end smallexample | ||
| 1024 | 1006 | ||
| 1025 | If you now enlarge window @code{W4}, Emacs steals the necessary space | ||
| 1026 | from window @code{W3} resulting in a configuration like: | ||
| 1027 | @smallexample | 1007 | @smallexample |
| 1028 | @group | 1008 | @group |
| 1029 | ______________________________________ | 1009 | ______________________________________ |
| @@ -1034,43 +1014,24 @@ from window @code{W3} resulting in a configuration like: | |||
| 1034 | | ____________________________________ | | 1014 | | ____________________________________ | |
| 1035 | || || | 1015 | || || |
| 1036 | || || | 1016 | || || |
| 1037 | || || | ||
| 1038 | ||_________________W4_________________|| | 1017 | ||_________________W4_________________|| |
| 1039 | | ____________________________________ | | 1018 | | ____________________________________ | |
| 1040 | || || | 1019 | || || |
| 1020 | || || | ||
| 1041 | ||_________________W3_________________|| | 1021 | ||_________________W3_________________|| |
| 1042 | |__________________W1__________________| | 1022 | |__________________W1__________________| |
| 1043 | 1023 | ||
| 1044 | @end group | 1024 | @end group |
| 1045 | @end smallexample | 1025 | @end smallexample |
| 1046 | 1026 | ||
| 1047 | Deleting window @code{W4}, will return its space to @code{W2} as | 1027 | @noindent |
| 1048 | follows: | 1028 | The newly-created window, @code{W4}, shares the same internal window |
| 1049 | @smallexample | 1029 | @code{W1}. If @code{W4} is resized, it is allowed to resize the other |
| 1050 | @group | 1030 | live window, @code{W3}. |
| 1051 | ______________________________________ | ||
| 1052 | | ____________________________________ | | ||
| 1053 | || || | ||
| 1054 | || || | ||
| 1055 | || || | ||
| 1056 | || || | ||
| 1057 | || || | ||
| 1058 | || || | ||
| 1059 | || || | ||
| 1060 | ||_________________W2_________________|| | ||
| 1061 | | ____________________________________ | | ||
| 1062 | || || | ||
| 1063 | ||_________________W3_________________|| | ||
| 1064 | |__________________W1__________________| | ||
| 1065 | 1031 | ||
| 1066 | @end group | 1032 | If @code{window-combination-limit} is @code{t}, splitting @code{W2} |
| 1067 | @end smallexample | 1033 | in the initial configuration would instead have produced this: |
| 1068 | 1034 | ||
| 1069 | Hence, with respect to the initial configuration, window @code{W2} has | ||
| 1070 | grown at the expense of window @code{W3}. If, however, in the initial | ||
| 1071 | configuration you had split @code{W2} with | ||
| 1072 | @code{window-combination-limit} bound to @code{t}, a new internal window | ||
| 1073 | @code{W5} would have been created as depicted below. | ||
| 1074 | @smallexample | 1035 | @smallexample |
| 1075 | @group | 1036 | @group |
| 1076 | ______________________________________ | 1037 | ______________________________________ |
| @@ -1091,143 +1052,110 @@ configuration you had split @code{W2} with | |||
| 1091 | @end group | 1052 | @end group |
| 1092 | @end smallexample | 1053 | @end smallexample |
| 1093 | 1054 | ||
| 1094 | Enlarging @code{W4} would now have stolen the necessary space from | 1055 | @noindent |
| 1095 | @code{W2} instead of @code{W3} as | 1056 | A new internal window @code{W5} has been created; its children are |
| 1096 | @smallexample | 1057 | @code{W2} and the new live window @code{W4}. Now, @code{W2} is the |
| 1097 | @group | 1058 | only sibling of @code{W4}, so resizing @code{W4} will resize |
| 1098 | ______________________________________ | 1059 | @code{W2}, leaving @code{W3} unaffected. |
| 1099 | | ____________________________________ | | ||
| 1100 | || __________________________________ || | ||
| 1101 | |||________________W2________________||| | ||
| 1102 | || __________________________________ || | ||
| 1103 | ||| ||| | ||
| 1104 | ||| ||| | ||
| 1105 | |||________________W4________________||| | ||
| 1106 | ||_________________W5_________________|| | ||
| 1107 | | ____________________________________ | | ||
| 1108 | || || | ||
| 1109 | || || | ||
| 1110 | ||_________________W3_________________|| | ||
| 1111 | |__________________W1__________________| | ||
| 1112 | |||
| 1113 | @end group | ||
| 1114 | @end smallexample | ||
| 1115 | 1060 | ||
| 1116 | and the subsequent deletion of @code{W4} would have restored the initial | 1061 | For interactive use, Emacs provides two commands which always split |
| 1117 | configuration. | 1062 | the selected window. These call @code{split-window} internally. |
| 1118 | 1063 | ||
| 1119 | For interactive use, Emacs provides two commands which always split the | 1064 | @deffn Command split-window-right &optional size |
| 1120 | selected window. | 1065 | This function splits the selected window into two side-by-side |
| 1066 | windows, putting the selected window on the left. If @var{size} is | ||
| 1067 | positive, the left window gets @var{size} columns; if @var{size} is | ||
| 1068 | negative, the right window gets @minus{}@var{size} columns. | ||
| 1069 | @end deffn | ||
| 1121 | 1070 | ||
| 1122 | @deffn Command split-window-below &optional size | 1071 | @deffn Command split-window-below &optional size |
| 1123 | This function splits the selected window into two windows, one above the | 1072 | This function splits the selected window into two windows, one above |
| 1124 | other, leaving the upper of the two windows selected, with @var{size} | 1073 | the other, leaving the upper window selected. If @var{size} is |
| 1125 | lines. (If @var{size} is negative, then the lower of the two windows | 1074 | positive, the upper window gets @var{size} lines; if @var{size} is |
| 1126 | gets @minus{}@var{size} lines and the upper window gets the rest, but | 1075 | negative, the lower window gets @minus{}@var{size} lines. |
| 1127 | the upper window is still the one selected.) However, if | ||
| 1128 | @code{split-window-keep-point} (see below) is @code{nil}, then either | ||
| 1129 | window can be selected. | ||
| 1130 | |||
| 1131 | In other respects, this function is similar to @code{split-window}. | ||
| 1132 | In particular, the upper window is the original one and the return value | ||
| 1133 | is the new, lower window. | ||
| 1134 | @end deffn | 1076 | @end deffn |
| 1135 | 1077 | ||
| 1136 | @defopt split-window-keep-point | 1078 | @defopt split-window-keep-point |
| 1137 | If this variable is non-@code{nil} (the default), then | 1079 | If the value of this variable is non-@code{nil} (the default), |
| 1138 | @code{split-window-below} behaves as described above. | 1080 | @code{split-window-below} behaves as described above. |
| 1139 | 1081 | ||
| 1140 | If it is @code{nil}, then @code{split-window-below} adjusts point | 1082 | If it is @code{nil}, @code{split-window-below} adjusts point in each |
| 1141 | in each of the two windows to avoid scrolling. (This is useful on | 1083 | of the two windows to minimize redisplay. (This is useful on slow |
| 1142 | slow terminals.) It selects whichever window contains the screen line | 1084 | terminals.) It selects whichever window contains the screen line that |
| 1143 | that point was previously on. Other functions are not affected by | 1085 | point was previously on. Note that this only affects |
| 1144 | this variable. | 1086 | @code{split-window-below}, not the lower-level @code{split-window} |
| 1087 | function. | ||
| 1145 | @end defopt | 1088 | @end defopt |
| 1146 | 1089 | ||
| 1147 | @deffn Command split-window-right &optional size | ||
| 1148 | This function splits the selected window into two windows | ||
| 1149 | side-by-side, leaving the selected window on the left with @var{size} | ||
| 1150 | columns. If @var{size} is negative, the rightmost window gets | ||
| 1151 | @minus{}@var{size} columns, but the leftmost window still remains | ||
| 1152 | selected. | ||
| 1153 | @end deffn | ||
| 1154 | |||
| 1155 | |||
| 1156 | @node Deleting Windows | 1090 | @node Deleting Windows |
| 1157 | @section Deleting Windows | 1091 | @section Deleting Windows |
| 1158 | @cindex deleting windows | 1092 | @cindex deleting windows |
| 1159 | 1093 | ||
| 1160 | A window remains visible on its frame unless you @dfn{delete} it by | 1094 | @dfn{Deleting} a window removes it from the frame's window tree. If |
| 1161 | calling certain functions that delete windows. A deleted window cannot | 1095 | the window is a live window, it disappears from the screen. If the |
| 1162 | appear on the screen, but continues to exist as a Lisp object until | 1096 | window is an internal window, its child windows are deleted too. |
| 1163 | there are no references to it. There is no way to cancel the deletion | ||
| 1164 | of a window aside from restoring a saved window configuration | ||
| 1165 | (@pxref{Window Configurations}). Restoring a window configuration also | ||
| 1166 | deletes any windows that aren't part of that configuration. Erroneous | ||
| 1167 | information may result from using a deleted window as if it were live. | ||
| 1168 | 1097 | ||
| 1169 | @deffn Command delete-window &optional window | 1098 | Even after a window is deleted, it continues to exist as a Lisp |
| 1170 | This function removes @var{window} from display and returns @code{nil}. | 1099 | object, until there are no more references to it. Window deletion can |
| 1171 | The argument @var{window} can denote any window and defaults to the | 1100 | be reversed, by restoring a saved window configuration (@pxref{Window |
| 1172 | selected one. An error is signaled if @var{window} is the only window | 1101 | Configurations}). |
| 1173 | on its frame. Hence @var{window} must have at least one sibling window | ||
| 1174 | (@pxref{Windows and Frames}) in order to get deleted. If @var{window} | ||
| 1175 | is the selected window on its frame, this function selects the most | ||
| 1176 | recently selected live window on that frame instead. | ||
| 1177 | |||
| 1178 | If the variable @code{ignore-window-parameters} (@pxref{Window | ||
| 1179 | Parameters}) is non-@code{nil}, this function ignores all parameters of | ||
| 1180 | @var{window}. Otherwise, if the @code{delete-window} parameter of | ||
| 1181 | @var{window} is @code{t}, it deletes the window disregarding other | ||
| 1182 | window parameters. If the @code{delete-window} parameter specifies a | ||
| 1183 | function, that function is called with @var{window} as its sole | ||
| 1184 | argument. | ||
| 1185 | 1102 | ||
| 1186 | If @code{window-combination-resize} (@pxref{Splitting Windows}) is | 1103 | @deffn Command delete-window &optional window |
| 1187 | @code{nil}, the space @var{window} took up is given to its left sibling | 1104 | This function removes @var{window} from display and returns |
| 1188 | if such a window exists and to its right sibling otherwise. If | 1105 | @code{nil}. If @var{window} is omitted or @code{nil}, it defaults to |
| 1189 | @code{window-combination-resize} is non-@code{nil}, the space of | 1106 | the selected window. If deleting the window would leave no more |
| 1190 | @var{window} is proportionally distributed among the remaining windows | 1107 | windows in the window tree (e.g. if it is the only live window in the |
| 1191 | in the same combination. | 1108 | frame), an error is signaled. |
| 1109 | |||
| 1110 | By default, the space taken up by @var{window} is given to one of its | ||
| 1111 | adjacent sibling windows, if any. However, if the variable | ||
| 1112 | @code{window-combination-resize} is non-@code{nil}, the space is | ||
| 1113 | proportionally distributed among any remaining windows in the window | ||
| 1114 | combination. @xref{Splitting Windows}. | ||
| 1115 | |||
| 1116 | The behavior of this function may be altered by the window parameters | ||
| 1117 | of @var{window}, so long as the variable | ||
| 1118 | @code{ignore-window-parameters} is non-@code{nil}. If the value of | ||
| 1119 | the @code{delete-window} window parameter is @code{t}, this function | ||
| 1120 | ignores all other window parameters. Otherwise, if the value of the | ||
| 1121 | @code{delete-window} window parameter is a function, that function is | ||
| 1122 | called with the argument @var{window}, in lieu of the usual action of | ||
| 1123 | @code{delete-window}. Otherwise, this function obeys the | ||
| 1124 | @code{window-atom} or @code{window-side} window parameter, if any. | ||
| 1125 | @xref{Window Parameters}. | ||
| 1192 | @end deffn | 1126 | @end deffn |
| 1193 | 1127 | ||
| 1194 | @deffn Command delete-other-windows &optional window | 1128 | @deffn Command delete-other-windows &optional window |
| 1195 | This function makes @var{window} fill its frame and returns @code{nil}. | 1129 | This function makes @var{window} fill its frame, by deleting other |
| 1196 | The argument @var{window} can denote an arbitrary window and defaults to | 1130 | windows as necessary. If @var{window} is omitted or @code{nil}, it |
| 1197 | the selected one. Upon exit, @var{window} will be the selected window | 1131 | defaults to the selected window. The return value is @code{nil}. |
| 1198 | on its frame. | 1132 | |
| 1199 | 1133 | The behavior of this function may be altered by the window parameters | |
| 1200 | If the variable @code{ignore-window-parameters} (@pxref{Window | 1134 | of @var{window}, so long as the variable |
| 1201 | Parameters}) is non-@code{nil}, this function ignores all parameters of | 1135 | @code{ignore-window-parameters} is non-@code{nil}. If the value of |
| 1202 | @var{window}. Otherwise, if the @code{delete-other-windows} parameter | 1136 | the @code{delete-other-windows} window parameter is @code{t}, this |
| 1203 | of @var{window} equals @code{t}, it deletes all other windows | 1137 | function ignores all other window parameters. Otherwise, if the value |
| 1204 | disregarding any remaining window parameters. If the | 1138 | of the @code{delete-other-windows} window parameter is a function, |
| 1205 | @code{delete-other-windows} parameter of @var{window} specifies a | 1139 | that function is called with the argument @var{window}, in lieu of the |
| 1206 | function, it calls that function with @var{window} as its sole argument. | 1140 | usual action of @code{delete-other-windows}. Otherwise, this function |
| 1141 | obeys the @code{window-atom} or @code{window-side} window parameter, | ||
| 1142 | if any. @xref{Window Parameters}. | ||
| 1207 | @end deffn | 1143 | @end deffn |
| 1208 | 1144 | ||
| 1209 | @deffn Command delete-windows-on &optional buffer-or-name frame | 1145 | @deffn Command delete-windows-on &optional buffer-or-name frame |
| 1210 | This function deletes all windows showing @var{buffer-or-name}. If | 1146 | This function deletes all windows showing @var{buffer-or-name}, by |
| 1211 | there are no windows showing @var{buffer-or-name}, it does nothing. | 1147 | calling @code{delete-window} on those windows. @var{buffer-or-name} |
| 1212 | The optional argument @var{buffer-or-name} may be a buffer or the name | 1148 | should be a buffer, or the name of a buffer; if omitted or @code{nil}, |
| 1213 | of an existing buffer and defaults to the current buffer. Invoking | 1149 | it defaults to the current buffer. If there are no windows showing |
| 1214 | this command on a minibuffer signals an error. | 1150 | the specified buffer, this function does nothing. If the specified |
| 1215 | 1151 | buffer is a minibuffer, an error is signaled. | |
| 1216 | The function @code{delete-windows-on} operates by calling | 1152 | |
| 1217 | @code{delete-window} for each window showing @var{buffer-or-name}. If a | 1153 | If there is a dedicated window showing the buffer, and that window is |
| 1218 | frame has several windows showing different buffers, then those showing | 1154 | the only one on its frame, this function also deletes that frame if it |
| 1219 | @var{buffer-or-name} are removed, and the other windows expand to fill | 1155 | is not the only frame on the terminal. |
| 1220 | the space. | 1156 | |
| 1221 | 1157 | The optional argument @var{frame} specifies which frames to operate | |
| 1222 | If all windows in some frame are showing @var{buffer-or-name} (including | 1158 | on: |
| 1223 | the case where there is only one window), then that frame is deleted | ||
| 1224 | provided there are other frames left. | ||
| 1225 | |||
| 1226 | The optional argument @var{frame} specifies which frames to operate on. | ||
| 1227 | This function does not use it in quite the same way as the other | ||
| 1228 | functions which scan all live windows (@pxref{Cyclic Window Ordering}); | ||
| 1229 | specifically, the values @code{t} and @code{nil} have the opposite of | ||
| 1230 | their meanings in the other functions. Here are the full details: | ||
| 1231 | 1159 | ||
| 1232 | @itemize @bullet | 1160 | @itemize @bullet |
| 1233 | @item @code{nil} | 1161 | @item @code{nil} |
| @@ -1241,34 +1169,37 @@ means operate on all visible or iconified frames. | |||
| 1241 | @item A frame | 1169 | @item A frame |
| 1242 | means operate on that frame. | 1170 | means operate on that frame. |
| 1243 | @end itemize | 1171 | @end itemize |
| 1244 | @end deffn | ||
| 1245 | 1172 | ||
| 1173 | Note that this argument does not have the same meaning as in other | ||
| 1174 | functions which scan all live windows (@pxref{Cyclic Window | ||
| 1175 | Ordering}). Specifically, the values @code{t} and @code{nil} have the | ||
| 1176 | opposite of their meanings in those other functions. | ||
| 1177 | @end deffn | ||
| 1246 | 1178 | ||
| 1247 | @node Selecting Windows | 1179 | @node Selecting Windows |
| 1248 | @section Selecting Windows | 1180 | @section Selecting Windows |
| 1249 | @cindex selecting a window | 1181 | @cindex selecting a window |
| 1250 | 1182 | ||
| 1251 | @defun select-window window &optional norecord | 1183 | @defun select-window window &optional norecord |
| 1252 | This function makes @var{window} the selected window, see @ref{Basic | 1184 | This function makes @var{window} the selected window, as well as the |
| 1253 | Windows}. Unless @var{window} already is the selected window, this also | 1185 | window selected within its frame (@pxref{Basic Windows}). |
| 1254 | makes @var{window}'s buffer (@pxref{Buffers and Windows}) the current | 1186 | @var{window} must be a live window. Unless @var{window} already is the |
| 1255 | buffer. Moreover, the cursor for selected windows will be displayed in | 1187 | selected window, its buffer becomes the current buffer (@pxref{Buffers |
| 1256 | @var{window} after the next redisplay. This function returns | 1188 | and Windows}). The return value is @var{window}. |
| 1257 | @var{window}. | ||
| 1258 | 1189 | ||
| 1259 | Normally, @var{window}'s selected buffer is moved to the front of the | 1190 | By default, this function also moves @var{window}'s selected buffer to |
| 1260 | buffer list (@pxref{The Buffer List}) and @var{window} becomes the most | 1191 | the front of the buffer list (@pxref{The Buffer List}), and makes |
| 1261 | recently selected window. But if the optional argument @var{norecord} | 1192 | @var{window} the most recently selected window. However, if the |
| 1262 | is non-@code{nil}, the buffer list remains unchanged and @var{window} | 1193 | optional argument @var{norecord} is non-@code{nil}, these additional |
| 1263 | does not become the most recently selected one. | 1194 | actions are omitted. |
| 1264 | @end defun | 1195 | @end defun |
| 1265 | 1196 | ||
| 1266 | @cindex most recently selected windows | 1197 | @cindex most recently selected windows |
| 1267 | The sequence of calls to @code{select-window} with a non-@code{nil} | 1198 | The sequence of calls to @code{select-window} with a non-@code{nil} |
| 1268 | @var{norecord} argument determines an ordering of windows by their | 1199 | @var{norecord} argument determines an ordering of windows by their |
| 1269 | selection time. The function @code{get-lru-window} can be used to | 1200 | selection time. The function @code{get-lru-window} can be used to |
| 1270 | retrieve the least recently selected live window in this ordering, see | 1201 | retrieve the least recently selected live window (@pxref{Cyclic Window |
| 1271 | @ref{Cyclic Window Ordering}. | 1202 | Ordering}). |
| 1272 | 1203 | ||
| 1273 | @defmac save-selected-window forms@dots{} | 1204 | @defmac save-selected-window forms@dots{} |
| 1274 | This macro records the selected frame, as well as the selected window | 1205 | This macro records the selected frame, as well as the selected window |
| @@ -1300,33 +1231,26 @@ The order of recently selected windows and the buffer list are not | |||
| 1300 | changed by this macro. | 1231 | changed by this macro. |
| 1301 | @end defmac | 1232 | @end defmac |
| 1302 | 1233 | ||
| 1303 | @cindex frame selected window | 1234 | @defun frame-selected-window &optional frame |
| 1304 | @cindex window selected within frame | 1235 | This function returns the window on @var{frame} that is selected |
| 1305 | Earlier (@pxref{Basic Windows}) we mentioned that at any time, exactly | 1236 | within that frame. @var{frame} should be a live frame; if omitted or |
| 1306 | one window on any frame is selected within the frame. The significance | 1237 | @code{nil}, it defaults to the selected frame. |
| 1307 | of this designation is that selecting the frame also selects this | ||
| 1308 | window. Conversely, selecting a window for Emacs with | ||
| 1309 | @code{select-window} also makes that window selected within its frame. | ||
| 1310 | |||
| 1311 | @defun frame-selected-window &optional frame | ||
| 1312 | This function returns the window on @var{frame} that is selected within | ||
| 1313 | @var{frame}. The optional argument @var{frame} must denote a live frame | ||
| 1314 | and defaults to the selected one. | ||
| 1315 | @end defun | 1238 | @end defun |
| 1316 | 1239 | ||
| 1317 | @defun set-frame-selected-window frame window &optional norecord | 1240 | @defun set-frame-selected-window frame window &optional norecord |
| 1318 | This function sets the selected window of frame @var{frame} to | 1241 | This function makes @code{window} the window selected within the frame |
| 1319 | @var{window}. The argument @var{frame} must denote a live frame and | 1242 | @var{frame}. @var{frame} should be a live frame; if omitted or |
| 1320 | defaults to the selected one. If @var{frame} is the selected frame, | 1243 | @code{nil}, it defaults to the selected frame. @var{window} should be |
| 1321 | this also makes @var{window} the selected window. The argument | 1244 | a live window; if omitted or @code{nil}, it defaults to the selected |
| 1322 | @var{window} must denote a live window. This function returns | 1245 | window. |
| 1323 | @var{window}. | ||
| 1324 | 1246 | ||
| 1325 | Optional argument @var{norecord} non-@code{nil} means to neither change | 1247 | If @var{frame} is the selected frame, this makes @var{window} the |
| 1326 | the list of most recently selected windows (@pxref{Selecting Windows}) | 1248 | selected window. |
| 1327 | nor the buffer list (@pxref{The Buffer List}). | ||
| 1328 | @end defun | ||
| 1329 | 1249 | ||
| 1250 | If the optional argument @var{norecord} is non-@code{nil}, this | ||
| 1251 | function does not alter the list of most recently selected windows, | ||
| 1252 | nor the buffer list. | ||
| 1253 | @end defun | ||
| 1330 | 1254 | ||
| 1331 | @node Cyclic Window Ordering | 1255 | @node Cyclic Window Ordering |
| 1332 | @section Cyclic Ordering of Windows | 1256 | @section Cyclic Ordering of Windows |
| @@ -1334,28 +1258,22 @@ nor the buffer list (@pxref{The Buffer List}). | |||
| 1334 | @cindex ordering of windows, cyclic | 1258 | @cindex ordering of windows, cyclic |
| 1335 | @cindex window ordering, cyclic | 1259 | @cindex window ordering, cyclic |
| 1336 | 1260 | ||
| 1337 | When you use the command @kbd{C-x o} (@code{other-window}) to select | 1261 | When you use the command @kbd{C-x o} (@code{other-window}) to select |
| 1338 | some other window, it moves through live windows in a specific order. | 1262 | some other window, it moves through live windows in a specific order. |
| 1339 | For any given configuration of windows, this order never varies. It is | 1263 | For any given configuration of windows, this order never varies. It |
| 1340 | called the @dfn{cyclic ordering of windows}. | 1264 | is called the @dfn{cyclic ordering of windows}. |
| 1341 | |||
| 1342 | For a particular frame, this ordering is determined by the window | ||
| 1343 | tree of that frame, see @ref{Windows and Frames}. More precisely, the | ||
| 1344 | ordering is obtained by a depth-first traversal of the frame's window | ||
| 1345 | tree supplemented, if requested, by the frame's minibuffer window. | ||
| 1346 | 1265 | ||
| 1347 | If there's just one live frame, the cyclic ordering is the ordering | 1266 | The ordering is determined by a depth-first traversal of the frame's |
| 1348 | for that frame. Otherwise, the cyclic ordering is obtained by appending | 1267 | window tree, retrieving the live windows which are the leaf nodes of |
| 1349 | the orderings for individual frames in order of the list of all live | 1268 | the tree (@pxref{Windows and Frames}). If the minibuffer is active, |
| 1350 | frames, @ref{Finding All Frames}. In any case, the ordering is made | 1269 | the minibuffer window is included too. The ordering is cyclic, so the |
| 1351 | ``cyclic'' by having the last window precede the first window in the | 1270 | last window in the sequence is followed by the first one. |
| 1352 | ordering. | ||
| 1353 | 1271 | ||
| 1354 | @defun next-window &optional window minibuf all-frames | 1272 | @defun next-window &optional window minibuf all-frames |
| 1355 | @cindex minibuffer window, and @code{next-window} | 1273 | @cindex minibuffer window, and @code{next-window} |
| 1356 | This function returns the window following @var{window} in the cyclic | 1274 | This function returns a live window, the one following @var{window} in |
| 1357 | ordering of windows. The argument @var{window} must specify a live | 1275 | the cyclic ordering of windows. @var{window} should be a live window; |
| 1358 | window and defaults to the selected one. | 1276 | if omitted or @code{nil}, it defaults to the selected window. |
| 1359 | 1277 | ||
| 1360 | The optional argument @var{minibuf} specifies whether minibuffer windows | 1278 | The optional argument @var{minibuf} specifies whether minibuffer windows |
| 1361 | shall be included in the cyclic ordering. Normally, when @var{minibuf} | 1279 | shall be included in the cyclic ordering. Normally, when @var{minibuf} |
| @@ -1369,139 +1287,100 @@ minibuffer windows. If @var{minibuf} is neither @code{t} nor | |||
| 1369 | @code{nil}, minibuffer windows are not included even if they are active. | 1287 | @code{nil}, minibuffer windows are not included even if they are active. |
| 1370 | 1288 | ||
| 1371 | The optional argument @var{all-frames} specifies which frames to | 1289 | The optional argument @var{all-frames} specifies which frames to |
| 1372 | consider. Here are the possible values and their meanings: | 1290 | consider: |
| 1373 | 1291 | ||
| 1374 | @itemize @bullet | 1292 | @itemize @bullet |
| 1375 | @item @code{nil} | 1293 | @item @code{nil} |
| 1376 | means consider all windows on @var{window}'s frame, plus the minibuffer | 1294 | means to consider windows on @var{window}'s frame. If the minibuffer |
| 1377 | window used by that frame even if it lies in some other frame. If the | 1295 | window is considered (as specified by the @var{minibuf} argument), |
| 1378 | minibuffer counts (as determined by @var{minibuf}), then all windows on | 1296 | then frames that share the minibuffer window are considered too. |
| 1379 | all frames that share that minibuffer count too. | ||
| 1380 | 1297 | ||
| 1381 | @item @code{t} | 1298 | @item @code{t} |
| 1382 | means consider all windows on all existing frames. | 1299 | means to consider windows on all existing frames. |
| 1383 | 1300 | ||
| 1384 | @item @code{visible} | 1301 | @item @code{visible} |
| 1385 | means consider all windows on all visible frames. (To get useful | 1302 | means to consider windows on all visible frames. |
| 1386 | results, ensure that @var{window} is on a visible frame.) | ||
| 1387 | 1303 | ||
| 1388 | @item 0 | 1304 | @item 0 |
| 1389 | means consider all windows on all visible or iconified frames. | 1305 | means to consider windows on all visible or iconified frames. |
| 1390 | 1306 | ||
| 1391 | @item A frame | 1307 | @item A frame |
| 1392 | means consider all windows on that frame. | 1308 | means to consider windows on that specific frame. |
| 1393 | 1309 | ||
| 1394 | @item Anything else | 1310 | @item Anything else |
| 1395 | means consider the windows on @var{window}'s frame, and no others. | 1311 | means to consider windows on @var{window}'s frame, and no others. |
| 1396 | @end itemize | 1312 | @end itemize |
| 1397 | 1313 | ||
| 1398 | This example assumes there are two windows, both displaying the | 1314 | If more than one frame is considered, the cyclic ordering is obtained |
| 1399 | buffer @samp{windows.texi}: | 1315 | by appending the orderings for those frames, in the same order as the |
| 1400 | 1316 | list of all live frames (@pxref{Finding All Frames}). | |
| 1401 | @example | ||
| 1402 | @group | ||
| 1403 | (selected-window) | ||
| 1404 | @result{} #<window 56 on windows.texi> | ||
| 1405 | @end group | ||
| 1406 | @group | ||
| 1407 | (next-window (selected-window)) | ||
| 1408 | @result{} #<window 52 on windows.texi> | ||
| 1409 | @end group | ||
| 1410 | @group | ||
| 1411 | (next-window (next-window (selected-window))) | ||
| 1412 | @result{} #<window 56 on windows.texi> | ||
| 1413 | @end group | ||
| 1414 | @end example | ||
| 1415 | @end defun | 1317 | @end defun |
| 1416 | 1318 | ||
| 1417 | @defun previous-window &optional window minibuf all-frames | 1319 | @defun previous-window &optional window minibuf all-frames |
| 1418 | This function returns the window preceding @var{window} in the cyclic | 1320 | This function returns a live window, the one preceding @var{window} in |
| 1419 | ordering of windows. The other arguments specify which windows to | 1321 | the cyclic ordering of windows. The other arguments are handled like |
| 1420 | consider as in @code{next-window}. | 1322 | in @code{next-window}. |
| 1421 | @end defun | 1323 | @end defun |
| 1422 | 1324 | ||
| 1423 | @deffn Command other-window count &optional all-frames | 1325 | @deffn Command other-window count &optional all-frames |
| 1424 | This function selects another window in the cyclic ordering of windows. | 1326 | This function selects a live window, one @var{count} places from the |
| 1425 | @var{count} specifies the number of windows to skip in the ordering, | 1327 | selected window in the cyclic ordering of windows. If @var{count} is |
| 1426 | starting with the selected window, before making the selection. If | 1328 | a positive number, it skips @var{count} windows forwards; if |
| 1427 | @var{count} is a positive number, it skips @var{count} windows forwards. | 1329 | @var{count} is negative, it skips @minus{}@var{count} windows |
| 1428 | @var{count} negative means skip @minus{}@var{count} windows backwards. | 1330 | backwards; if @var{count} is zero, that simply re-selects the selected |
| 1429 | If @var{count} is zero, it does not skip any window, thus re-selecting | 1331 | window. When called interactively, @var{count} is the numeric prefix |
| 1430 | the selected window. In an interactive call, @var{count} is the numeric | 1332 | argument. |
| 1431 | prefix argument. | ||
| 1432 | 1333 | ||
| 1433 | The optional argument @var{all-frames} has the same meaning as in | 1334 | The optional argument @var{all-frames} has the same meaning as in |
| 1434 | @code{next-window}, but the @var{minibuf} argument of @code{next-window} | 1335 | @code{next-window}, like a @code{nil} @var{minibuf} argument to |
| 1435 | is always effectively @code{nil}. This function returns @code{nil}. | 1336 | @code{next-window}. |
| 1436 | 1337 | ||
| 1437 | This function does not select a window that has a non-@code{nil} | 1338 | This function does not select a window that has a non-@code{nil} |
| 1438 | @code{no-other-window} window parameter (@pxref{Window Parameters}). | 1339 | @code{no-other-window} window parameter (@pxref{Window Parameters}). |
| 1439 | @end deffn | 1340 | @end deffn |
| 1440 | 1341 | ||
| 1441 | The following function returns a copy of the list of windows in the | 1342 | @defun walk-windows fun &optional minibuf all-frames |
| 1442 | cyclic ordering. | 1343 | This function calls the function @var{fun} once for each live window, |
| 1344 | with the window as the argument. | ||
| 1443 | 1345 | ||
| 1444 | @defun window-list-1 &optional window &optional minibuf &optional all_frames | 1346 | It follows the cyclic ordering of windows. The optional arguments |
| 1445 | This function returns a list of live windows. The optional arguments | 1347 | @var{minibuf} and @var{all-frames} specify the set of windows |
| 1446 | @var{minibuf} and @var{all-frames} specify the set of windows to include | 1348 | included; these have the same arguments as in @code{next-window}. If |
| 1447 | in the list. See the description of @code{next-window} for details. | 1349 | @var{all-frames} specifies a frame, the first window walked is the |
| 1350 | first window on that frame (the one returned by | ||
| 1351 | @code{frame-first-window}), not necessarily the selected window. | ||
| 1448 | 1352 | ||
| 1449 | The optional argument @var{window} specifies the first window to list | 1353 | If @var{fun} changes the window configuration by splitting or deleting |
| 1450 | and defaults to the selected window. If @var{window} is not on the list | 1354 | windows, that does not alter the set of windows walked, which is |
| 1451 | of windows returned, some other window will be listed first but no error | 1355 | determined prior to calling @var{fun} for the first time. |
| 1452 | is signaled. | ||
| 1453 | @end defun | 1356 | @end defun |
| 1454 | 1357 | ||
| 1455 | The functions described below use @code{window-list-1} for generating a | ||
| 1456 | copy of the list of all relevant windows. Hence, any change of the | ||
| 1457 | window configuration that occurs while one of these functions is | ||
| 1458 | executed is @emph{not} reflected in the list of windows investigated. | ||
| 1459 | |||
| 1460 | @defun walk-windows proc &optional minibuf all-frames | ||
| 1461 | This function cycles through live windows. It calls the function | ||
| 1462 | @var{proc} once for each window, with the window as its sole argument. | ||
| 1463 | |||
| 1464 | The optional arguments @var{minibuf} and @var{all-frames} specify the | ||
| 1465 | set of windows to include in the walk, see @code{next-window} above. If | ||
| 1466 | @var{all-frames} specifies a frame, the first window walked is the first | ||
| 1467 | window on that frame as returned by @code{frame-first-window} and not | ||
| 1468 | necessarily the selected window. | ||
| 1469 | |||
| 1470 | If @var{proc} changes the window configuration by splitting or deleting | ||
| 1471 | windows, that change is not reflected in the set of windows walked. | ||
| 1472 | That set is determined entirely by the set of live windows at the time | ||
| 1473 | this function was invoked. | ||
| 1474 | @end defun | ||
| 1475 | |||
| 1476 | The following function allows to determine whether a specific window is | ||
| 1477 | the only live window. | ||
| 1478 | |||
| 1479 | @defun one-window-p &optional no-mini all-frames | 1358 | @defun one-window-p &optional no-mini all-frames |
| 1480 | This function returns non-@code{nil} if the selected window is the only | 1359 | This function returns @code{t} if the selected window is the only live |
| 1481 | window. | 1360 | window, and @code{nil} otherwise. |
| 1482 | 1361 | ||
| 1483 | The optional argument @var{no-mini}, if non-@code{nil}, means don't | 1362 | If the minibuffer window is active, it is normally considered (so that |
| 1484 | count the minibuffer even if it is active; otherwise, the minibuffer | 1363 | this function returns @code{nil}). However, if the optional argument |
| 1485 | window is counted when it is active. The optional argument | 1364 | @var{no-mini} is non-@code{nil}, the minibuffer window is ignored even |
| 1486 | @var{all-frames} has the same meaning as for @code{next-window}, see | 1365 | if active. The optional argument @var{all-frames} has the same |
| 1487 | above. | 1366 | meaning as for @code{next-window}. |
| 1488 | @end defun | 1367 | @end defun |
| 1489 | 1368 | ||
| 1490 | @cindex finding windows | 1369 | @cindex finding windows |
| 1491 | The following functions choose (but do not select) one of the windows | 1370 | The following functions return a window which satisfies some |
| 1492 | on the screen, offering various criteria for the choice. | 1371 | criterion, without selecting it: |
| 1493 | 1372 | ||
| 1494 | @cindex least recently used window | 1373 | @cindex least recently used window |
| 1495 | @defun get-lru-window &optional all-frames dedicated | 1374 | @defun get-lru-window &optional all-frames dedicated |
| 1496 | This function returns the window least recently ``used'' (that is, | 1375 | This function returns a live window which is heuristically the ``least |
| 1497 | selected). If any full-width windows are present, it only considers | 1376 | recently used'' window. The optional argument @var{all-frames} has |
| 1498 | these. The optional argument @var{all-frames} has the same meaning as | 1377 | the same meaning as in @code{next-window}. |
| 1499 | in @code{next-window}. | ||
| 1500 | 1378 | ||
| 1501 | The selected window is returned if it is the only candidate. A | 1379 | If any full-width windows are present, only those windows are |
| 1502 | minibuffer window is never a candidate. A dedicated window | 1380 | considered. The selected window is never returned, unless it is the |
| 1503 | (@pxref{Dedicated Windows}) is never a candidate unless the optional | 1381 | only candidate. A minibuffer window is never a candidate. A |
| 1504 | argument @var{dedicated} is non-@code{nil}. | 1382 | dedicated window (@pxref{Dedicated Windows}) is never a candidate |
| 1383 | unless the optional argument @var{dedicated} is non-@code{nil}. | ||
| 1505 | @end defun | 1384 | @end defun |
| 1506 | 1385 | ||
| 1507 | @cindex largest window | 1386 | @cindex largest window |
| @@ -1515,22 +1394,23 @@ If there are two candidate windows of the same size, this function | |||
| 1515 | prefers the one that comes first in the cyclic ordering of windows, | 1394 | prefers the one that comes first in the cyclic ordering of windows, |
| 1516 | starting from the selected window. | 1395 | starting from the selected window. |
| 1517 | 1396 | ||
| 1518 | The optional argument @var{all-frames} specifies which set of windows to | 1397 | The optional argument @var{all-frames} specifies the windows to |
| 1519 | consider as with @code{next-window}, see above. | 1398 | search, and has the same meaning as in @code{next-window}. |
| 1520 | @end defun | 1399 | @end defun |
| 1521 | 1400 | ||
| 1522 | @cindex window that satisfies a predicate | 1401 | @cindex window that satisfies a predicate |
| 1523 | @cindex conditional selection of windows | 1402 | @cindex conditional selection of windows |
| 1524 | @defun get-window-with-predicate predicate &optional minibuf all-frames default | 1403 | @defun get-window-with-predicate predicate &optional minibuf all-frames default |
| 1525 | This function returns a window satisfying @var{predicate}. It cycles | 1404 | This function calls the function @var{predicate} for each of the |
| 1526 | through all visible windows calling @var{predicate} on each one of them | 1405 | windows in the cyclic order of windows in turn, passing it the window |
| 1527 | with that window as its argument. The function returns the first window | 1406 | as an argument. If the predicate returns non-@code{nil} for any |
| 1528 | for which @var{predicate} returns a non-@code{nil} value; if that never | 1407 | window, this function stops and returns that window. If no such |
| 1529 | happens, it returns @var{default} (which defaults to @code{nil}). | 1408 | window is found, the return value is @var{default} (which defaults to |
| 1409 | @code{nil}). | ||
| 1530 | 1410 | ||
| 1531 | The optional arguments @var{minibuf} and @var{all-frames} specify the | 1411 | The optional arguments @var{minibuf} and @var{all-frames} specify the |
| 1532 | set of windows to investigate. See the description of | 1412 | windows to search, and have the same meanings as in |
| 1533 | @code{next-window} for details. | 1413 | @code{next-window}. |
| 1534 | @end defun | 1414 | @end defun |
| 1535 | 1415 | ||
| 1536 | @node Buffers and Windows | 1416 | @node Buffers and Windows |
| @@ -1539,47 +1419,41 @@ set of windows to investigate. See the description of | |||
| 1539 | @cindex windows, controlling precisely | 1419 | @cindex windows, controlling precisely |
| 1540 | @cindex buffers, controlled in windows | 1420 | @cindex buffers, controlled in windows |
| 1541 | 1421 | ||
| 1542 | To find out which buffer is displayed in a given window the following | 1422 | This section describes low-level functions for examining and setting |
| 1543 | function is used. | 1423 | the contents of windows. @xref{Switching Buffers}, for higher-level |
| 1424 | functions for displaying a specific buffer in a window. | ||
| 1544 | 1425 | ||
| 1545 | @defun window-buffer &optional window | 1426 | @defun window-buffer &optional window |
| 1546 | This function returns the buffer that @var{window} is displaying. The | 1427 | This function returns the buffer that @var{window} is displaying. If |
| 1547 | argument @var{window} can be any window and defaults to the selected | 1428 | @var{window} is omitted or @code{nil} it defaults to the selected |
| 1548 | one. If @var{window} is an internal window, this function returns | 1429 | window. If @var{window} is an internal window, this function returns |
| 1549 | @code{nil}. | 1430 | @code{nil}. |
| 1550 | @end defun | 1431 | @end defun |
| 1551 | 1432 | ||
| 1552 | The basic, low-level function to associate a window with a buffer is | ||
| 1553 | @code{set-window-buffer}. Higher-level functions like | ||
| 1554 | @code{switch-to-buffer} and @code{display-buffer} try to obey a number | ||
| 1555 | of user customizations regulating which windows are supposed to | ||
| 1556 | display which buffers. @xref{Switching Buffers}. When writing an | ||
| 1557 | application, you should avoid using @code{set-window-buffer} unless | ||
| 1558 | you are sure you need it. | ||
| 1559 | |||
| 1560 | @defun set-window-buffer window buffer-or-name &optional keep-margins | 1433 | @defun set-window-buffer window buffer-or-name &optional keep-margins |
| 1561 | This function makes @var{window} display @var{buffer-or-name} and | 1434 | This function makes @var{window} display @var{buffer-or-name}. |
| 1562 | returns @code{nil}. The argument @var{window} has to denote a live | 1435 | @var{window} should be a live window; if @code{nil}, it defaults to |
| 1563 | window and defaults to the selected one. The argument | 1436 | the selected window. @var{buffer-or-name} should be a buffer, or the |
| 1564 | @var{buffer-or-name} must specify a buffer or the name of an existing | 1437 | name of an existing buffer. This function does not change which |
| 1565 | buffer. An error is signaled when @var{window} is @dfn{strongly} | 1438 | window is selected, nor does it directly change which buffer is |
| 1566 | dedicated to its buffer (@pxref{Dedicated Windows}) and does not already | 1439 | current (@pxref{Current Buffer}). Its return value is @code{nil}. |
| 1567 | display @var{buffer-or-name}. | ||
| 1568 | |||
| 1569 | Normally, displaying @var{buffer-or-name} in @var{window} resets the | ||
| 1570 | window's position, display margins, fringe widths, and scroll bar | ||
| 1571 | settings based on the local variables of the specified buffer. However, | ||
| 1572 | if the optional argument @var{keep-margins} is non-@code{nil}, display | ||
| 1573 | margins and fringe widths of @var{window} remain unchanged. | ||
| 1574 | @xref{Fringes}. | ||
| 1575 | |||
| 1576 | This function is the fundamental primitive for changing which buffer is | ||
| 1577 | displayed in a window, and all ways of doing that call this function. | ||
| 1578 | Neither the selected window nor the current buffer are changed by this | ||
| 1579 | function. | ||
| 1580 | 1440 | ||
| 1581 | This function runs @code{window-scroll-functions} before running | 1441 | If @var{window} is @dfn{strongly dedicated} to a buffer and |
| 1582 | @code{window-configuration-change-hook}, see @ref{Window Hooks}. | 1442 | @var{buffer-or-name} does not specify that buffer, this function |
| 1443 | signals an error. @xref{Dedicated Windows}. | ||
| 1444 | |||
| 1445 | By default, this function resets @var{window}'s position, display | ||
| 1446 | margins, fringe widths, and scroll bar settings, based on the local | ||
| 1447 | variables in the specified buffer. However, if the optional argument | ||
| 1448 | @var{keep-margins} is non-@code{nil}, it leaves the display margins | ||
| 1449 | and fringe widths unchanged. | ||
| 1450 | |||
| 1451 | When writing an application, you should normally use the higher-level | ||
| 1452 | functions described in @ref{Switching Buffers}, instead of calling | ||
| 1453 | @code{set-window-buffer} directly. | ||
| 1454 | |||
| 1455 | This function runs @code{window-scroll-functions}, followed by | ||
| 1456 | @code{window-configuration-change-hook}. @xref{Window Hooks}. | ||
| 1583 | @end defun | 1457 | @end defun |
| 1584 | 1458 | ||
| 1585 | @defvar buffer-display-count | 1459 | @defvar buffer-display-count |
| @@ -1589,28 +1463,26 @@ displayed in a window. It is incremented each time | |||
| 1589 | @end defvar | 1463 | @end defvar |
| 1590 | 1464 | ||
| 1591 | @defvar buffer-display-time | 1465 | @defvar buffer-display-time |
| 1592 | This variable records the time at which a buffer was last made visible | 1466 | This buffer-local variable records the time at which a buffer was last |
| 1593 | in a window. It is always local in each buffer; each time | 1467 | displayed in a window. The value is @code{nil} if the buffer has |
| 1594 | @code{set-window-buffer} is called, it sets this variable to | 1468 | never been displayed. It is updated each time |
| 1595 | @code{(current-time)} in the specified buffer (@pxref{Time of Day}). | 1469 | @code{set-window-buffer} is called for the buffer, with the value |
| 1596 | When a buffer is first created, @code{buffer-display-time} starts out | 1470 | returned by @code{current-time} (@pxref{Time of Day}). |
| 1597 | with the value @code{nil}. | ||
| 1598 | @end defvar | 1471 | @end defvar |
| 1599 | 1472 | ||
| 1600 | @defun get-buffer-window &optional buffer-or-name all-frames | 1473 | @defun get-buffer-window &optional buffer-or-name all-frames |
| 1601 | This function returns a window displaying @var{buffer-or-name}, or | 1474 | This function returns the first window displaying @var{buffer-or-name} |
| 1602 | @code{nil} if there is none. If there are several such windows, then | 1475 | in the cyclic ordering of windows, starting from the selected window |
| 1603 | the function returns the first one in the cyclic ordering of windows, | 1476 | (@pxref{Cyclic Window Ordering}). If no such window exists, the |
| 1604 | starting from the selected window, @xref{Cyclic Window Ordering}. | 1477 | return value is @code{nil}. |
| 1605 | 1478 | ||
| 1606 | The argument @var{buffer-or-name} may be a buffer or a buffer name and | 1479 | @var{buffer-or-name} should be a buffer or the name of a buffer; if |
| 1607 | defaults to the current buffer. The optional argument @var{all-frames} | 1480 | omitted or @code{nil}, it defaults to the current buffer. The |
| 1608 | specifies which windows to consider: | 1481 | optional argument @var{all-frames} specifies which windows to |
| 1482 | consider: | ||
| 1609 | 1483 | ||
| 1610 | @itemize @bullet | 1484 | @itemize @bullet |
| 1611 | @item | 1485 | @item |
| 1612 | @code{nil} means consider windows on the selected frame. | ||
| 1613 | @item | ||
| 1614 | @code{t} means consider windows on all existing frames. | 1486 | @code{t} means consider windows on all existing frames. |
| 1615 | @item | 1487 | @item |
| 1616 | @code{visible} means consider windows on all visible frames. | 1488 | @code{visible} means consider windows on all visible frames. |
| @@ -1618,44 +1490,45 @@ specifies which windows to consider: | |||
| 1618 | 0 means consider windows on all visible or iconified frames. | 1490 | 0 means consider windows on all visible or iconified frames. |
| 1619 | @item | 1491 | @item |
| 1620 | A frame means consider windows on that frame only. | 1492 | A frame means consider windows on that frame only. |
| 1493 | @item | ||
| 1494 | Any other value means consider windows on the selected frame. | ||
| 1621 | @end itemize | 1495 | @end itemize |
| 1622 | 1496 | ||
| 1623 | Observe that the behavior of @code{get-buffer-window} may differ from | 1497 | Note that these meanings differ slightly from those of the |
| 1624 | that of @code{next-window} (@pxref{Cyclic Window Ordering}) when | 1498 | @var{all-frames} argument to @code{next-window} (@pxref{Cyclic Window |
| 1625 | @var{all-frames} equals @code{nil} or any value not listed here. | 1499 | Ordering}). This function may be changed in a future version of Emacs |
| 1626 | Perhaps we will change @code{get-buffer-window} in the future to make it | 1500 | to eliminate this discrepancy. |
| 1627 | compatible with the other functions. | ||
| 1628 | @end defun | 1501 | @end defun |
| 1629 | 1502 | ||
| 1630 | @defun get-buffer-window-list &optional buffer-or-name minibuf all-frames | 1503 | @defun get-buffer-window-list &optional buffer-or-name minibuf all-frames |
| 1631 | This function returns a list of all windows currently displaying | 1504 | This function returns a list of all windows currently displaying |
| 1632 | @var{buffer-or-name}. The argument @var{buffer-or-name} may be a buffer | 1505 | @var{buffer-or-name}. @var{buffer-or-name} should be a buffer or the |
| 1633 | or the name of an existing buffer and defaults to the current buffer. | 1506 | name of an existing buffer. If omitted or @code{nil}, it defaults to |
| 1507 | the current buffer. | ||
| 1634 | 1508 | ||
| 1635 | The two remaining arguments work like the same-named arguments of | 1509 | The arguments @var{minibuf} and @var{all-frames} have the same |
| 1636 | @code{next-window} (@pxref{Cyclic Window Ordering}); they are @emph{not} | 1510 | meanings as in the function @code{next-window} (@pxref{Cyclic Window |
| 1637 | like the optional arguments of @code{get-buffer-window}. | 1511 | Ordering}). Note that the @var{all-frames} argument does @emph{not} |
| 1512 | behave exactly like in @code{get-buffer-window}. | ||
| 1638 | @end defun | 1513 | @end defun |
| 1639 | 1514 | ||
| 1640 | @deffn Command replace-buffer-in-windows &optional buffer-or-name | 1515 | @deffn Command replace-buffer-in-windows &optional buffer-or-name |
| 1641 | This command replaces @var{buffer-or-name} with some other buffer, in | 1516 | This command replaces @var{buffer-or-name} with some other buffer, in |
| 1642 | all windows displaying it. For each such window, it choose another | 1517 | all windows displaying it. @var{buffer-or-name} should be a buffer, |
| 1643 | buffer using @code{switch-to-prev-buffer} (@pxref{Window History}). | 1518 | or the name of an existing buffer; if omitted or @code{nil}, it |
| 1644 | 1519 | defaults to the current buffer. | |
| 1645 | The argument @var{buffer-or-name} may be a buffer, or the name of an | 1520 | |
| 1646 | existing buffer; it defaults to the current buffer. | 1521 | The replacement buffer in each window is chosen via |
| 1647 | 1522 | @code{switch-to-prev-buffer} (@pxref{Window History}). Any dedicated | |
| 1648 | If a window displaying @var{buffer-or-name} is dedicated | 1523 | window displaying @var{buffer-or-name} is deleted (@pxref{Dedicated |
| 1649 | (@pxref{Dedicated Windows}) and is not the only window on its frame, | 1524 | Windows}), unless it is the only window on its frame---if it is the |
| 1650 | that window is deleted. If that window is the only window on its frame | 1525 | only window, and that frame is not the only frame on its terminal, the |
| 1651 | and there are other frames on the frame's terminal, that frame is dealt | 1526 | frame is ``dismissed'' by calling the function specified by |
| 1652 | with by the function specified by @code{frame-auto-hide-function} | 1527 | @code{frame-auto-hide-function} (@pxref{Quitting Windows}). If the |
| 1653 | (@pxref{Quitting Windows}). Otherwise, the buffer provided by the | 1528 | dedicated window is the only window on the only frame on its terminal, |
| 1654 | function @code{switch-to-prev-buffer} (@pxref{Window History}) is | 1529 | the buffer is replaced anyway. |
| 1655 | displayed in the window instead. | ||
| 1656 | @end deffn | 1530 | @end deffn |
| 1657 | 1531 | ||
| 1658 | |||
| 1659 | @node Switching Buffers | 1532 | @node Switching Buffers |
| 1660 | @section Switching to a Buffer in a Window | 1533 | @section Switching to a Buffer in a Window |
| 1661 | @cindex switching to a buffer | 1534 | @cindex switching to a buffer |
| @@ -1731,9 +1604,12 @@ The @var{buffer-or-name} and @var{norecord} arguments have the same | |||
| 1731 | meanings as in @code{switch-to-buffer}. | 1604 | meanings as in @code{switch-to-buffer}. |
| 1732 | @end deffn | 1605 | @end deffn |
| 1733 | 1606 | ||
| 1734 | The above commands use @code{pop-to-buffer}, which is the function | 1607 | The above commands use the function @code{pop-to-buffer}, which |
| 1735 | used by Lisp programs to flexibly display a buffer in some window and | 1608 | flexibly displays a buffer in some window and selects that window for |
| 1736 | select that window for editing: | 1609 | editing. In turn, @code{pop-to-buffer} uses @code{display-buffer} for |
| 1610 | displaying the buffer. Hence, all the variables affecting | ||
| 1611 | @code{display-buffer} will affect it as well. @xref{Choosing Window}, | ||
| 1612 | for the documentation of @code{display-buffer}. | ||
| 1737 | 1613 | ||
| 1738 | @defun pop-to-buffer buffer-or-name &optional action norecord | 1614 | @defun pop-to-buffer buffer-or-name &optional action norecord |
| 1739 | This function makes @var{buffer-or-name} the current buffer and | 1615 | This function makes @var{buffer-or-name} the current buffer and |
| @@ -1743,10 +1619,6 @@ on a different graphical frame, that frame is given input focus if | |||
| 1743 | possible (@pxref{Input Focus}). The return value is the buffer that | 1619 | possible (@pxref{Input Focus}). The return value is the buffer that |
| 1744 | was switched to. | 1620 | was switched to. |
| 1745 | 1621 | ||
| 1746 | This function uses @code{display-buffer} to display the buffer, so all | ||
| 1747 | the variables affecting @code{display-buffer} will affect it as well. | ||
| 1748 | @xref{Choosing Window}. | ||
| 1749 | |||
| 1750 | If @var{buffer-or-name} is @code{nil}, it defaults to the buffer | 1622 | If @var{buffer-or-name} is @code{nil}, it defaults to the buffer |
| 1751 | returned by @code{other-buffer} (@pxref{The Buffer List}). If | 1623 | returned by @code{other-buffer} (@pxref{The Buffer List}). If |
| 1752 | @var{buffer-or-name} is a string that is not the name of any existing | 1624 | @var{buffer-or-name} is a string that is not the name of any existing |
| @@ -1775,8 +1647,8 @@ used as a subroutine by many functions and commands, including | |||
| 1775 | Buffers}). | 1647 | Buffers}). |
| 1776 | 1648 | ||
| 1777 | @cindex display action | 1649 | @cindex display action |
| 1778 | @cindex action function, for display-buffer | 1650 | @cindex action function, for @code{display-buffer} |
| 1779 | @cindex action alist, for display-buffer | 1651 | @cindex action alist, for @code{display-buffer} |
| 1780 | This command performs several complex steps to find a window to | 1652 | This command performs several complex steps to find a window to |
| 1781 | display in. These steps are described by means of @dfn{display | 1653 | display in. These steps are described by means of @dfn{display |
| 1782 | actions}, which have the form @code{(@var{function} . @var{alist})}. | 1654 | actions}, which have the form @code{(@var{function} . @var{alist})}. |
| @@ -1815,6 +1687,11 @@ The variable @code{display-buffer-overriding-action}. | |||
| 1815 | The user option @code{display-buffer-alist}. | 1687 | The user option @code{display-buffer-alist}. |
| 1816 | 1688 | ||
| 1817 | @item | 1689 | @item |
| 1690 | A special action for handling @code{special-display-buffer-names} and | ||
| 1691 | @code{special-display-regexps}, if either of those variables is | ||
| 1692 | non-@code{nil}. @xref{Choosing Window Options}. | ||
| 1693 | |||
| 1694 | @item | ||
| 1818 | The @var{action} argument. | 1695 | The @var{action} argument. |
| 1819 | 1696 | ||
| 1820 | @item | 1697 | @item |
| @@ -1886,10 +1763,9 @@ This function tries to ``display'' @var{buffer} by finding a window | |||
| 1886 | that is already displaying it. | 1763 | that is already displaying it. |
| 1887 | 1764 | ||
| 1888 | If @var{alist} has a non-@code{nil} @code{inhibit-same-window} entry, | 1765 | If @var{alist} has a non-@code{nil} @code{inhibit-same-window} entry, |
| 1889 | the selected window is not eligible for reuse. | 1766 | the selected window is not eligible for reuse. If @var{alist} |
| 1890 | 1767 | contains a @code{reusable-frames} entry, its value determines which | |
| 1891 | If @var{alist} contains a @code{reusable-frames} entry, its value | 1768 | frames to search for a reusable window: |
| 1892 | determines which frames to search for a reusable window: | ||
| 1893 | 1769 | ||
| 1894 | @itemize @bullet | 1770 | @itemize @bullet |
| 1895 | @item | 1771 | @item |
| @@ -1910,17 +1786,28 @@ normally searches just the selected frame; however, if either the | |||
| 1910 | variable @code{display-buffer-reuse-frames} or the variable | 1786 | variable @code{display-buffer-reuse-frames} or the variable |
| 1911 | @code{pop-up-frames} is non-@code{nil}, it searches all frames on the | 1787 | @code{pop-up-frames} is non-@code{nil}, it searches all frames on the |
| 1912 | current terminal. @xref{Choosing Window Options}. | 1788 | current terminal. @xref{Choosing Window Options}. |
| 1789 | |||
| 1790 | If this function chooses a window on another frame, it makes that | ||
| 1791 | frame visible and raises it if necessary. | ||
| 1913 | @end defun | 1792 | @end defun |
| 1914 | 1793 | ||
| 1915 | @defun display-buffer-pop-up-frame buffer alist | 1794 | @defun display-buffer-pop-up-frame buffer alist |
| 1916 | This function creates a new frame, and displays the buffer in that | 1795 | This function creates a new frame, and displays the buffer in that |
| 1917 | frame's window. | 1796 | frame's window. It actually performs the frame creation by calling |
| 1797 | the function specified in @code{pop-up-frame-function} | ||
| 1798 | (@pxref{Choosing Window Options}). | ||
| 1918 | @end defun | 1799 | @end defun |
| 1919 | 1800 | ||
| 1920 | @defun display-buffer-pop-up-window buffer alist | 1801 | @defun display-buffer-pop-up-window buffer alist |
| 1921 | This function tries to display @var{buffer} by splitting the largest | 1802 | This function tries to display @var{buffer} by splitting the largest |
| 1922 | or least recently-used window. It uses @code{split-window-sensibly} | 1803 | or least recently-used window (typically one on the selected frame). |
| 1923 | as a subroutine (@pxref{Choosing Window Options}). | 1804 | It actually performs the split by calling the function specified in |
| 1805 | @code{split-window-preferred-function} (@pxref{Choosing Window | ||
| 1806 | Options}). | ||
| 1807 | |||
| 1808 | It can fail if no window splitting can be performed for some reason | ||
| 1809 | (e.g. if there is just one frame and it has an @code{unsplittable} | ||
| 1810 | frame parameter; @pxref{Buffer Parameters}). | ||
| 1924 | @end defun | 1811 | @end defun |
| 1925 | 1812 | ||
| 1926 | @defun display-buffer-use-some-window buffer alist | 1813 | @defun display-buffer-use-some-window buffer alist |
| @@ -1937,142 +1824,108 @@ The behavior of the standard display actions of @code{display-buffer} | |||
| 1937 | options. | 1824 | options. |
| 1938 | 1825 | ||
| 1939 | @defopt display-buffer-reuse-frames | 1826 | @defopt display-buffer-reuse-frames |
| 1940 | If this variable is non-@code{nil}, @code{display-buffer} searches | 1827 | If the value of this variable is non-@code{nil}, @code{display-buffer} |
| 1941 | visible and iconified frames for a window displaying | 1828 | may search all frames on the current terminal when looking for a |
| 1942 | @var{buffer-or-name}. If there is such a window, @code{display-buffer} | 1829 | window already displaying the specified buffer. The default is |
| 1943 | makes that window's frame visible and raises it if necessary, and | 1830 | @code{nil}. This variable is consulted by the action function |
| 1944 | returns the window. If there is no such window or | 1831 | @code{display-buffer-reuse-window} (@pxref{Display Action Functions}). |
| 1945 | @code{display-buffer-reuse-frames} is @code{nil}, the behavior of | ||
| 1946 | @code{display-buffer} is determined by the variables described next. | ||
| 1947 | @end defopt | 1832 | @end defopt |
| 1948 | 1833 | ||
| 1949 | @defopt pop-up-windows | 1834 | @defopt pop-up-windows |
| 1950 | This variable specifies whether @code{display-buffer} is allowed to | 1835 | If the value of this variable is non-@code{nil}, @code{display-buffer} |
| 1951 | split (@pxref{Splitting Windows}) an existing window. If this variable | 1836 | is allowed to split an existing window to make a new window for |
| 1952 | is non-@code{nil}, @code{display-buffer} tries to split the largest or | 1837 | displaying in. This is the default. |
| 1953 | least recently used window on the selected frame. (If the selected | 1838 | |
| 1954 | frame is a minibuffer-only frame, @code{display-buffer} tries to split a | 1839 | This variable is provided mainly for backward compatibility. It is |
| 1955 | window on another frame instead.) If this variable is @code{nil} or the | 1840 | obeyed by @code{display-buffer} via a special mechanism in |
| 1956 | variable @code{pop-up-frames} (see below) is non-@code{nil}, | 1841 | @code{display-buffer-fallback-action}, which only calls the action |
| 1957 | @code{display-buffer} does not split any window. | 1842 | function @code{display-buffer-pop-up-window} (@pxref{Display Action |
| 1843 | Functions}) when the value is @code{nil}. It is not consulted by | ||
| 1844 | @code{display-buffer-pop-up-window} itself, which the user may specify | ||
| 1845 | directly in @code{display-buffer-alist} etc. | ||
| 1958 | @end defopt | 1846 | @end defopt |
| 1959 | 1847 | ||
| 1960 | @defopt split-window-preferred-function | 1848 | @defopt split-window-preferred-function |
| 1961 | This variable must specify a function with one argument, which is a | 1849 | This variable specifies a function for splitting a window, in order to |
| 1962 | window. The @code{display-buffer} routines will call this function with | 1850 | make a new window for displaying a buffer. It is used by the |
| 1963 | one or more candidate windows when they look for a window to split. The | 1851 | @code{display-buffer-pop-up-window} action function to actually split |
| 1964 | function is expected to split that window and return the new window. If | 1852 | the window (@pxref{Display Action Functions}). |
| 1965 | the function returns @code{nil}, this means that the argument window | 1853 | |
| 1966 | cannot (or shall not) be split. | 1854 | The default value is @code{split-window-sensibly}, which is documented |
| 1967 | 1855 | below. The value must be a function that takes one argument, a | |
| 1968 | The default value of @code{split-window-preferred-function} is the | 1856 | window, and return either a new window (which is used to display the |
| 1969 | function @code{split-window-sensibly} described below. If you | 1857 | desired buffer) or @code{nil} (which means the splitting failed). |
| 1970 | customize this option, bear in mind that the @code{display-buffer} | ||
| 1971 | routines may call your function up to two times when trying to split a | ||
| 1972 | window. The argument of the first call is the largest window on the | ||
| 1973 | chosen frame (as returned by @code{get-largest-window}). If that call | ||
| 1974 | fails to return a live window, your function is called a second time | ||
| 1975 | with the least recently used window on that frame (as returned by | ||
| 1976 | @code{get-lru-window}). | ||
| 1977 | |||
| 1978 | The function specified by this option may try to split any other window | ||
| 1979 | instead of the argument window. Note that the window selected at the | ||
| 1980 | time @code{display-buffer} was invoked is still selected when your | ||
| 1981 | function is called. Hence, you can split the selected window (instead | ||
| 1982 | of the largest or least recently used one) by simply ignoring the window | ||
| 1983 | argument in the body of your function. You can even choose to not split | ||
| 1984 | any window as long as the return value of your function specifies a live | ||
| 1985 | window or @code{nil}, but you are not encouraged to do so | ||
| 1986 | unconditionally. If you want @code{display-buffer} to never split any | ||
| 1987 | windows, set @code{pop-up-windows} to @code{nil}. | ||
| 1988 | @end defopt | 1858 | @end defopt |
| 1989 | 1859 | ||
| 1990 | @defun split-window-sensibly window | 1860 | @defun split-window-sensibly window |
| 1991 | This function takes a window as argument and tries to split that window | 1861 | This function tries to split @code{window}, and return the newly |
| 1992 | in a suitable way. The two variables described next are useful for | 1862 | created window. If @code{window} cannot be split, it returns |
| 1993 | tuning the behavior of this function. | 1863 | @code{nil}. |
| 1864 | |||
| 1865 | This function obeys the usual rules that determine when a window may | ||
| 1866 | be split (@pxref{Splitting Windows}). It first tries to split by | ||
| 1867 | placing the new window below, subject to the restriction imposed by | ||
| 1868 | @code{split-height-threshold} (see below) in addition to any other | ||
| 1869 | restrictions. If that fails, it tries to split by placing the new | ||
| 1870 | window to the right, subject to @code{split-width-threshold} (see | ||
| 1871 | below). If that fails, and the window is the only window on its | ||
| 1872 | frame, this function again tries to split and place the new window | ||
| 1873 | below, disregarding @code{split-height-threshold}. If this fails as | ||
| 1874 | well, this function gives up and returns @code{nil}. | ||
| 1994 | @end defun | 1875 | @end defun |
| 1995 | 1876 | ||
| 1996 | @defopt split-height-threshold | 1877 | @defopt split-height-threshold |
| 1997 | This variable specifies whether @code{split-window-sensibly} may split | 1878 | This variable, used by @code{split-window-sensibly}, specifies whether |
| 1998 | windows vertically. If it is an integer, @code{split-window-sensibly} | 1879 | to split the window placing the new window below. If it is an |
| 1999 | tries to vertically split a window only if it has at least this many | 1880 | integer, that means to split only if the original window has at least |
| 2000 | lines. If the window has less lines, splitting fails, or the value of | 1881 | that many lines. If it is @code{nil}, that means not to split this |
| 2001 | this variable is @code{nil}, @code{split-window-sensibly} will try to | 1882 | way. |
| 2002 | split the window horizontally, subject to restrictions of | ||
| 2003 | @code{split-width-threshold} (see below). If splitting horizontally | ||
| 2004 | fails too and the window is the only window on its frame, | ||
| 2005 | @code{split-window-sensibly} will try to split the window vertically | ||
| 2006 | disregarding the value of @code{split-height-threshold}. If this fails | ||
| 2007 | as well, @code{split-window-sensibly} returns @code{nil}. | ||
| 2008 | |||
| 2009 | @code{split-window-sensibly} does not split vertically a window whose | ||
| 2010 | height is fixed (@pxref{Resizing Windows}). Also, it vertically splits | ||
| 2011 | a window only if the space taken up by that window can accommodate two | ||
| 2012 | windows one above the other that are both at least | ||
| 2013 | @code{window-min-height} lines tall. Moreover, if the window that shall | ||
| 2014 | be split has a mode line, @code{split-window-sensibly} does not split | ||
| 2015 | the window unless the new window can accommodate a mode line too. | ||
| 2016 | @end defopt | 1883 | @end defopt |
| 2017 | 1884 | ||
| 2018 | @defopt split-width-threshold | 1885 | @defopt split-width-threshold |
| 2019 | This variable specifies whether @code{split-window-sensibly} may split | 1886 | This variable, used by @code{split-window-sensibly}, specifies whether |
| 2020 | windows horizontally. If it is an integer, @code{split-window-sensibly} | 1887 | to split the window placing the new window to the right. If the value |
| 2021 | tries to horizontally split a window only if it has at least this many | 1888 | is an integer, that means to split only if the original window has at |
| 2022 | columns. If it is @code{nil}, @code{split-window-sensibly} will not | 1889 | least that many columns. If the value is @code{nil}, that means not |
| 2023 | split the window horizontally. (It still might split the window | 1890 | to split this way. |
| 2024 | vertically, though, see above.) | ||
| 2025 | |||
| 2026 | @code{split-window-sensibly} does not split horizontally a window if | ||
| 2027 | that window's width is fixed (@pxref{Resizing Windows}). Also, it | ||
| 2028 | horizontally splits a window only if the space that window takes up can | ||
| 2029 | accommodate two windows side by side that are both at least | ||
| 2030 | @code{window-min-width} columns wide. | ||
| 2031 | @end defopt | 1891 | @end defopt |
| 2032 | 1892 | ||
| 2033 | @defopt even-window-heights | ||
| 2034 | This variable specifies whether @code{display-buffer} should even out | ||
| 2035 | window heights if the buffer gets displayed in an existing window, above | ||
| 2036 | or beneath another window. If @code{even-window-heights} is | ||
| 2037 | non-@code{nil}, the default, window heights will be evened out. If | ||
| 2038 | either of the involved window has fixed height (@pxref{Resizing | ||
| 2039 | Windows}) or @code{even-window-heights} is @code{nil}, the original | ||
| 2040 | window heights will be left alone. | ||
| 2041 | @end defopt | ||
| 2042 | |||
| 2043 | @c Emacs 19 feature | ||
| 2044 | @defopt pop-up-frames | 1893 | @defopt pop-up-frames |
| 2045 | This variable specifies whether @code{display-buffer} should make new | 1894 | If the value of this variable is non-@code{nil}, that means |
| 2046 | frames. If it is non-@code{nil}, @code{display-buffer} looks for a | 1895 | @code{display-buffer} may display buffers by making new frames. The |
| 2047 | window already displaying @var{buffer-or-name} on any visible or | 1896 | default is @code{nil}. |
| 2048 | iconified frame. If it finds such a window, it makes that window's | 1897 | |
| 2049 | frame visible and raises it if necessary, and returns the window. | 1898 | A non-@code{nil} value also means that when @code{display-buffer} is |
| 2050 | Otherwise it makes a new frame, unless the variable's value is | 1899 | looking for a window already displaying @var{buffer-or-name}, it can |
| 2051 | @code{graphic-only} and the selected frame is not on a graphic display. | 1900 | search any visible or iconified frame, not just the selected frame. |
| 2052 | @xref{Frames}, for more information. | 1901 | |
| 2053 | 1902 | This variable is provided mainly for backward compatibility. It is | |
| 2054 | Note that the value of @code{pop-up-windows} does not matter if | 1903 | obeyed by @code{display-buffer} via a special mechanism in |
| 2055 | @code{pop-up-frames} is non-@code{nil}. If @code{pop-up-frames} is | 1904 | @code{display-buffer-fallback-action}, which calls the action function |
| 2056 | @code{nil}, then @code{display-buffer} either splits a window or reuses | 1905 | @code{display-buffer-pop-up-frame} (@pxref{Display Action Functions}) |
| 2057 | one. | 1906 | if the value is non-@code{nil}. (This is done before attempting to |
| 1907 | split a window.) This variable is not consulted by | ||
| 1908 | @code{display-buffer-pop-up-frame} itself, which the user may specify | ||
| 1909 | directly in @code{display-buffer-alist} etc. | ||
| 2058 | @end defopt | 1910 | @end defopt |
| 2059 | 1911 | ||
| 2060 | @c Emacs 19 feature | ||
| 2061 | @defopt pop-up-frame-function | 1912 | @defopt pop-up-frame-function |
| 2062 | This variable specifies how to make a new frame if @code{pop-up-frames} | 1913 | This variable specifies a function for creating a new frame, in order |
| 2063 | is non-@code{nil}. | 1914 | to make a new window for displaying a buffer. It is used by the |
| 2064 | 1915 | @code{display-buffer-pop-up-frame} action function (@pxref{Display | |
| 2065 | The value of this variable must be a function of no arguments. When | 1916 | Action Functions}). |
| 2066 | @code{display-buffer} makes a new frame, it does so by calling that | 1917 | |
| 2067 | function, which should return a frame. The default value of this | 1918 | The value should be a function that takes no arguments and returns a |
| 2068 | variable is a function that creates a frame using the parameters | 1919 | frame, or @code{nil} if no frame could be created. The default value |
| 2069 | specified by @code{pop-up-frame-alist} described next. | 1920 | is a function that creates a frame using the parameters specified by |
| 1921 | @code{pop-up-frame-alist} (see below). | ||
| 2070 | @end defopt | 1922 | @end defopt |
| 2071 | 1923 | ||
| 2072 | @defopt pop-up-frame-alist | 1924 | @defopt pop-up-frame-alist |
| 2073 | This variable holds an alist specifying frame parameters used by the | 1925 | This variable holds an alist of frame parameters (@pxref{Frame |
| 2074 | default value of @code{pop-up-frame-function} for making new frames. | 1926 | Parameters}), which is used by the default function in |
| 2075 | @xref{Frame Parameters}, for more information about frame parameters. | 1927 | @code{pop-up-frame-function} to make a new frame. The default is |
| 1928 | @code{nil}. | ||
| 2076 | @end defopt | 1929 | @end defopt |
| 2077 | 1930 | ||
| 2078 | @defopt special-display-buffer-names | 1931 | @defopt special-display-buffer-names |
| @@ -2193,12 +2046,6 @@ This variable takes precedence over all the other options described | |||
| 2193 | above. | 2046 | above. |
| 2194 | @end defopt | 2047 | @end defopt |
| 2195 | 2048 | ||
| 2196 | If all options described above fail to produce a suitable window, | ||
| 2197 | @code{display-buffer} tries to reuse an existing window. As a last | ||
| 2198 | resort, it will try to display @var{buffer-or-name} on a separate frame. | ||
| 2199 | In that case, the value of @code{pop-up-frames} is disregarded. | ||
| 2200 | |||
| 2201 | |||
| 2202 | @node Window History | 2049 | @node Window History |
| 2203 | @section Window History | 2050 | @section Window History |
| 2204 | @cindex window history | 2051 | @cindex window history |
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 924f3501bfa..43d9ba1b1e6 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog | |||
| @@ -1,3 +1,19 @@ | |||
| 1 | 2011-11-20 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * gnus.texi (Group Information): | ||
| 4 | Remove gnus-group-fetch-faq, command deleted 2010-09-24. | ||
| 5 | |||
| 6 | 2011-11-20 Juanma Barranquero <lekktu@gmail.com> | ||
| 7 | |||
| 8 | * gnus-coding.texi (Gnus Maintenance Guide): | ||
| 9 | Rename from "Gnus Maintainance Guide". | ||
| 10 | |||
| 11 | * ede.texi (ede-compilation-program, ede-compiler, ede-linker): | ||
| 12 | * eieio.texi (Customizing): | ||
| 13 | * gnus.texi (Article Washing): | ||
| 14 | * gnus-news.texi: | ||
| 15 | * sem-user.texi (Smart Jump): Fix typos. | ||
| 16 | |||
| 1 | 2011-11-16 Juanma Barranquero <lekktu@gmail.com> | 17 | 2011-11-16 Juanma Barranquero <lekktu@gmail.com> |
| 2 | 18 | ||
| 3 | * org.texi (Agenda commands, Exporting Agenda Views): Fix typos. | 19 | * org.texi (Agenda commands, Exporting Agenda Views): Fix typos. |
diff --git a/doc/misc/ada-mode.texi b/doc/misc/ada-mode.texi index 374158c2c78..0eb20d01324 100644 --- a/doc/misc/ada-mode.texi +++ b/doc/misc/ada-mode.texi | |||
| @@ -1357,7 +1357,7 @@ specifies the casing of one word or word fragment. Comments may be | |||
| 1357 | included, separated from the word by a space. | 1357 | included, separated from the word by a space. |
| 1358 | 1358 | ||
| 1359 | If the word starts with an asterisk (@key{*}), it defines the casing | 1359 | If the word starts with an asterisk (@key{*}), it defines the casing |
| 1360 | af a word fragment (or ``substring''); part of a word between two | 1360 | as a word fragment (or ``substring''); part of a word between two |
| 1361 | underscores or word boundary. | 1361 | underscores or word boundary. |
| 1362 | 1362 | ||
| 1363 | For example: | 1363 | For example: |
diff --git a/doc/misc/autotype.texi b/doc/misc/autotype.texi index 2e66c78a3cb..ecf4c7e47b2 100644 --- a/doc/misc/autotype.texi +++ b/doc/misc/autotype.texi | |||
| @@ -156,7 +156,7 @@ the point is normally left after that skeleton is inserted (@pxref{Using | |||
| 156 | Skeletons}). The point (@pxref{(emacs)Point}) is left at the next | 156 | Skeletons}). The point (@pxref{(emacs)Point}) is left at the next |
| 157 | interesting spot in the skeleton instead. | 157 | interesting spot in the skeleton instead. |
| 158 | 158 | ||
| 159 | A negative prefix means to do something similar with that many precedingly | 159 | A negative prefix means to do something similar with that many previously |
| 160 | marked interregions (@pxref{(emacs)Mark}). In the simplest case, if you type | 160 | marked interregions (@pxref{(emacs)Mark}). In the simplest case, if you type |
| 161 | @kbd{M--} just before issuing the skeleton command, that will wrap the | 161 | @kbd{M--} just before issuing the skeleton command, that will wrap the |
| 162 | skeleton around the current region, just like a positive argument would have | 162 | skeleton around the current region, just like a positive argument would have |
diff --git a/doc/misc/calc.texi b/doc/misc/calc.texi index 5a1ee872a2b..290b120ea80 100644 --- a/doc/misc/calc.texi +++ b/doc/misc/calc.texi | |||
| @@ -90,7 +90,7 @@ | |||
| 90 | This file documents Calc, the GNU Emacs calculator. | 90 | This file documents Calc, the GNU Emacs calculator. |
| 91 | @end ifinfo | 91 | @end ifinfo |
| 92 | @ifnotinfo | 92 | @ifnotinfo |
| 93 | This file documents Calc, the GNU Emacs calculator, included with | 93 | This file documents Calc, the GNU Emacs calculator, included with |
| 94 | GNU Emacs @value{EMACSVER}. | 94 | GNU Emacs @value{EMACSVER}. |
| 95 | @end ifnotinfo | 95 | @end ifnotinfo |
| 96 | 96 | ||
| @@ -324,7 +324,7 @@ need to know. | |||
| 324 | @c @cindex Marginal notes | 324 | @c @cindex Marginal notes |
| 325 | Every Calc keyboard command is listed in the Calc Summary, and also | 325 | Every Calc keyboard command is listed in the Calc Summary, and also |
| 326 | in the Key Index. Algebraic functions, @kbd{M-x} commands, and | 326 | in the Key Index. Algebraic functions, @kbd{M-x} commands, and |
| 327 | variables also have their own indices. | 327 | variables also have their own indices. |
| 328 | @c @texline Each | 328 | @c @texline Each |
| 329 | @c @infoline In the printed manual, each | 329 | @c @infoline In the printed manual, each |
| 330 | @c paragraph that is referenced in the Key or Function Index is marked | 330 | @c paragraph that is referenced in the Key or Function Index is marked |
| @@ -338,7 +338,7 @@ the @kbd{h i} key sequence. Outside of the Calc window, you can press | |||
| 338 | command @kbd{C-x * t} will jump to the Tutorial and start Calc if | 338 | command @kbd{C-x * t} will jump to the Tutorial and start Calc if |
| 339 | necessary. Pressing @kbd{h s} or @kbd{C-x * s} will take you directly | 339 | necessary. Pressing @kbd{h s} or @kbd{C-x * s} will take you directly |
| 340 | to the Calc Summary. Within Calc, you can also go to the part of the | 340 | to the Calc Summary. Within Calc, you can also go to the part of the |
| 341 | manual describing any Calc key, function, or variable using | 341 | manual describing any Calc key, function, or variable using |
| 342 | @w{@kbd{h k}}, @kbd{h f}, or @kbd{h v}, respectively. @xref{Help Commands}. | 342 | @w{@kbd{h k}}, @kbd{h f}, or @kbd{h v}, respectively. @xref{Help Commands}. |
| 343 | 343 | ||
| 344 | @ifnottex | 344 | @ifnottex |
| @@ -437,12 +437,12 @@ Delete, and Space keys. | |||
| 437 | then the command to operate on the numbers. | 437 | then the command to operate on the numbers. |
| 438 | 438 | ||
| 439 | @noindent | 439 | @noindent |
| 440 | Type @kbd{2 @key{RET} 3 + Q} to compute | 440 | Type @kbd{2 @key{RET} 3 + Q} to compute |
| 441 | @texline @math{\sqrt{2+3} = 2.2360679775}. | 441 | @texline @math{\sqrt{2+3} = 2.2360679775}. |
| 442 | @infoline the square root of 2+3, which is 2.2360679775. | 442 | @infoline the square root of 2+3, which is 2.2360679775. |
| 443 | 443 | ||
| 444 | @noindent | 444 | @noindent |
| 445 | Type @kbd{P 2 ^} to compute | 445 | Type @kbd{P 2 ^} to compute |
| 446 | @texline @math{\pi^2 = 9.86960440109}. | 446 | @texline @math{\pi^2 = 9.86960440109}. |
| 447 | @infoline the value of `pi' squared, 9.86960440109. | 447 | @infoline the value of `pi' squared, 9.86960440109. |
| 448 | 448 | ||
| @@ -461,14 +461,14 @@ conventional ``algebraic'' notation. To enter an algebraic formula, | |||
| 461 | use the apostrophe key. | 461 | use the apostrophe key. |
| 462 | 462 | ||
| 463 | @noindent | 463 | @noindent |
| 464 | Type @kbd{' sqrt(2+3) @key{RET}} to compute | 464 | Type @kbd{' sqrt(2+3) @key{RET}} to compute |
| 465 | @texline @math{\sqrt{2+3}}. | 465 | @texline @math{\sqrt{2+3}}. |
| 466 | @infoline the square root of 2+3. | 466 | @infoline the square root of 2+3. |
| 467 | 467 | ||
| 468 | @noindent | 468 | @noindent |
| 469 | Type @kbd{' pi^2 @key{RET}} to enter | 469 | Type @kbd{' pi^2 @key{RET}} to enter |
| 470 | @texline @math{\pi^2}. | 470 | @texline @math{\pi^2}. |
| 471 | @infoline `pi' squared. | 471 | @infoline `pi' squared. |
| 472 | To evaluate this symbolic formula as a number, type @kbd{=}. | 472 | To evaluate this symbolic formula as a number, type @kbd{=}. |
| 473 | 473 | ||
| 474 | @noindent | 474 | @noindent |
| @@ -526,10 +526,10 @@ the upper-leftmost @samp{1} and set the mark, then move to just after | |||
| 526 | the lower-right @samp{8} and press @kbd{C-x * r}. | 526 | the lower-right @samp{8} and press @kbd{C-x * r}. |
| 527 | 527 | ||
| 528 | @noindent | 528 | @noindent |
| 529 | Type @kbd{v t} to transpose this | 529 | Type @kbd{v t} to transpose this |
| 530 | @texline @math{3\times2} | 530 | @texline @math{3\times2} |
| 531 | @infoline 3x2 | 531 | @infoline 3x2 |
| 532 | matrix into a | 532 | matrix into a |
| 533 | @texline @math{2\times3} | 533 | @texline @math{2\times3} |
| 534 | @infoline 2x3 | 534 | @infoline 2x3 |
| 535 | matrix. Type @w{@kbd{v u}} to unpack the rows into two separate | 535 | matrix. Type @w{@kbd{v u}} to unpack the rows into two separate |
| @@ -605,7 +605,7 @@ there are Quick mode, Keypad mode, and Embedded mode. | |||
| 605 | 605 | ||
| 606 | @noindent | 606 | @noindent |
| 607 | On most systems, you can type @kbd{C-x *} to start the Calculator. | 607 | On most systems, you can type @kbd{C-x *} to start the Calculator. |
| 608 | The key sequence @kbd{C-x *} is bound to the command @code{calc-dispatch}, | 608 | The key sequence @kbd{C-x *} is bound to the command @code{calc-dispatch}, |
| 609 | which can be rebound if convenient (@pxref{Customizing Calc}). | 609 | which can be rebound if convenient (@pxref{Customizing Calc}). |
| 610 | 610 | ||
| 611 | When you press @kbd{C-x *}, Emacs waits for you to press a second key to | 611 | When you press @kbd{C-x *}, Emacs waits for you to press a second key to |
| @@ -1154,9 +1154,9 @@ its initial state: Empty stack, and initial mode settings. | |||
| 1154 | @noindent | 1154 | @noindent |
| 1155 | Calc was originally started as a two-week project to occupy a lull | 1155 | Calc was originally started as a two-week project to occupy a lull |
| 1156 | in the author's schedule. Basically, a friend asked if I remembered | 1156 | in the author's schedule. Basically, a friend asked if I remembered |
| 1157 | the value of | 1157 | the value of |
| 1158 | @texline @math{2^{32}}. | 1158 | @texline @math{2^{32}}. |
| 1159 | @infoline @expr{2^32}. | 1159 | @infoline @expr{2^32}. |
| 1160 | I didn't offhand, but I said, ``that's easy, just call up an | 1160 | I didn't offhand, but I said, ``that's easy, just call up an |
| 1161 | @code{xcalc}.'' @code{Xcalc} duly reported that the answer to our | 1161 | @code{xcalc}.'' @code{Xcalc} duly reported that the answer to our |
| 1162 | question was @samp{4.294967e+09}---with no way to see the full ten | 1162 | question was @samp{4.294967e+09}---with no way to see the full ten |
| @@ -1213,7 +1213,7 @@ algebra system for microcomputers. | |||
| 1213 | Many people have contributed to Calc by reporting bugs and suggesting | 1213 | Many people have contributed to Calc by reporting bugs and suggesting |
| 1214 | features, large and small. A few deserve special mention: Tim Peters, | 1214 | features, large and small. A few deserve special mention: Tim Peters, |
| 1215 | who helped develop the ideas that led to the selection commands, rewrite | 1215 | who helped develop the ideas that led to the selection commands, rewrite |
| 1216 | rules, and many other algebra features; | 1216 | rules, and many other algebra features; |
| 1217 | @texline Fran\c{c}ois | 1217 | @texline Fran\c{c}ois |
| 1218 | @infoline Francois | 1218 | @infoline Francois |
| 1219 | Pinard, who contributed an early prototype of the Calc Summary appendix | 1219 | Pinard, who contributed an early prototype of the Calc Summary appendix |
| @@ -1226,7 +1226,7 @@ Randal Schwartz, who suggested the @code{calc-eval} function; Juha | |||
| 1226 | Sarlin, who first worked out how to split Calc into quickly-loading | 1226 | Sarlin, who first worked out how to split Calc into quickly-loading |
| 1227 | parts; Bob Weiner, who helped immensely with the Lucid Emacs port; and | 1227 | parts; Bob Weiner, who helped immensely with the Lucid Emacs port; and |
| 1228 | Robert J. Chassell, who suggested the Calc Tutorial and exercises as | 1228 | Robert J. Chassell, who suggested the Calc Tutorial and exercises as |
| 1229 | well as many other things. | 1229 | well as many other things. |
| 1230 | 1230 | ||
| 1231 | @cindex Bibliography | 1231 | @cindex Bibliography |
| 1232 | @cindex Knuth, Art of Computer Programming | 1232 | @cindex Knuth, Art of Computer Programming |
| @@ -1472,9 +1472,9 @@ Here's the first exercise: What will the keystrokes @kbd{1 @key{RET} 2 | |||
| 1472 | multiplication.) Figure it out by hand, then try it with Calc to see | 1472 | multiplication.) Figure it out by hand, then try it with Calc to see |
| 1473 | if you're right. @xref{RPN Answer 1, 1}. (@bullet{}) | 1473 | if you're right. @xref{RPN Answer 1, 1}. (@bullet{}) |
| 1474 | 1474 | ||
| 1475 | (@bullet{}) @strong{Exercise 2.} Compute | 1475 | (@bullet{}) @strong{Exercise 2.} Compute |
| 1476 | @texline @math{(2\times4) + (7\times9.4) + {5\over4}} | 1476 | @texline @math{(2\times4) + (7\times9.4) + {5\over4}} |
| 1477 | @infoline @expr{2*4 + 7*9.5 + 5/4} | 1477 | @infoline @expr{2*4 + 7*9.5 + 5/4} |
| 1478 | using the stack. @xref{RPN Answer 2, 2}. (@bullet{}) | 1478 | using the stack. @xref{RPN Answer 2, 2}. (@bullet{}) |
| 1479 | 1479 | ||
| 1480 | The @key{DEL} key is called Backspace on some keyboards. It is | 1480 | The @key{DEL} key is called Backspace on some keyboards. It is |
| @@ -1889,7 +1889,7 @@ intermediate results of a calculation as you go along. You can | |||
| 1889 | accomplish this in Calc by performing your calculation as a series | 1889 | accomplish this in Calc by performing your calculation as a series |
| 1890 | of algebraic entries, using the @kbd{$} sign to tie them together. | 1890 | of algebraic entries, using the @kbd{$} sign to tie them together. |
| 1891 | In an algebraic formula, @kbd{$} represents the number on the top | 1891 | In an algebraic formula, @kbd{$} represents the number on the top |
| 1892 | of the stack. Here, we perform the calculation | 1892 | of the stack. Here, we perform the calculation |
| 1893 | @texline @math{\sqrt{2\times4+1}}, | 1893 | @texline @math{\sqrt{2\times4+1}}, |
| 1894 | @infoline @expr{sqrt(2*4+1)}, | 1894 | @infoline @expr{sqrt(2*4+1)}, |
| 1895 | which on a traditional calculator would be done by pressing | 1895 | which on a traditional calculator would be done by pressing |
| @@ -2149,7 +2149,7 @@ key. If you type a prefix key by accident, you can press @kbd{C-g} | |||
| 2149 | to cancel it. (In fact, you can press @kbd{C-g} to cancel almost | 2149 | to cancel it. (In fact, you can press @kbd{C-g} to cancel almost |
| 2150 | anything in Emacs.) To get help on a prefix key, press that key | 2150 | anything in Emacs.) To get help on a prefix key, press that key |
| 2151 | followed by @kbd{?}. Some prefixes have several lines of help, | 2151 | followed by @kbd{?}. Some prefixes have several lines of help, |
| 2152 | so you need to press @kbd{?} repeatedly to see them all. | 2152 | so you need to press @kbd{?} repeatedly to see them all. |
| 2153 | You can also type @kbd{h h} to see all the help at once. | 2153 | You can also type @kbd{h h} to see all the help at once. |
| 2154 | 2154 | ||
| 2155 | Try pressing @kbd{t ?} now. You will see a line of the form, | 2155 | Try pressing @kbd{t ?} now. You will see a line of the form, |
| @@ -2550,13 +2550,13 @@ angle is measured in degrees. For example, | |||
| 2550 | 2550 | ||
| 2551 | @noindent | 2551 | @noindent |
| 2552 | The shift-@kbd{S} command computes the sine of an angle. The sine | 2552 | The shift-@kbd{S} command computes the sine of an angle. The sine |
| 2553 | of 45 degrees is | 2553 | of 45 degrees is |
| 2554 | @texline @math{\sqrt{2}/2}; | 2554 | @texline @math{\sqrt{2}/2}; |
| 2555 | @infoline @expr{sqrt(2)/2}; | 2555 | @infoline @expr{sqrt(2)/2}; |
| 2556 | squaring this yields @expr{2/4 = 0.5}. However, there has been a slight | 2556 | squaring this yields @expr{2/4 = 0.5}. However, there has been a slight |
| 2557 | roundoff error because the representation of | 2557 | roundoff error because the representation of |
| 2558 | @texline @math{\sqrt{2}/2} | 2558 | @texline @math{\sqrt{2}/2} |
| 2559 | @infoline @expr{sqrt(2)/2} | 2559 | @infoline @expr{sqrt(2)/2} |
| 2560 | wasn't exact. The @kbd{c 1} command is a handy way to clean up numbers | 2560 | wasn't exact. The @kbd{c 1} command is a handy way to clean up numbers |
| 2561 | in this case; it temporarily reduces the precision by one digit while it | 2561 | in this case; it temporarily reduces the precision by one digit while it |
| 2562 | re-rounds the number on the top of the stack. | 2562 | re-rounds the number on the top of the stack. |
| @@ -2595,9 +2595,9 @@ either radians or degrees, depending on the current angular mode. | |||
| 2595 | @end smallexample | 2595 | @end smallexample |
| 2596 | 2596 | ||
| 2597 | @noindent | 2597 | @noindent |
| 2598 | Here we compute the Inverse Sine of | 2598 | Here we compute the Inverse Sine of |
| 2599 | @texline @math{\sqrt{0.5}}, | 2599 | @texline @math{\sqrt{0.5}}, |
| 2600 | @infoline @expr{sqrt(0.5)}, | 2600 | @infoline @expr{sqrt(0.5)}, |
| 2601 | first in radians, then in degrees. | 2601 | first in radians, then in degrees. |
| 2602 | 2602 | ||
| 2603 | Use @kbd{c d} and @kbd{c r} to convert a number from radians to degrees | 2603 | Use @kbd{c d} and @kbd{c r} to convert a number from radians to degrees |
| @@ -2783,9 +2783,9 @@ logarithm). These can be modified by the @kbd{I} (inverse) and | |||
| 2783 | @kbd{H} (hyperbolic) prefix keys. | 2783 | @kbd{H} (hyperbolic) prefix keys. |
| 2784 | 2784 | ||
| 2785 | Let's compute the sine and cosine of an angle, and verify the | 2785 | Let's compute the sine and cosine of an angle, and verify the |
| 2786 | identity | 2786 | identity |
| 2787 | @texline @math{\sin^2x + \cos^2x = 1}. | 2787 | @texline @math{\sin^2x + \cos^2x = 1}. |
| 2788 | @infoline @expr{sin(x)^2 + cos(x)^2 = 1}. | 2788 | @infoline @expr{sin(x)^2 + cos(x)^2 = 1}. |
| 2789 | We'll arbitrarily pick @mathit{-64} degrees as a good value for @expr{x}. | 2789 | We'll arbitrarily pick @mathit{-64} degrees as a good value for @expr{x}. |
| 2790 | With the angular mode set to degrees (type @w{@kbd{m d}}), do: | 2790 | With the angular mode set to degrees (type @w{@kbd{m d}}), do: |
| 2791 | 2791 | ||
| @@ -2806,7 +2806,7 @@ You can of course do these calculations to any precision you like.) | |||
| 2806 | Remember, @kbd{f h} is the @code{calc-hypot}, or square-root of sum | 2806 | Remember, @kbd{f h} is the @code{calc-hypot}, or square-root of sum |
| 2807 | of squares, command. | 2807 | of squares, command. |
| 2808 | 2808 | ||
| 2809 | Another identity is | 2809 | Another identity is |
| 2810 | @texline @math{\displaystyle\tan x = {\sin x \over \cos x}}. | 2810 | @texline @math{\displaystyle\tan x = {\sin x \over \cos x}}. |
| 2811 | @infoline @expr{tan(x) = sin(x) / cos(x)}. | 2811 | @infoline @expr{tan(x) = sin(x) / cos(x)}. |
| 2812 | @smallexample | 2812 | @smallexample |
| @@ -2871,7 +2871,7 @@ the top two stack elements right after the @kbd{U U}, then a pair of | |||
| 2871 | A similar identity is supposed to hold for hyperbolic sines and cosines, | 2871 | A similar identity is supposed to hold for hyperbolic sines and cosines, |
| 2872 | except that it is the @emph{difference} | 2872 | except that it is the @emph{difference} |
| 2873 | @texline @math{\cosh^2x - \sinh^2x} | 2873 | @texline @math{\cosh^2x - \sinh^2x} |
| 2874 | @infoline @expr{cosh(x)^2 - sinh(x)^2} | 2874 | @infoline @expr{cosh(x)^2 - sinh(x)^2} |
| 2875 | that always equals one. Let's try to verify this identity. | 2875 | that always equals one. Let's try to verify this identity. |
| 2876 | 2876 | ||
| 2877 | @smallexample | 2877 | @smallexample |
| @@ -2993,7 +2993,7 @@ factorial function defined in terms of Euler's Gamma function | |||
| 2993 | @end smallexample | 2993 | @end smallexample |
| 2994 | 2994 | ||
| 2995 | @noindent | 2995 | @noindent |
| 2996 | Here we verify the identity | 2996 | Here we verify the identity |
| 2997 | @texline @math{n! = \Gamma(n+1)}. | 2997 | @texline @math{n! = \Gamma(n+1)}. |
| 2998 | @infoline @expr{@var{n}!@: = gamma(@var{n}+1)}. | 2998 | @infoline @expr{@var{n}!@: = gamma(@var{n}+1)}. |
| 2999 | 2999 | ||
| @@ -3283,11 +3283,11 @@ rows in the matrix is different from the number of elements in the | |||
| 3283 | vector. | 3283 | vector. |
| 3284 | 3284 | ||
| 3285 | (@bullet{}) @strong{Exercise 1.} Use @samp{*} to sum along the rows | 3285 | (@bullet{}) @strong{Exercise 1.} Use @samp{*} to sum along the rows |
| 3286 | of the above | 3286 | of the above |
| 3287 | @texline @math{2\times3} | 3287 | @texline @math{2\times3} |
| 3288 | @infoline 2x3 | 3288 | @infoline 2x3 |
| 3289 | matrix to get @expr{[6, 15]}. Now use @samp{*} to sum along the columns | 3289 | matrix to get @expr{[6, 15]}. Now use @samp{*} to sum along the columns |
| 3290 | to get @expr{[5, 7, 9]}. | 3290 | to get @expr{[5, 7, 9]}. |
| 3291 | @xref{Matrix Answer 1, 1}. (@bullet{}) | 3291 | @xref{Matrix Answer 1, 1}. (@bullet{}) |
| 3292 | 3292 | ||
| 3293 | @cindex Identity matrix | 3293 | @cindex Identity matrix |
| @@ -3432,7 +3432,7 @@ the matrix and vector. If we multiplied in the other order, Calc would | |||
| 3432 | assume the vector was a row vector in order to make the dimensions | 3432 | assume the vector was a row vector in order to make the dimensions |
| 3433 | come out right, and the answer would be incorrect. If you | 3433 | come out right, and the answer would be incorrect. If you |
| 3434 | don't feel safe letting Calc take either interpretation of your | 3434 | don't feel safe letting Calc take either interpretation of your |
| 3435 | vectors, use explicit | 3435 | vectors, use explicit |
| 3436 | @texline @math{N\times1} | 3436 | @texline @math{N\times1} |
| 3437 | @infoline Nx1 | 3437 | @infoline Nx1 |
| 3438 | or | 3438 | or |
| @@ -3482,9 +3482,9 @@ on the left by the transpose of @expr{A}: | |||
| 3482 | @tex | 3482 | @tex |
| 3483 | $A^T A \, X = A^T B$, where $A^T$ is the transpose \samp{trn(A)}. | 3483 | $A^T A \, X = A^T B$, where $A^T$ is the transpose \samp{trn(A)}. |
| 3484 | @end tex | 3484 | @end tex |
| 3485 | Now | 3485 | Now |
| 3486 | @texline @math{A^T A} | 3486 | @texline @math{A^T A} |
| 3487 | @infoline @expr{trn(A)*A} | 3487 | @infoline @expr{trn(A)*A} |
| 3488 | is a square matrix so a solution is possible. It turns out that the | 3488 | is a square matrix so a solution is possible. It turns out that the |
| 3489 | @expr{X} vector you compute in this way will be a ``least-squares'' | 3489 | @expr{X} vector you compute in this way will be a ``least-squares'' |
| 3490 | solution, which can be regarded as the ``closest'' solution to the set | 3490 | solution, which can be regarded as the ``closest'' solution to the set |
| @@ -3577,9 +3577,9 @@ other a plain number.) In the final step, we take the square root | |||
| 3577 | of each element. | 3577 | of each element. |
| 3578 | 3578 | ||
| 3579 | (@bullet{}) @strong{Exercise 1.} Compute a vector of powers of two | 3579 | (@bullet{}) @strong{Exercise 1.} Compute a vector of powers of two |
| 3580 | from | 3580 | from |
| 3581 | @texline @math{2^{-4}} | 3581 | @texline @math{2^{-4}} |
| 3582 | @infoline @expr{2^-4} | 3582 | @infoline @expr{2^-4} |
| 3583 | to @expr{2^4}. @xref{List Answer 1, 1}. (@bullet{}) | 3583 | to @expr{2^4}. @xref{List Answer 1, 1}. (@bullet{}) |
| 3584 | 3584 | ||
| 3585 | You can also @dfn{reduce} a binary operator across a vector. | 3585 | You can also @dfn{reduce} a binary operator across a vector. |
| @@ -3780,9 +3780,9 @@ $$ m = {N \sum x y - \sum x \sum y \over | |||
| 3780 | @end tex | 3780 | @end tex |
| 3781 | 3781 | ||
| 3782 | @noindent | 3782 | @noindent |
| 3783 | where | 3783 | where |
| 3784 | @texline @math{\sum x} | 3784 | @texline @math{\sum x} |
| 3785 | @infoline @expr{sum(x)} | 3785 | @infoline @expr{sum(x)} |
| 3786 | represents the sum of all the values of @expr{x}. While there is an | 3786 | represents the sum of all the values of @expr{x}. While there is an |
| 3787 | actual @code{sum} function in Calc, it's easier to sum a vector using a | 3787 | actual @code{sum} function in Calc, it's easier to sum a vector using a |
| 3788 | simple reduction. First, let's compute the four different sums that | 3788 | simple reduction. First, let's compute the four different sums that |
| @@ -3883,9 +3883,9 @@ $$ b = {\sum y - m \sum x \over N} $$ | |||
| 3883 | @end group | 3883 | @end group |
| 3884 | @end smallexample | 3884 | @end smallexample |
| 3885 | 3885 | ||
| 3886 | Let's ``plot'' this straight line approximation, | 3886 | Let's ``plot'' this straight line approximation, |
| 3887 | @texline @math{y \approx m x + b}, | 3887 | @texline @math{y \approx m x + b}, |
| 3888 | @infoline @expr{m x + b}, | 3888 | @infoline @expr{m x + b}, |
| 3889 | and compare it with the original data. | 3889 | and compare it with the original data. |
| 3890 | 3890 | ||
| 3891 | @smallexample | 3891 | @smallexample |
| @@ -3959,7 +3959,7 @@ Next, let's add the line we got from our least-squares fit. | |||
| 3959 | (If you are reading this tutorial on-line while running Calc, typing | 3959 | (If you are reading this tutorial on-line while running Calc, typing |
| 3960 | @kbd{g a} may cause the tutorial to disappear from its window and be | 3960 | @kbd{g a} may cause the tutorial to disappear from its window and be |
| 3961 | replaced by a buffer named @samp{*Gnuplot Commands*}. The tutorial | 3961 | replaced by a buffer named @samp{*Gnuplot Commands*}. The tutorial |
| 3962 | will reappear when you terminate GNUPLOT by typing @kbd{g q}.) | 3962 | will reappear when you terminate GNUPLOT by typing @kbd{g q}.) |
| 3963 | @end ifinfo | 3963 | @end ifinfo |
| 3964 | 3964 | ||
| 3965 | @smallexample | 3965 | @smallexample |
| @@ -4138,7 +4138,7 @@ command to enable multi-line display of vectors.) | |||
| 4138 | @c [fix-ref Numerical Solutions] | 4138 | @c [fix-ref Numerical Solutions] |
| 4139 | (@bullet{}) @strong{Exercise 8.} Compute a list of values of Bessel's | 4139 | (@bullet{}) @strong{Exercise 8.} Compute a list of values of Bessel's |
| 4140 | @texline @math{J_1(x)} | 4140 | @texline @math{J_1(x)} |
| 4141 | @infoline @expr{J1} | 4141 | @infoline @expr{J1} |
| 4142 | function @samp{besJ(1,x)} for @expr{x} from 0 to 5 in steps of 0.25. | 4142 | function @samp{besJ(1,x)} for @expr{x} from 0 to 5 in steps of 0.25. |
| 4143 | Find the value of @expr{x} (from among the above set of values) for | 4143 | Find the value of @expr{x} (from among the above set of values) for |
| 4144 | which @samp{besJ(1,x)} is a maximum. Use an ``automatic'' method, | 4144 | which @samp{besJ(1,x)} is a maximum. Use an ``automatic'' method, |
| @@ -4150,7 +4150,7 @@ of thing automatically; @pxref{Numerical Solutions}.) | |||
| 4150 | @cindex Digits, vectors of | 4150 | @cindex Digits, vectors of |
| 4151 | (@bullet{}) @strong{Exercise 9.} You are given an integer in the range | 4151 | (@bullet{}) @strong{Exercise 9.} You are given an integer in the range |
| 4152 | @texline @math{0 \le N < 10^m} | 4152 | @texline @math{0 \le N < 10^m} |
| 4153 | @infoline @expr{0 <= N < 10^m} | 4153 | @infoline @expr{0 <= N < 10^m} |
| 4154 | for @expr{m=12} (i.e., an integer of less than | 4154 | for @expr{m=12} (i.e., an integer of less than |
| 4155 | twelve digits). Convert this integer into a vector of @expr{m} | 4155 | twelve digits). Convert this integer into a vector of @expr{m} |
| 4156 | digits, each in the range from 0 to 9. In vector-of-digits notation, | 4156 | digits, each in the range from 0 to 9. In vector-of-digits notation, |
| @@ -4164,12 +4164,12 @@ to try is 25129925999. @xref{List Answer 9, 9}. (@bullet{}) | |||
| 4164 | happened? How would you do this test? @xref{List Answer 10, 10}. (@bullet{}) | 4164 | happened? How would you do this test? @xref{List Answer 10, 10}. (@bullet{}) |
| 4165 | 4165 | ||
| 4166 | (@bullet{}) @strong{Exercise 11.} The area of a circle of radius one | 4166 | (@bullet{}) @strong{Exercise 11.} The area of a circle of radius one |
| 4167 | is @cpi{}. The area of the | 4167 | is @cpi{}. The area of the |
| 4168 | @texline @math{2\times2} | 4168 | @texline @math{2\times2} |
| 4169 | @infoline 2x2 | 4169 | @infoline 2x2 |
| 4170 | square that encloses that circle is 4. So if we throw @var{n} darts at | 4170 | square that encloses that circle is 4. So if we throw @var{n} darts at |
| 4171 | random points in the square, about @cpiover{4} of them will land inside | 4171 | random points in the square, about @cpiover{4} of them will land inside |
| 4172 | the circle. This gives us an entertaining way to estimate the value of | 4172 | the circle. This gives us an entertaining way to estimate the value of |
| 4173 | @cpi{}. The @w{@kbd{k r}} | 4173 | @cpi{}. The @w{@kbd{k r}} |
| 4174 | command picks a random number between zero and the value on the stack. | 4174 | command picks a random number between zero and the value on the stack. |
| 4175 | We could get a random floating-point number between @mathit{-1} and 1 by typing | 4175 | We could get a random floating-point number between @mathit{-1} and 1 by typing |
| @@ -4183,12 +4183,12 @@ points lie inside the unit circle. Hint: Use the @kbd{v b} command. | |||
| 4183 | another way to calculate @cpi{}. Say you have an infinite field | 4183 | another way to calculate @cpi{}. Say you have an infinite field |
| 4184 | of vertical lines with a spacing of one inch. Toss a one-inch matchstick | 4184 | of vertical lines with a spacing of one inch. Toss a one-inch matchstick |
| 4185 | onto the field. The probability that the matchstick will land crossing | 4185 | onto the field. The probability that the matchstick will land crossing |
| 4186 | a line turns out to be | 4186 | a line turns out to be |
| 4187 | @texline @math{2/\pi}. | 4187 | @texline @math{2/\pi}. |
| 4188 | @infoline @expr{2/pi}. | 4188 | @infoline @expr{2/pi}. |
| 4189 | Toss 100 matchsticks to estimate @cpi{}. (If you want still more fun, | 4189 | Toss 100 matchsticks to estimate @cpi{}. (If you want still more fun, |
| 4190 | the probability that the GCD (@w{@kbd{k g}}) of two large integers is | 4190 | the probability that the GCD (@w{@kbd{k g}}) of two large integers is |
| 4191 | one turns out to be | 4191 | one turns out to be |
| 4192 | @texline @math{6/\pi^2}. | 4192 | @texline @math{6/\pi^2}. |
| 4193 | @infoline @expr{6/pi^2}. | 4193 | @infoline @expr{6/pi^2}. |
| 4194 | That provides yet another way to estimate @cpi{}.) | 4194 | That provides yet another way to estimate @cpi{}.) |
| @@ -4488,7 +4488,7 @@ a 60% chance that the result is correct within 0.59 degrees. | |||
| 4488 | @cindex Torus, volume of | 4488 | @cindex Torus, volume of |
| 4489 | (@bullet{}) @strong{Exercise 7.} The volume of a torus (a donut shape) is | 4489 | (@bullet{}) @strong{Exercise 7.} The volume of a torus (a donut shape) is |
| 4490 | @texline @math{2 \pi^2 R r^2} | 4490 | @texline @math{2 \pi^2 R r^2} |
| 4491 | @infoline @w{@expr{2 pi^2 R r^2}} | 4491 | @infoline @w{@expr{2 pi^2 R r^2}} |
| 4492 | where @expr{R} is the radius of the circle that | 4492 | where @expr{R} is the radius of the circle that |
| 4493 | defines the center of the tube and @expr{r} is the radius of the tube | 4493 | defines the center of the tube and @expr{r} is the radius of the tube |
| 4494 | itself. Suppose @expr{R} is 20 cm and @expr{r} is 4 cm, each known to | 4494 | itself. Suppose @expr{R} is 20 cm and @expr{r} is 4 cm, each known to |
| @@ -4569,7 +4569,7 @@ In this last step, Calc has divided by 5 modulo 24; i.e., it has found a | |||
| 4569 | new number which, when multiplied by 5 modulo 24, produces the original | 4569 | new number which, when multiplied by 5 modulo 24, produces the original |
| 4570 | number, 21. If @var{m} is prime and the divisor is not a multiple of | 4570 | number, 21. If @var{m} is prime and the divisor is not a multiple of |
| 4571 | @var{m}, it is always possible to find such a number. For non-prime | 4571 | @var{m}, it is always possible to find such a number. For non-prime |
| 4572 | @var{m} like 24, it is only sometimes possible. | 4572 | @var{m} like 24, it is only sometimes possible. |
| 4573 | 4573 | ||
| 4574 | @smallexample | 4574 | @smallexample |
| 4575 | @group | 4575 | @group |
| @@ -4587,7 +4587,7 @@ that arises in the second one. | |||
| 4587 | 4587 | ||
| 4588 | @cindex Fermat, primality test of | 4588 | @cindex Fermat, primality test of |
| 4589 | (@bullet{}) @strong{Exercise 10.} A theorem of Pierre de Fermat | 4589 | (@bullet{}) @strong{Exercise 10.} A theorem of Pierre de Fermat |
| 4590 | says that | 4590 | says that |
| 4591 | @texline @w{@math{x^{n-1} \bmod n = 1}} | 4591 | @texline @w{@math{x^{n-1} \bmod n = 1}} |
| 4592 | @infoline @expr{x^(n-1) mod n = 1} | 4592 | @infoline @expr{x^(n-1) mod n = 1} |
| 4593 | if @expr{n} is a prime number and @expr{x} is an integer less than | 4593 | if @expr{n} is a prime number and @expr{x} is an integer less than |
| @@ -4615,9 +4615,9 @@ of day on the stack as an HMS/modulo form. | |||
| 4615 | This calculation tells me it is six hours and 22 minutes until midnight. | 4615 | This calculation tells me it is six hours and 22 minutes until midnight. |
| 4616 | 4616 | ||
| 4617 | (@bullet{}) @strong{Exercise 11.} A rule of thumb is that one year | 4617 | (@bullet{}) @strong{Exercise 11.} A rule of thumb is that one year |
| 4618 | is about | 4618 | is about |
| 4619 | @texline @math{\pi \times 10^7} | 4619 | @texline @math{\pi \times 10^7} |
| 4620 | @infoline @w{@expr{pi * 10^7}} | 4620 | @infoline @w{@expr{pi * 10^7}} |
| 4621 | seconds. What time will it be that many seconds from right now? | 4621 | seconds. What time will it be that many seconds from right now? |
| 4622 | @xref{Types Answer 11, 11}. (@bullet{}) | 4622 | @xref{Types Answer 11, 11}. (@bullet{}) |
| 4623 | 4623 | ||
| @@ -5093,18 +5093,18 @@ One way to do it is again with vector mapping and reduction: | |||
| 5093 | @end smallexample | 5093 | @end smallexample |
| 5094 | 5094 | ||
| 5095 | (@bullet{}) @strong{Exercise 3.} Find the integral from 1 to @expr{y} | 5095 | (@bullet{}) @strong{Exercise 3.} Find the integral from 1 to @expr{y} |
| 5096 | of | 5096 | of |
| 5097 | @texline @math{x \sin \pi x} | 5097 | @texline @math{x \sin \pi x} |
| 5098 | @infoline @w{@expr{x sin(pi x)}} | 5098 | @infoline @w{@expr{x sin(pi x)}} |
| 5099 | (where the sine is calculated in radians). Find the values of the | 5099 | (where the sine is calculated in radians). Find the values of the |
| 5100 | integral for integers @expr{y} from 1 to 5. @xref{Algebra Answer 3, | 5100 | integral for integers @expr{y} from 1 to 5. @xref{Algebra Answer 3, |
| 5101 | 3}. (@bullet{}) | 5101 | 3}. (@bullet{}) |
| 5102 | 5102 | ||
| 5103 | Calc's integrator can do many simple integrals symbolically, but many | 5103 | Calc's integrator can do many simple integrals symbolically, but many |
| 5104 | others are beyond its capabilities. Suppose we wish to find the area | 5104 | others are beyond its capabilities. Suppose we wish to find the area |
| 5105 | under the curve | 5105 | under the curve |
| 5106 | @texline @math{\sin x \ln x} | 5106 | @texline @math{\sin x \ln x} |
| 5107 | @infoline @expr{sin(x) ln(x)} | 5107 | @infoline @expr{sin(x) ln(x)} |
| 5108 | over the same range of @expr{x}. If you entered this formula and typed | 5108 | over the same range of @expr{x}. If you entered this formula and typed |
| 5109 | @kbd{a i x @key{RET}} (don't bother to try this), Calc would work for a | 5109 | @kbd{a i x @key{RET}} (don't bother to try this), Calc would work for a |
| 5110 | long time but would be unable to find a solution. In fact, there is no | 5110 | long time but would be unable to find a solution. In fact, there is no |
| @@ -5242,10 +5242,10 @@ $$ h (f(a) + f(a+h) + f(a+2h) + f(a+3h) + \cdots | |||
| 5242 | \afterdisplay | 5242 | \afterdisplay |
| 5243 | @end tex | 5243 | @end tex |
| 5244 | 5244 | ||
| 5245 | Compute the integral from 1 to 2 of | 5245 | Compute the integral from 1 to 2 of |
| 5246 | @texline @math{\sin x \ln x} | 5246 | @texline @math{\sin x \ln x} |
| 5247 | @infoline @expr{sin(x) ln(x)} | 5247 | @infoline @expr{sin(x) ln(x)} |
| 5248 | using Simpson's rule with 10 slices. | 5248 | using Simpson's rule with 10 slices. |
| 5249 | @xref{Algebra Answer 4, 4}. (@bullet{}) | 5249 | @xref{Algebra Answer 4, 4}. (@bullet{}) |
| 5250 | 5250 | ||
| 5251 | Calc has a built-in @kbd{a I} command for doing numerical integration. | 5251 | Calc has a built-in @kbd{a I} command for doing numerical integration. |
| @@ -5396,7 +5396,7 @@ having to retype it. | |||
| 5396 | 5396 | ||
| 5397 | To edit a variable, type @kbd{s e} and the variable name, use regular | 5397 | To edit a variable, type @kbd{s e} and the variable name, use regular |
| 5398 | Emacs editing commands as necessary, then type @kbd{C-c C-c} to store | 5398 | Emacs editing commands as necessary, then type @kbd{C-c C-c} to store |
| 5399 | the edited value back into the variable. | 5399 | the edited value back into the variable. |
| 5400 | You can also use @w{@kbd{s e}} to create a new variable if you wish. | 5400 | You can also use @w{@kbd{s e}} to create a new variable if you wish. |
| 5401 | 5401 | ||
| 5402 | Notice that the first time you use each rule, Calc puts up a ``compiling'' | 5402 | Notice that the first time you use each rule, Calc puts up a ``compiling'' |
| @@ -5780,7 +5780,7 @@ in @samp{a + 1} for @samp{x} in the defining formula. | |||
| 5780 | @tindex Si | 5780 | @tindex Si |
| 5781 | (@bullet{}) @strong{Exercise 1.} The ``sine integral'' function | 5781 | (@bullet{}) @strong{Exercise 1.} The ``sine integral'' function |
| 5782 | @texline @math{{\rm Si}(x)} | 5782 | @texline @math{{\rm Si}(x)} |
| 5783 | @infoline @expr{Si(x)} | 5783 | @infoline @expr{Si(x)} |
| 5784 | is defined as the integral of @samp{sin(t)/t} for | 5784 | is defined as the integral of @samp{sin(t)/t} for |
| 5785 | @expr{t = 0} to @expr{x} in radians. (It was invented because this | 5785 | @expr{t = 0} to @expr{x} in radians. (It was invented because this |
| 5786 | integral has no solution in terms of basic functions; if you give it | 5786 | integral has no solution in terms of basic functions; if you give it |
| @@ -5857,9 +5857,9 @@ the following functions: | |||
| 5857 | 5857 | ||
| 5858 | @enumerate | 5858 | @enumerate |
| 5859 | @item | 5859 | @item |
| 5860 | Compute | 5860 | Compute |
| 5861 | @texline @math{\displaystyle{\sin x \over x}}, | 5861 | @texline @math{\displaystyle{\sin x \over x}}, |
| 5862 | @infoline @expr{sin(x) / x}, | 5862 | @infoline @expr{sin(x) / x}, |
| 5863 | where @expr{x} is the number on the top of the stack. | 5863 | where @expr{x} is the number on the top of the stack. |
| 5864 | 5864 | ||
| 5865 | @item | 5865 | @item |
| @@ -5923,15 +5923,15 @@ key if you have one, makes a copy of the number in level 2.) | |||
| 5923 | @cindex Golden ratio | 5923 | @cindex Golden ratio |
| 5924 | @cindex Phi, golden ratio | 5924 | @cindex Phi, golden ratio |
| 5925 | A fascinating property of the Fibonacci numbers is that the @expr{n}th | 5925 | A fascinating property of the Fibonacci numbers is that the @expr{n}th |
| 5926 | Fibonacci number can be found directly by computing | 5926 | Fibonacci number can be found directly by computing |
| 5927 | @texline @math{\phi^n / \sqrt{5}} | 5927 | @texline @math{\phi^n / \sqrt{5}} |
| 5928 | @infoline @expr{phi^n / sqrt(5)} | 5928 | @infoline @expr{phi^n / sqrt(5)} |
| 5929 | and then rounding to the nearest integer, where | 5929 | and then rounding to the nearest integer, where |
| 5930 | @texline @math{\phi} (``phi''), | 5930 | @texline @math{\phi} (``phi''), |
| 5931 | @infoline @expr{phi}, | 5931 | @infoline @expr{phi}, |
| 5932 | the ``golden ratio,'' is | 5932 | the ``golden ratio,'' is |
| 5933 | @texline @math{(1 + \sqrt{5}) / 2}. | 5933 | @texline @math{(1 + \sqrt{5}) / 2}. |
| 5934 | @infoline @expr{(1 + sqrt(5)) / 2}. | 5934 | @infoline @expr{(1 + sqrt(5)) / 2}. |
| 5935 | (For convenience, this constant is available from the @code{phi} | 5935 | (For convenience, this constant is available from the @code{phi} |
| 5936 | variable, or the @kbd{I H P} command.) | 5936 | variable, or the @kbd{I H P} command.) |
| 5937 | 5937 | ||
| @@ -5946,19 +5946,19 @@ variable, or the @kbd{I H P} command.) | |||
| 5946 | 5946 | ||
| 5947 | @cindex Continued fractions | 5947 | @cindex Continued fractions |
| 5948 | (@bullet{}) @strong{Exercise 5.} The @dfn{continued fraction} | 5948 | (@bullet{}) @strong{Exercise 5.} The @dfn{continued fraction} |
| 5949 | representation of | 5949 | representation of |
| 5950 | @texline @math{\phi} | 5950 | @texline @math{\phi} |
| 5951 | @infoline @expr{phi} | 5951 | @infoline @expr{phi} |
| 5952 | is | 5952 | is |
| 5953 | @texline @math{1 + 1/(1 + 1/(1 + 1/( \ldots )))}. | 5953 | @texline @math{1 + 1/(1 + 1/(1 + 1/( \ldots )))}. |
| 5954 | @infoline @expr{1 + 1/(1 + 1/(1 + 1/( ...@: )))}. | 5954 | @infoline @expr{1 + 1/(1 + 1/(1 + 1/( ...@: )))}. |
| 5955 | We can compute an approximate value by carrying this however far | 5955 | We can compute an approximate value by carrying this however far |
| 5956 | and then replacing the innermost | 5956 | and then replacing the innermost |
| 5957 | @texline @math{1/( \ldots )} | 5957 | @texline @math{1/( \ldots )} |
| 5958 | @infoline @expr{1/( ...@: )} | 5958 | @infoline @expr{1/( ...@: )} |
| 5959 | by 1. Approximate | 5959 | by 1. Approximate |
| 5960 | @texline @math{\phi} | 5960 | @texline @math{\phi} |
| 5961 | @infoline @expr{phi} | 5961 | @infoline @expr{phi} |
| 5962 | using a twenty-term continued fraction. | 5962 | using a twenty-term continued fraction. |
| 5963 | @xref{Programming Answer 5, 5}. (@bullet{}) | 5963 | @xref{Programming Answer 5, 5}. (@bullet{}) |
| 5964 | 5964 | ||
| @@ -6056,9 +6056,9 @@ survive past the @kbd{Z '} command. | |||
| 6056 | The @dfn{Bernoulli numbers} are a sequence with the interesting | 6056 | The @dfn{Bernoulli numbers} are a sequence with the interesting |
| 6057 | property that all of the odd Bernoulli numbers are zero, and the | 6057 | property that all of the odd Bernoulli numbers are zero, and the |
| 6058 | even ones, while difficult to compute, can be roughly approximated | 6058 | even ones, while difficult to compute, can be roughly approximated |
| 6059 | by the formula | 6059 | by the formula |
| 6060 | @texline @math{\displaystyle{2 n! \over (2 \pi)^n}}. | 6060 | @texline @math{\displaystyle{2 n! \over (2 \pi)^n}}. |
| 6061 | @infoline @expr{2 n!@: / (2 pi)^n}. | 6061 | @infoline @expr{2 n!@: / (2 pi)^n}. |
| 6062 | Let's write a keyboard macro to compute (approximate) Bernoulli numbers. | 6062 | Let's write a keyboard macro to compute (approximate) Bernoulli numbers. |
| 6063 | (Calc has a command, @kbd{k b}, to compute exact Bernoulli numbers, but | 6063 | (Calc has a command, @kbd{k b}, to compute exact Bernoulli numbers, but |
| 6064 | this command is very slow for large @expr{n} since the higher Bernoulli | 6064 | this command is very slow for large @expr{n} since the higher Bernoulli |
| @@ -6166,7 +6166,7 @@ Z` ;; calc-kbd-push (Save local values) | |||
| 6166 | 0 ;; calc digits (Push a zero onto the stack) | 6166 | 0 ;; calc digits (Push a zero onto the stack) |
| 6167 | st ;; calc-store-into (Store it in the following variable) | 6167 | st ;; calc-store-into (Store it in the following variable) |
| 6168 | 1 ;; calc quick variable (Quick variable q1) | 6168 | 1 ;; calc quick variable (Quick variable q1) |
| 6169 | 1 ;; calc digits (Initial value for the loop) | 6169 | 1 ;; calc digits (Initial value for the loop) |
| 6170 | TAB ;; calc-roll-down (Swap initial and final) | 6170 | TAB ;; calc-roll-down (Swap initial and final) |
| 6171 | Z( ;; calc-kbd-for (Begin the "for" loop) | 6171 | Z( ;; calc-kbd-for (Begin the "for" loop) |
| 6172 | & ;; calc-inv (Take the reciprocal) | 6172 | & ;; calc-inv (Take the reciprocal) |
| @@ -6193,10 +6193,10 @@ Press @kbd{C-c C-c} to finish editing and return to the Calculator. | |||
| 6193 | 6193 | ||
| 6194 | The @file{edmacro} package defines a handy @code{read-kbd-macro} command | 6194 | The @file{edmacro} package defines a handy @code{read-kbd-macro} command |
| 6195 | which reads the current region of the current buffer as a sequence of | 6195 | which reads the current region of the current buffer as a sequence of |
| 6196 | keystroke names, and defines that sequence on the @kbd{X} | 6196 | keystroke names, and defines that sequence on the @kbd{X} |
| 6197 | (and @kbd{C-x e}) key. Because this is so useful, Calc puts this | 6197 | (and @kbd{C-x e}) key. Because this is so useful, Calc puts this |
| 6198 | command on the @kbd{C-x * m} key. Try reading in this macro in the | 6198 | command on the @kbd{C-x * m} key. Try reading in this macro in the |
| 6199 | following form: Press @kbd{C-@@} (or @kbd{C-@key{SPC}}) at | 6199 | following form: Press @kbd{C-@@} (or @kbd{C-@key{SPC}}) at |
| 6200 | one end of the text below, then type @kbd{C-x * m} at the other. | 6200 | one end of the text below, then type @kbd{C-x * m} at the other. |
| 6201 | 6201 | ||
| 6202 | @example | 6202 | @example |
| @@ -6230,12 +6230,12 @@ $$ x_{\rm new} = x - {f(x) \over f^{\prime}(x)} $$ | |||
| 6230 | where @expr{f'(x)} is the derivative of @expr{f}. The @expr{x} | 6230 | where @expr{f'(x)} is the derivative of @expr{f}. The @expr{x} |
| 6231 | values will quickly converge to a solution, i.e., eventually | 6231 | values will quickly converge to a solution, i.e., eventually |
| 6232 | @texline @math{x_{\rm new}} | 6232 | @texline @math{x_{\rm new}} |
| 6233 | @infoline @expr{new_x} | 6233 | @infoline @expr{new_x} |
| 6234 | and @expr{x} will be equal to within the limits | 6234 | and @expr{x} will be equal to within the limits |
| 6235 | of the current precision. Write a program which takes a formula | 6235 | of the current precision. Write a program which takes a formula |
| 6236 | involving the variable @expr{x}, and an initial guess @expr{x_0}, | 6236 | involving the variable @expr{x}, and an initial guess @expr{x_0}, |
| 6237 | on the stack, and produces a value of @expr{x} for which the formula | 6237 | on the stack, and produces a value of @expr{x} for which the formula |
| 6238 | is zero. Use it to find a solution of | 6238 | is zero. Use it to find a solution of |
| 6239 | @texline @math{\sin(\cos x) = 0.5} | 6239 | @texline @math{\sin(\cos x) = 0.5} |
| 6240 | @infoline @expr{sin(cos(x)) = 0.5} | 6240 | @infoline @expr{sin(cos(x)) = 0.5} |
| 6241 | near @expr{x = 4.5}. (Use angles measured in radians.) Note that | 6241 | near @expr{x = 4.5}. (Use angles measured in radians.) Note that |
| @@ -6245,12 +6245,12 @@ method when it is able. @xref{Programming Answer 8, 8}. (@bullet{}) | |||
| 6245 | @cindex Digamma function | 6245 | @cindex Digamma function |
| 6246 | @cindex Gamma constant, Euler's | 6246 | @cindex Gamma constant, Euler's |
| 6247 | @cindex Euler's gamma constant | 6247 | @cindex Euler's gamma constant |
| 6248 | (@bullet{}) @strong{Exercise 9.} The @dfn{digamma} function | 6248 | (@bullet{}) @strong{Exercise 9.} The @dfn{digamma} function |
| 6249 | @texline @math{\psi(z) (``psi'')} | 6249 | @texline @math{\psi(z) (``psi'')} |
| 6250 | @infoline @expr{psi(z)} | 6250 | @infoline @expr{psi(z)} |
| 6251 | is defined as the derivative of | 6251 | is defined as the derivative of |
| 6252 | @texline @math{\ln \Gamma(z)}. | 6252 | @texline @math{\ln \Gamma(z)}. |
| 6253 | @infoline @expr{ln(gamma(z))}. | 6253 | @infoline @expr{ln(gamma(z))}. |
| 6254 | For large values of @expr{z}, it can be approximated by the infinite sum | 6254 | For large values of @expr{z}, it can be approximated by the infinite sum |
| 6255 | 6255 | ||
| 6256 | @ifnottex | 6256 | @ifnottex |
| @@ -6267,9 +6267,9 @@ $$ | |||
| 6267 | @end tex | 6267 | @end tex |
| 6268 | 6268 | ||
| 6269 | @noindent | 6269 | @noindent |
| 6270 | where | 6270 | where |
| 6271 | @texline @math{\sum} | 6271 | @texline @math{\sum} |
| 6272 | @infoline @expr{sum} | 6272 | @infoline @expr{sum} |
| 6273 | represents the sum over @expr{n} from 1 to infinity | 6273 | represents the sum over @expr{n} from 1 to infinity |
| 6274 | (or to some limit high enough to give the desired accuracy), and | 6274 | (or to some limit high enough to give the desired accuracy), and |
| 6275 | the @code{bern} function produces (exact) Bernoulli numbers. | 6275 | the @code{bern} function produces (exact) Bernoulli numbers. |
| @@ -6277,27 +6277,27 @@ While this sum is not guaranteed to converge, in practice it is safe. | |||
| 6277 | An interesting mathematical constant is Euler's gamma, which is equal | 6277 | An interesting mathematical constant is Euler's gamma, which is equal |
| 6278 | to about 0.5772. One way to compute it is by the formula, | 6278 | to about 0.5772. One way to compute it is by the formula, |
| 6279 | @texline @math{\gamma = -\psi(1)}. | 6279 | @texline @math{\gamma = -\psi(1)}. |
| 6280 | @infoline @expr{gamma = -psi(1)}. | 6280 | @infoline @expr{gamma = -psi(1)}. |
| 6281 | Unfortunately, 1 isn't a large enough argument | 6281 | Unfortunately, 1 isn't a large enough argument |
| 6282 | for the above formula to work (5 is a much safer value for @expr{z}). | 6282 | for the above formula to work (5 is a much safer value for @expr{z}). |
| 6283 | Fortunately, we can compute | 6283 | Fortunately, we can compute |
| 6284 | @texline @math{\psi(1)} | 6284 | @texline @math{\psi(1)} |
| 6285 | @infoline @expr{psi(1)} | 6285 | @infoline @expr{psi(1)} |
| 6286 | from | 6286 | from |
| 6287 | @texline @math{\psi(5)} | 6287 | @texline @math{\psi(5)} |
| 6288 | @infoline @expr{psi(5)} | 6288 | @infoline @expr{psi(5)} |
| 6289 | using the recurrence | 6289 | using the recurrence |
| 6290 | @texline @math{\psi(z+1) = \psi(z) + {1 \over z}}. | 6290 | @texline @math{\psi(z+1) = \psi(z) + {1 \over z}}. |
| 6291 | @infoline @expr{psi(z+1) = psi(z) + 1/z}. | 6291 | @infoline @expr{psi(z+1) = psi(z) + 1/z}. |
| 6292 | Your task: Develop a program to compute | 6292 | Your task: Develop a program to compute |
| 6293 | @texline @math{\psi(z)}; | 6293 | @texline @math{\psi(z)}; |
| 6294 | @infoline @expr{psi(z)}; | 6294 | @infoline @expr{psi(z)}; |
| 6295 | it should ``pump up'' @expr{z} | 6295 | it should ``pump up'' @expr{z} |
| 6296 | if necessary to be greater than 5, then use the above summation | 6296 | if necessary to be greater than 5, then use the above summation |
| 6297 | formula. Use looping commands to compute the sum. Use your function | 6297 | formula. Use looping commands to compute the sum. Use your function |
| 6298 | to compute | 6298 | to compute |
| 6299 | @texline @math{\gamma} | 6299 | @texline @math{\gamma} |
| 6300 | @infoline @expr{gamma} | 6300 | @infoline @expr{gamma} |
| 6301 | to twelve decimal places. (Calc has a built-in command | 6301 | to twelve decimal places. (Calc has a built-in command |
| 6302 | for Euler's constant, @kbd{I P}, which you can use to check your answer.) | 6302 | for Euler's constant, @kbd{I P}, which you can use to check your answer.) |
| 6303 | @xref{Programming Answer 9, 9}. (@bullet{}) | 6303 | @xref{Programming Answer 9, 9}. (@bullet{}) |
| @@ -6470,7 +6470,7 @@ This section includes answers to all the exercises in the Calc tutorial. | |||
| 6470 | @noindent | 6470 | @noindent |
| 6471 | @kbd{1 @key{RET} 2 @key{RET} 3 @key{RET} 4 + * -} | 6471 | @kbd{1 @key{RET} 2 @key{RET} 3 @key{RET} 4 + * -} |
| 6472 | 6472 | ||
| 6473 | The result is | 6473 | The result is |
| 6474 | @texline @math{1 - (2 \times (3 + 4)) = -13}. | 6474 | @texline @math{1 - (2 \times (3 + 4)) = -13}. |
| 6475 | @infoline @expr{1 - (2 * (3 + 4)) = -13}. | 6475 | @infoline @expr{1 - (2 * (3 + 4)) = -13}. |
| 6476 | 6476 | ||
| @@ -6481,9 +6481,9 @@ The result is | |||
| 6481 | @texline @math{2\times4 + 7\times9.5 + {5\over4} = 75.75} | 6481 | @texline @math{2\times4 + 7\times9.5 + {5\over4} = 75.75} |
| 6482 | @infoline @expr{2*4 + 7*9.5 + 5/4 = 75.75} | 6482 | @infoline @expr{2*4 + 7*9.5 + 5/4 = 75.75} |
| 6483 | 6483 | ||
| 6484 | After computing the intermediate term | 6484 | After computing the intermediate term |
| 6485 | @texline @math{2\times4 = 8}, | 6485 | @texline @math{2\times4 = 8}, |
| 6486 | @infoline @expr{2*4 = 8}, | 6486 | @infoline @expr{2*4 = 8}, |
| 6487 | you can leave that result on the stack while you compute the second | 6487 | you can leave that result on the stack while you compute the second |
| 6488 | term. With both of these results waiting on the stack you can then | 6488 | term. With both of these results waiting on the stack you can then |
| 6489 | compute the final term, then press @kbd{+ +} to add everything up. | 6489 | compute the final term, then press @kbd{+ +} to add everything up. |
| @@ -6790,7 +6790,7 @@ Dividing two integers that are larger than the current precision may | |||
| 6790 | give a floating-point result that is inaccurate even when rounded | 6790 | give a floating-point result that is inaccurate even when rounded |
| 6791 | down to an integer. Consider @expr{123456789 / 2} when the current | 6791 | down to an integer. Consider @expr{123456789 / 2} when the current |
| 6792 | precision is 6 digits. The true answer is @expr{61728394.5}, but | 6792 | precision is 6 digits. The true answer is @expr{61728394.5}, but |
| 6793 | with a precision of 6 this will be rounded to | 6793 | with a precision of 6 this will be rounded to |
| 6794 | @texline @math{12345700.0/2.0 = 61728500.0}. | 6794 | @texline @math{12345700.0/2.0 = 61728500.0}. |
| 6795 | @infoline @expr{12345700.@: / 2.@: = 61728500.}. | 6795 | @infoline @expr{12345700.@: / 2.@: = 61728500.}. |
| 6796 | The result, when converted to an integer, will be off by 106. | 6796 | The result, when converted to an integer, will be off by 106. |
| @@ -6900,18 +6900,18 @@ Type @kbd{d N} to return to Normal display mode afterwards. | |||
| 6900 | @subsection Matrix Tutorial Exercise 3 | 6900 | @subsection Matrix Tutorial Exercise 3 |
| 6901 | 6901 | ||
| 6902 | @noindent | 6902 | @noindent |
| 6903 | To solve | 6903 | To solve |
| 6904 | @texline @math{A^T A \, X = A^T B}, | 6904 | @texline @math{A^T A \, X = A^T B}, |
| 6905 | @infoline @expr{trn(A) * A * X = trn(A) * B}, | 6905 | @infoline @expr{trn(A) * A * X = trn(A) * B}, |
| 6906 | first we compute | 6906 | first we compute |
| 6907 | @texline @math{A' = A^T A} | 6907 | @texline @math{A' = A^T A} |
| 6908 | @infoline @expr{A2 = trn(A) * A} | 6908 | @infoline @expr{A2 = trn(A) * A} |
| 6909 | and | 6909 | and |
| 6910 | @texline @math{B' = A^T B}; | 6910 | @texline @math{B' = A^T B}; |
| 6911 | @infoline @expr{B2 = trn(A) * B}; | 6911 | @infoline @expr{B2 = trn(A) * B}; |
| 6912 | now, we have a system | 6912 | now, we have a system |
| 6913 | @texline @math{A' X = B'} | 6913 | @texline @math{A' X = B'} |
| 6914 | @infoline @expr{A2 * X = B2} | 6914 | @infoline @expr{A2 * X = B2} |
| 6915 | which we can solve using Calc's @samp{/} command. | 6915 | which we can solve using Calc's @samp{/} command. |
| 6916 | 6916 | ||
| 6917 | @ifnottex | 6917 | @ifnottex |
| @@ -6942,7 +6942,7 @@ $$ | |||
| 6942 | The first step is to enter the coefficient matrix. We'll store it in | 6942 | The first step is to enter the coefficient matrix. We'll store it in |
| 6943 | quick variable number 7 for later reference. Next, we compute the | 6943 | quick variable number 7 for later reference. Next, we compute the |
| 6944 | @texline @math{B'} | 6944 | @texline @math{B'} |
| 6945 | @infoline @expr{B2} | 6945 | @infoline @expr{B2} |
| 6946 | vector. | 6946 | vector. |
| 6947 | 6947 | ||
| 6948 | @smallexample | 6948 | @smallexample |
| @@ -6958,9 +6958,9 @@ vector. | |||
| 6958 | @end smallexample | 6958 | @end smallexample |
| 6959 | 6959 | ||
| 6960 | @noindent | 6960 | @noindent |
| 6961 | Now we compute the matrix | 6961 | Now we compute the matrix |
| 6962 | @texline @math{A'} | 6962 | @texline @math{A'} |
| 6963 | @infoline @expr{A2} | 6963 | @infoline @expr{A2} |
| 6964 | and divide. | 6964 | and divide. |
| 6965 | 6965 | ||
| 6966 | @smallexample | 6966 | @smallexample |
| @@ -6979,16 +6979,16 @@ and divide. | |||
| 6979 | (The actual computed answer will be slightly inexact due to | 6979 | (The actual computed answer will be slightly inexact due to |
| 6980 | round-off error.) | 6980 | round-off error.) |
| 6981 | 6981 | ||
| 6982 | Notice that the answers are similar to those for the | 6982 | Notice that the answers are similar to those for the |
| 6983 | @texline @math{3\times3} | 6983 | @texline @math{3\times3} |
| 6984 | @infoline 3x3 | 6984 | @infoline 3x3 |
| 6985 | system solved in the text. That's because the fourth equation that was | 6985 | system solved in the text. That's because the fourth equation that was |
| 6986 | added to the system is almost identical to the first one multiplied | 6986 | added to the system is almost identical to the first one multiplied |
| 6987 | by two. (If it were identical, we would have gotten the exact same | 6987 | by two. (If it were identical, we would have gotten the exact same |
| 6988 | answer since the | 6988 | answer since the |
| 6989 | @texline @math{4\times3} | 6989 | @texline @math{4\times3} |
| 6990 | @infoline 4x3 | 6990 | @infoline 4x3 |
| 6991 | system would be equivalent to the original | 6991 | system would be equivalent to the original |
| 6992 | @texline @math{3\times3} | 6992 | @texline @math{3\times3} |
| 6993 | @infoline 3x3 | 6993 | @infoline 3x3 |
| 6994 | system.) | 6994 | system.) |
| @@ -7064,7 +7064,7 @@ $$ m \times x + b \times 1 = y $$ | |||
| 7064 | \afterdisplay | 7064 | \afterdisplay |
| 7065 | @end tex | 7065 | @end tex |
| 7066 | 7066 | ||
| 7067 | Thus we want a | 7067 | Thus we want a |
| 7068 | @texline @math{19\times2} | 7068 | @texline @math{19\times2} |
| 7069 | @infoline 19x2 | 7069 | @infoline 19x2 |
| 7070 | matrix with our @expr{x} vector as one column and | 7070 | matrix with our @expr{x} vector as one column and |
| @@ -7083,12 +7083,12 @@ we combine the two columns to form our @expr{A} matrix. | |||
| 7083 | @end smallexample | 7083 | @end smallexample |
| 7084 | 7084 | ||
| 7085 | @noindent | 7085 | @noindent |
| 7086 | Now we compute | 7086 | Now we compute |
| 7087 | @texline @math{A^T y} | 7087 | @texline @math{A^T y} |
| 7088 | @infoline @expr{trn(A) * y} | 7088 | @infoline @expr{trn(A) * y} |
| 7089 | and | 7089 | and |
| 7090 | @texline @math{A^T A} | 7090 | @texline @math{A^T A} |
| 7091 | @infoline @expr{trn(A) * A} | 7091 | @infoline @expr{trn(A) * A} |
| 7092 | and divide. | 7092 | and divide. |
| 7093 | 7093 | ||
| 7094 | @smallexample | 7094 | @smallexample |
| @@ -7114,9 +7114,9 @@ and divide. | |||
| 7114 | @end group | 7114 | @end group |
| 7115 | @end smallexample | 7115 | @end smallexample |
| 7116 | 7116 | ||
| 7117 | Since we were solving equations of the form | 7117 | Since we were solving equations of the form |
| 7118 | @texline @math{m \times x + b \times 1 = y}, | 7118 | @texline @math{m \times x + b \times 1 = y}, |
| 7119 | @infoline @expr{m*x + b*1 = y}, | 7119 | @infoline @expr{m*x + b*1 = y}, |
| 7120 | these numbers should be @expr{m} and @expr{b}, respectively. Sure | 7120 | these numbers should be @expr{m} and @expr{b}, respectively. Sure |
| 7121 | enough, they agree exactly with the result computed using @kbd{V M} and | 7121 | enough, they agree exactly with the result computed using @kbd{V M} and |
| 7122 | @kbd{V R}! | 7122 | @kbd{V R}! |
| @@ -7177,9 +7177,9 @@ then raise the number to that power.) | |||
| 7177 | @subsection List Tutorial Exercise 4 | 7177 | @subsection List Tutorial Exercise 4 |
| 7178 | 7178 | ||
| 7179 | @noindent | 7179 | @noindent |
| 7180 | A number @expr{j} is a divisor of @expr{n} if | 7180 | A number @expr{j} is a divisor of @expr{n} if |
| 7181 | @texline @math{n \mathbin{\hbox{\code{\%}}} j = 0}. | 7181 | @texline @math{n \mathbin{\hbox{\code{\%}}} j = 0}. |
| 7182 | @infoline @samp{n % j = 0}. | 7182 | @infoline @samp{n % j = 0}. |
| 7183 | The first step is to get a vector that identifies the divisors. | 7183 | The first step is to get a vector that identifies the divisors. |
| 7184 | 7184 | ||
| 7185 | @smallexample | 7185 | @smallexample |
| @@ -7248,9 +7248,9 @@ so that the mapping operation works; no prime factor will ever be | |||
| 7248 | zero, so adding zeros on the left and right is safe. From then on | 7248 | zero, so adding zeros on the left and right is safe. From then on |
| 7249 | the job is pretty straightforward. | 7249 | the job is pretty straightforward. |
| 7250 | 7250 | ||
| 7251 | Incidentally, Calc provides the | 7251 | Incidentally, Calc provides the |
| 7252 | @texline @dfn{M@"obius} @math{\mu} | 7252 | @texline @dfn{M@"obius} @math{\mu} |
| 7253 | @infoline @dfn{Moebius mu} | 7253 | @infoline @dfn{Moebius mu} |
| 7254 | function which is zero if and only if its argument is square-free. It | 7254 | function which is zero if and only if its argument is square-free. It |
| 7255 | would be a much more convenient way to do the above test in practice. | 7255 | would be a much more convenient way to do the above test in practice. |
| 7256 | 7256 | ||
| @@ -7282,7 +7282,7 @@ exercise and type @kbd{1 -} to subtract one from all the elements. | |||
| 7282 | The numbers down the lefthand edge of the list we desire are called | 7282 | The numbers down the lefthand edge of the list we desire are called |
| 7283 | the ``triangular numbers'' (now you know why!). The @expr{n}th | 7283 | the ``triangular numbers'' (now you know why!). The @expr{n}th |
| 7284 | triangular number is the sum of the integers from 1 to @expr{n}, and | 7284 | triangular number is the sum of the integers from 1 to @expr{n}, and |
| 7285 | can be computed directly by the formula | 7285 | can be computed directly by the formula |
| 7286 | @texline @math{n (n+1) \over 2}. | 7286 | @texline @math{n (n+1) \over 2}. |
| 7287 | @infoline @expr{n * (n+1) / 2}. | 7287 | @infoline @expr{n * (n+1) / 2}. |
| 7288 | 7288 | ||
| @@ -7378,7 +7378,7 @@ A way to isolate the maximum value is to compute the maximum using | |||
| 7378 | 7378 | ||
| 7379 | @noindent | 7379 | @noindent |
| 7380 | It's a good idea to verify, as in the last step above, that only | 7380 | It's a good idea to verify, as in the last step above, that only |
| 7381 | one value is equal to the maximum. (After all, a plot of | 7381 | one value is equal to the maximum. (After all, a plot of |
| 7382 | @texline @math{\sin x} | 7382 | @texline @math{\sin x} |
| 7383 | @infoline @expr{sin(x)} | 7383 | @infoline @expr{sin(x)} |
| 7384 | might have many points all equal to the maximum value, 1.) | 7384 | might have many points all equal to the maximum value, 1.) |
| @@ -7650,12 +7650,12 @@ return to full-sized display of vectors. | |||
| 7650 | This problem can be made a lot easier by taking advantage of some | 7650 | This problem can be made a lot easier by taking advantage of some |
| 7651 | symmetries. First of all, after some thought it's clear that the | 7651 | symmetries. First of all, after some thought it's clear that the |
| 7652 | @expr{y} axis can be ignored altogether. Just pick a random @expr{x} | 7652 | @expr{y} axis can be ignored altogether. Just pick a random @expr{x} |
| 7653 | component for one end of the match, pick a random direction | 7653 | component for one end of the match, pick a random direction |
| 7654 | @texline @math{\theta}, | 7654 | @texline @math{\theta}, |
| 7655 | @infoline @expr{theta}, | 7655 | @infoline @expr{theta}, |
| 7656 | and see if @expr{x} and | 7656 | and see if @expr{x} and |
| 7657 | @texline @math{x + \cos \theta} | 7657 | @texline @math{x + \cos \theta} |
| 7658 | @infoline @expr{x + cos(theta)} | 7658 | @infoline @expr{x + cos(theta)} |
| 7659 | (which is the @expr{x} coordinate of the other endpoint) cross a line. | 7659 | (which is the @expr{x} coordinate of the other endpoint) cross a line. |
| 7660 | The lines are at integer coordinates, so this happens when the two | 7660 | The lines are at integer coordinates, so this happens when the two |
| 7661 | numbers surround an integer. | 7661 | numbers surround an integer. |
| @@ -7670,9 +7670,9 @@ In fact, since the field of lines is infinite we can choose the | |||
| 7670 | coordinates 0 and 1 for the lines on either side of the leftmost | 7670 | coordinates 0 and 1 for the lines on either side of the leftmost |
| 7671 | endpoint. The rightmost endpoint will be between 0 and 1 if the | 7671 | endpoint. The rightmost endpoint will be between 0 and 1 if the |
| 7672 | match does not cross a line, or between 1 and 2 if it does. So: | 7672 | match does not cross a line, or between 1 and 2 if it does. So: |
| 7673 | Pick random @expr{x} and | 7673 | Pick random @expr{x} and |
| 7674 | @texline @math{\theta}, | 7674 | @texline @math{\theta}, |
| 7675 | @infoline @expr{theta}, | 7675 | @infoline @expr{theta}, |
| 7676 | compute | 7676 | compute |
| 7677 | @texline @math{x + \cos \theta}, | 7677 | @texline @math{x + \cos \theta}, |
| 7678 | @infoline @expr{x + cos(theta)}, | 7678 | @infoline @expr{x + cos(theta)}, |
| @@ -8997,7 +8997,7 @@ Each of these functions can be computed using the stack, or using | |||
| 8997 | algebraic entry, whichever way you prefer: | 8997 | algebraic entry, whichever way you prefer: |
| 8998 | 8998 | ||
| 8999 | @noindent | 8999 | @noindent |
| 9000 | Computing | 9000 | Computing |
| 9001 | @texline @math{\displaystyle{\sin x \over x}}: | 9001 | @texline @math{\displaystyle{\sin x \over x}}: |
| 9002 | @infoline @expr{sin(x) / x}: | 9002 | @infoline @expr{sin(x) / x}: |
| 9003 | 9003 | ||
| @@ -9068,7 +9068,7 @@ C-x ( ' [0, 1; 1, 1] ^ ($-1) * [1, 1] @key{RET} v u @key{DEL} C-x ) | |||
| 9068 | 9068 | ||
| 9069 | @noindent | 9069 | @noindent |
| 9070 | This program is quite efficient because Calc knows how to raise a | 9070 | This program is quite efficient because Calc knows how to raise a |
| 9071 | matrix (or other value) to the power @expr{n} in only | 9071 | matrix (or other value) to the power @expr{n} in only |
| 9072 | @texline @math{\log_2 n} | 9072 | @texline @math{\log_2 n} |
| 9073 | @infoline @expr{log(n,2)} | 9073 | @infoline @expr{log(n,2)} |
| 9074 | steps. For example, this program can compute the 1000th Fibonacci | 9074 | steps. For example, this program can compute the 1000th Fibonacci |
| @@ -9122,7 +9122,7 @@ harmonic number is 4.02. | |||
| 9122 | 9122 | ||
| 9123 | @noindent | 9123 | @noindent |
| 9124 | The first step is to compute the derivative @expr{f'(x)} and thus | 9124 | The first step is to compute the derivative @expr{f'(x)} and thus |
| 9125 | the formula | 9125 | the formula |
| 9126 | @texline @math{\displaystyle{x - {f(x) \over f'(x)}}}. | 9126 | @texline @math{\displaystyle{x - {f(x) \over f'(x)}}}. |
| 9127 | @infoline @expr{x - f(x)/f'(x)}. | 9127 | @infoline @expr{x - f(x)/f'(x)}. |
| 9128 | 9128 | ||
| @@ -9239,12 +9239,12 @@ method (among others) to look for numerical solutions to any equation. | |||
| 9239 | @noindent | 9239 | @noindent |
| 9240 | The first step is to adjust @expr{z} to be greater than 5. A simple | 9240 | The first step is to adjust @expr{z} to be greater than 5. A simple |
| 9241 | ``for'' loop will do the job here. If @expr{z} is less than 5, we | 9241 | ``for'' loop will do the job here. If @expr{z} is less than 5, we |
| 9242 | reduce the problem using | 9242 | reduce the problem using |
| 9243 | @texline @math{\psi(z) = \psi(z+1) - 1/z}. | 9243 | @texline @math{\psi(z) = \psi(z+1) - 1/z}. |
| 9244 | @infoline @expr{psi(z) = psi(z+1) - 1/z}. We go | 9244 | @infoline @expr{psi(z) = psi(z+1) - 1/z}. We go |
| 9245 | on to compute | 9245 | on to compute |
| 9246 | @texline @math{\psi(z+1)}, | 9246 | @texline @math{\psi(z+1)}, |
| 9247 | @infoline @expr{psi(z+1)}, | 9247 | @infoline @expr{psi(z+1)}, |
| 9248 | and remember to add back a factor of @expr{-1/z} when we're done. This | 9248 | and remember to add back a factor of @expr{-1/z} when we're done. This |
| 9249 | step is repeated until @expr{z > 5}. | 9249 | step is repeated until @expr{z > 5}. |
| 9250 | 9250 | ||
| @@ -9283,7 +9283,7 @@ are exactly equal, not just equal to within the current precision.) | |||
| 9283 | @end group | 9283 | @end group |
| 9284 | @end smallexample | 9284 | @end smallexample |
| 9285 | 9285 | ||
| 9286 | Now we compute the initial part of the sum: | 9286 | Now we compute the initial part of the sum: |
| 9287 | @texline @math{\ln z - {1 \over 2z}} | 9287 | @texline @math{\ln z - {1 \over 2z}} |
| 9288 | @infoline @expr{ln(z) - 1/2z} | 9288 | @infoline @expr{ln(z) - 1/2z} |
| 9289 | minus the adjustment factor. | 9289 | minus the adjustment factor. |
| @@ -9326,9 +9326,9 @@ up the value of @expr{2 n}. (Calc does have a summation command, | |||
| 9326 | @end group | 9326 | @end group |
| 9327 | @end smallexample | 9327 | @end smallexample |
| 9328 | 9328 | ||
| 9329 | This is the value of | 9329 | This is the value of |
| 9330 | @texline @math{-\gamma}, | 9330 | @texline @math{-\gamma}, |
| 9331 | @infoline @expr{- gamma}, | 9331 | @infoline @expr{- gamma}, |
| 9332 | with a slight bit of roundoff error. To get a full 12 digits, let's use | 9332 | with a slight bit of roundoff error. To get a full 12 digits, let's use |
| 9333 | a higher precision: | 9333 | a higher precision: |
| 9334 | 9334 | ||
| @@ -9361,9 +9361,9 @@ C-x ) | |||
| 9361 | 9361 | ||
| 9362 | @noindent | 9362 | @noindent |
| 9363 | Taking the derivative of a term of the form @expr{x^n} will produce | 9363 | Taking the derivative of a term of the form @expr{x^n} will produce |
| 9364 | a term like | 9364 | a term like |
| 9365 | @texline @math{n x^{n-1}}. | 9365 | @texline @math{n x^{n-1}}. |
| 9366 | @infoline @expr{n x^(n-1)}. | 9366 | @infoline @expr{n x^(n-1)}. |
| 9367 | Taking the derivative of a constant | 9367 | Taking the derivative of a constant |
| 9368 | produces zero. From this it is easy to see that the @expr{n}th | 9368 | produces zero. From this it is easy to see that the @expr{n}th |
| 9369 | derivative of a polynomial, evaluated at @expr{x = 0}, will equal the | 9369 | derivative of a polynomial, evaluated at @expr{x = 0}, will equal the |
| @@ -9652,7 +9652,7 @@ still exists and is updated silently. @xref{Trail Commands}. | |||
| 9652 | @mindex @null | 9652 | @mindex @null |
| 9653 | @end ignore | 9653 | @end ignore |
| 9654 | In most installations, the @kbd{C-x * c} key sequence is a more | 9654 | In most installations, the @kbd{C-x * c} key sequence is a more |
| 9655 | convenient way to start the Calculator. Also, @kbd{C-x * *} | 9655 | convenient way to start the Calculator. Also, @kbd{C-x * *} |
| 9656 | is a synonym for @kbd{C-x * c} unless you last used Calc | 9656 | is a synonym for @kbd{C-x * c} unless you last used Calc |
| 9657 | in its Keypad mode. | 9657 | in its Keypad mode. |
| 9658 | 9658 | ||
| @@ -9908,9 +9908,9 @@ additional notes from the summary that apply to this command. | |||
| 9908 | The @kbd{h f} (@code{calc-describe-function}) command looks up an | 9908 | The @kbd{h f} (@code{calc-describe-function}) command looks up an |
| 9909 | algebraic function or a command name in the Calc manual. Enter an | 9909 | algebraic function or a command name in the Calc manual. Enter an |
| 9910 | algebraic function name to look up that function in the Function | 9910 | algebraic function name to look up that function in the Function |
| 9911 | Index or enter a command name beginning with @samp{calc-} to look it | 9911 | Index or enter a command name beginning with @samp{calc-} to look it |
| 9912 | up in the Command Index. This command will also look up operator | 9912 | up in the Command Index. This command will also look up operator |
| 9913 | symbols that can appear in algebraic formulas, like @samp{%} and | 9913 | symbols that can appear in algebraic formulas, like @samp{%} and |
| 9914 | @samp{=>}. | 9914 | @samp{=>}. |
| 9915 | 9915 | ||
| 9916 | @kindex h v | 9916 | @kindex h v |
| @@ -10038,7 +10038,7 @@ During numeric entry, the only editing key available is @key{DEL}. | |||
| 10038 | @cindex Formulas, entering | 10038 | @cindex Formulas, entering |
| 10039 | The @kbd{'} (@code{calc-algebraic-entry}) command can be used to enter | 10039 | The @kbd{'} (@code{calc-algebraic-entry}) command can be used to enter |
| 10040 | calculations in algebraic form. This is accomplished by typing the | 10040 | calculations in algebraic form. This is accomplished by typing the |
| 10041 | apostrophe key, ', followed by the expression in standard format: | 10041 | apostrophe key, ', followed by the expression in standard format: |
| 10042 | 10042 | ||
| 10043 | @example | 10043 | @example |
| 10044 | ' 2+3*4 @key{RET}. | 10044 | ' 2+3*4 @key{RET}. |
| @@ -10047,7 +10047,7 @@ apostrophe key, ', followed by the expression in standard format: | |||
| 10047 | @noindent | 10047 | @noindent |
| 10048 | This will compute | 10048 | This will compute |
| 10049 | @texline @math{2+(3\times4) = 14} | 10049 | @texline @math{2+(3\times4) = 14} |
| 10050 | @infoline @expr{2+(3*4) = 14} | 10050 | @infoline @expr{2+(3*4) = 14} |
| 10051 | and push it on the stack. If you wish you can | 10051 | and push it on the stack. If you wish you can |
| 10052 | ignore the RPN aspect of Calc altogether and simply enter algebraic | 10052 | ignore the RPN aspect of Calc altogether and simply enter algebraic |
| 10053 | expressions in this way. You may want to use @key{DEL} every so often to | 10053 | expressions in this way. You may want to use @key{DEL} every so often to |
| @@ -10453,9 +10453,9 @@ is greater than this, it will recompute @cpi{} using a series | |||
| 10453 | approximation. This value will not need to be recomputed ever again | 10453 | approximation. This value will not need to be recomputed ever again |
| 10454 | unless you raise the precision still further. Many operations such as | 10454 | unless you raise the precision still further. Many operations such as |
| 10455 | logarithms and sines make use of similarly cached values such as | 10455 | logarithms and sines make use of similarly cached values such as |
| 10456 | @cpiover{4} and | 10456 | @cpiover{4} and |
| 10457 | @texline @math{\ln 2}. | 10457 | @texline @math{\ln 2}. |
| 10458 | @infoline @expr{ln(2)}. | 10458 | @infoline @expr{ln(2)}. |
| 10459 | The visible effect of caching is that | 10459 | The visible effect of caching is that |
| 10460 | high-precision computations may seem to do extra work the first time. | 10460 | high-precision computations may seem to do extra work the first time. |
| 10461 | Other things cached include powers of two (for the binary arithmetic | 10461 | Other things cached include powers of two (for the binary arithmetic |
| @@ -10612,10 +10612,10 @@ form). The numerator and denominator always use the same radix. | |||
| 10612 | A floating-point number or @dfn{float} is a number stored in scientific | 10612 | A floating-point number or @dfn{float} is a number stored in scientific |
| 10613 | notation. The number of significant digits in the fractional part is | 10613 | notation. The number of significant digits in the fractional part is |
| 10614 | governed by the current floating precision (@pxref{Precision}). The | 10614 | governed by the current floating precision (@pxref{Precision}). The |
| 10615 | range of acceptable values is from | 10615 | range of acceptable values is from |
| 10616 | @texline @math{10^{-3999999}} | 10616 | @texline @math{10^{-3999999}} |
| 10617 | @infoline @expr{10^-3999999} | 10617 | @infoline @expr{10^-3999999} |
| 10618 | (inclusive) to | 10618 | (inclusive) to |
| 10619 | @texline @math{10^{4000000}} | 10619 | @texline @math{10^{4000000}} |
| 10620 | @infoline @expr{10^4000000} | 10620 | @infoline @expr{10^4000000} |
| 10621 | (exclusive), plus the corresponding negative values and zero. | 10621 | (exclusive), plus the corresponding negative values and zero. |
| @@ -10666,7 +10666,7 @@ and displayed in any radix just like integers and fractions. Since a | |||
| 10666 | float that is entered in a radix other that 10 will be converted to | 10666 | float that is entered in a radix other that 10 will be converted to |
| 10667 | decimal, the number that Calc stores may not be exactly the number that | 10667 | decimal, the number that Calc stores may not be exactly the number that |
| 10668 | was entered, it will be the closest decimal approximation given the | 10668 | was entered, it will be the closest decimal approximation given the |
| 10669 | current precison. The notation @samp{@var{radix}#@var{ddd}.@var{ddd}} | 10669 | current precision. The notation @samp{@var{radix}#@var{ddd}.@var{ddd}} |
| 10670 | is a floating-point number whose digits are in the specified radix. | 10670 | is a floating-point number whose digits are in the specified radix. |
| 10671 | Note that the @samp{.} is more aptly referred to as a ``radix point'' | 10671 | Note that the @samp{.} is more aptly referred to as a ``radix point'' |
| 10672 | than as a decimal point in this case. The number @samp{8#123.4567} is | 10672 | than as a decimal point in this case. The number @samp{8#123.4567} is |
| @@ -10690,18 +10690,18 @@ polar. The default format is rectangular, displayed in the form | |||
| 10690 | Rectangular complex numbers can also be displayed in @samp{@var{a}+@var{b}i} | 10690 | Rectangular complex numbers can also be displayed in @samp{@var{a}+@var{b}i} |
| 10691 | notation; @pxref{Complex Formats}. | 10691 | notation; @pxref{Complex Formats}. |
| 10692 | 10692 | ||
| 10693 | Polar complex numbers are displayed in the form | 10693 | Polar complex numbers are displayed in the form |
| 10694 | @texline `@tfn{(}@var{r}@tfn{;}@math{\theta}@tfn{)}' | 10694 | @texline `@tfn{(}@var{r}@tfn{;}@math{\theta}@tfn{)}' |
| 10695 | @infoline `@tfn{(}@var{r}@tfn{;}@var{theta}@tfn{)}' | 10695 | @infoline `@tfn{(}@var{r}@tfn{;}@var{theta}@tfn{)}' |
| 10696 | where @var{r} is the nonnegative magnitude and | 10696 | where @var{r} is the nonnegative magnitude and |
| 10697 | @texline @math{\theta} | 10697 | @texline @math{\theta} |
| 10698 | @infoline @var{theta} | 10698 | @infoline @var{theta} |
| 10699 | is the argument or phase angle. The range of | 10699 | is the argument or phase angle. The range of |
| 10700 | @texline @math{\theta} | 10700 | @texline @math{\theta} |
| 10701 | @infoline @var{theta} | 10701 | @infoline @var{theta} |
| 10702 | depends on the current angular mode (@pxref{Angular Modes}); it is | 10702 | depends on the current angular mode (@pxref{Angular Modes}); it is |
| 10703 | generally between @mathit{-180} and @mathit{+180} degrees or the equivalent range | 10703 | generally between @mathit{-180} and @mathit{+180} degrees or the equivalent range |
| 10704 | in radians. | 10704 | in radians. |
| 10705 | 10705 | ||
| 10706 | Complex numbers are entered in stages using incomplete objects. | 10706 | Complex numbers are entered in stages using incomplete objects. |
| 10707 | @xref{Incomplete Objects}. | 10707 | @xref{Incomplete Objects}. |
| @@ -10742,9 +10742,9 @@ really mean is that @expr{1 / x}, as @expr{x} becomes larger and | |||
| 10742 | larger, becomes arbitrarily close to zero. So you can imagine | 10742 | larger, becomes arbitrarily close to zero. So you can imagine |
| 10743 | that if @expr{x} got ``all the way to infinity,'' then @expr{1 / x} | 10743 | that if @expr{x} got ``all the way to infinity,'' then @expr{1 / x} |
| 10744 | would go all the way to zero. Similarly, when they say that | 10744 | would go all the way to zero. Similarly, when they say that |
| 10745 | @samp{exp(inf) = inf}, they mean that | 10745 | @samp{exp(inf) = inf}, they mean that |
| 10746 | @texline @math{e^x} | 10746 | @texline @math{e^x} |
| 10747 | @infoline @expr{exp(x)} | 10747 | @infoline @expr{exp(x)} |
| 10748 | grows without bound as @expr{x} grows. The symbol @samp{-inf} likewise | 10748 | grows without bound as @expr{x} grows. The symbol @samp{-inf} likewise |
| 10749 | stands for an infinitely negative real value; for example, we say that | 10749 | stands for an infinitely negative real value; for example, we say that |
| 10750 | @samp{exp(-inf) = 0}. You can have an infinity pointing in any | 10750 | @samp{exp(-inf) = 0}. You can have an infinity pointing in any |
| @@ -10839,7 +10839,7 @@ of its elements. | |||
| 10839 | @end ignore | 10839 | @end ignore |
| 10840 | @tindex vec | 10840 | @tindex vec |
| 10841 | Algebraic functions for building vectors include @samp{vec(a, b, c)} | 10841 | Algebraic functions for building vectors include @samp{vec(a, b, c)} |
| 10842 | to build @samp{[a, b, c]}, @samp{cvec(a, n, m)} to build an | 10842 | to build @samp{[a, b, c]}, @samp{cvec(a, n, m)} to build an |
| 10843 | @texline @math{n\times m} | 10843 | @texline @math{n\times m} |
| 10844 | @infoline @var{n}x@var{m} | 10844 | @infoline @var{n}x@var{m} |
| 10845 | matrix of @samp{a}s, and @samp{index(n)} to build a vector of integers | 10845 | matrix of @samp{a}s, and @samp{index(n)} to build a vector of integers |
| @@ -11184,9 +11184,9 @@ there is no solution to this equation (which can happen only when | |||
| 11184 | division is left in symbolic form. Other operations, such as square | 11184 | division is left in symbolic form. Other operations, such as square |
| 11185 | roots, are not yet supported for modulo forms. (Note that, although | 11185 | roots, are not yet supported for modulo forms. (Note that, although |
| 11186 | @w{`@tfn{(}@var{a} @tfn{mod} @var{M}@tfn{)^.5}'} will compute a ``modulo square root'' | 11186 | @w{`@tfn{(}@var{a} @tfn{mod} @var{M}@tfn{)^.5}'} will compute a ``modulo square root'' |
| 11187 | in the sense of reducing | 11187 | in the sense of reducing |
| 11188 | @texline @math{\sqrt a} | 11188 | @texline @math{\sqrt a} |
| 11189 | @infoline @expr{sqrt(a)} | 11189 | @infoline @expr{sqrt(a)} |
| 11190 | modulo @expr{M}, this is not a useful definition from the | 11190 | modulo @expr{M}, this is not a useful definition from the |
| 11191 | number-theoretical point of view.) | 11191 | number-theoretical point of view.) |
| 11192 | 11192 | ||
| @@ -11220,11 +11220,11 @@ The algebraic function @samp{makemod(a, m)} builds the modulo form | |||
| 11220 | @cindex Standard deviations | 11220 | @cindex Standard deviations |
| 11221 | An @dfn{error form} is a number with an associated standard | 11221 | An @dfn{error form} is a number with an associated standard |
| 11222 | deviation, as in @samp{2.3 +/- 0.12}. The notation | 11222 | deviation, as in @samp{2.3 +/- 0.12}. The notation |
| 11223 | @texline `@var{x} @tfn{+/-} @math{\sigma}' | 11223 | @texline `@var{x} @tfn{+/-} @math{\sigma}' |
| 11224 | @infoline `@var{x} @tfn{+/-} sigma' | 11224 | @infoline `@var{x} @tfn{+/-} sigma' |
| 11225 | stands for an uncertain value which follows | 11225 | stands for an uncertain value which follows |
| 11226 | a normal or Gaussian distribution of mean @expr{x} and standard | 11226 | a normal or Gaussian distribution of mean @expr{x} and standard |
| 11227 | deviation or ``error'' | 11227 | deviation or ``error'' |
| 11228 | @texline @math{\sigma}. | 11228 | @texline @math{\sigma}. |
| 11229 | @infoline @expr{sigma}. | 11229 | @infoline @expr{sigma}. |
| 11230 | Both the mean and the error can be either numbers or | 11230 | Both the mean and the error can be either numbers or |
| @@ -11235,7 +11235,7 @@ regular number by the Calculator. | |||
| 11235 | 11235 | ||
| 11236 | All arithmetic and transcendental functions accept error forms as input. | 11236 | All arithmetic and transcendental functions accept error forms as input. |
| 11237 | Operations on the mean-value part work just like operations on regular | 11237 | Operations on the mean-value part work just like operations on regular |
| 11238 | numbers. The error part for any function @expr{f(x)} (such as | 11238 | numbers. The error part for any function @expr{f(x)} (such as |
| 11239 | @texline @math{\sin x} | 11239 | @texline @math{\sin x} |
| 11240 | @infoline @expr{sin(x)}) | 11240 | @infoline @expr{sin(x)}) |
| 11241 | is defined by the error of @expr{x} times the derivative of @expr{f} | 11241 | is defined by the error of @expr{x} times the derivative of @expr{f} |
| @@ -11267,35 +11267,35 @@ Consult a good text on error analysis for a discussion of the proper use | |||
| 11267 | of standard deviations. Actual errors often are neither Gaussian-distributed | 11267 | of standard deviations. Actual errors often are neither Gaussian-distributed |
| 11268 | nor uncorrelated, and the above formulas are valid only when errors | 11268 | nor uncorrelated, and the above formulas are valid only when errors |
| 11269 | are small. As an example, the error arising from | 11269 | are small. As an example, the error arising from |
| 11270 | @texline `@tfn{sin(}@var{x} @tfn{+/-} @math{\sigma}@tfn{)}' | 11270 | @texline `@tfn{sin(}@var{x} @tfn{+/-} @math{\sigma}@tfn{)}' |
| 11271 | @infoline `@tfn{sin(}@var{x} @tfn{+/-} @var{sigma}@tfn{)}' | 11271 | @infoline `@tfn{sin(}@var{x} @tfn{+/-} @var{sigma}@tfn{)}' |
| 11272 | is | 11272 | is |
| 11273 | @texline `@math{\sigma} @tfn{abs(cos(}@var{x}@tfn{))}'. | 11273 | @texline `@math{\sigma} @tfn{abs(cos(}@var{x}@tfn{))}'. |
| 11274 | @infoline `@var{sigma} @tfn{abs(cos(}@var{x}@tfn{))}'. | 11274 | @infoline `@var{sigma} @tfn{abs(cos(}@var{x}@tfn{))}'. |
| 11275 | When @expr{x} is close to zero, | 11275 | When @expr{x} is close to zero, |
| 11276 | @texline @math{\cos x} | 11276 | @texline @math{\cos x} |
| 11277 | @infoline @expr{cos(x)} | 11277 | @infoline @expr{cos(x)} |
| 11278 | is close to one so the error in the sine is close to | 11278 | is close to one so the error in the sine is close to |
| 11279 | @texline @math{\sigma}; | 11279 | @texline @math{\sigma}; |
| 11280 | @infoline @expr{sigma}; | 11280 | @infoline @expr{sigma}; |
| 11281 | this makes sense, since | 11281 | this makes sense, since |
| 11282 | @texline @math{\sin x} | 11282 | @texline @math{\sin x} |
| 11283 | @infoline @expr{sin(x)} | 11283 | @infoline @expr{sin(x)} |
| 11284 | is approximately @expr{x} near zero, so a given error in @expr{x} will | 11284 | is approximately @expr{x} near zero, so a given error in @expr{x} will |
| 11285 | produce about the same error in the sine. Likewise, near 90 degrees | 11285 | produce about the same error in the sine. Likewise, near 90 degrees |
| 11286 | @texline @math{\cos x} | 11286 | @texline @math{\cos x} |
| 11287 | @infoline @expr{cos(x)} | 11287 | @infoline @expr{cos(x)} |
| 11288 | is nearly zero and so the computed error is | 11288 | is nearly zero and so the computed error is |
| 11289 | small: The sine curve is nearly flat in that region, so an error in @expr{x} | 11289 | small: The sine curve is nearly flat in that region, so an error in @expr{x} |
| 11290 | has relatively little effect on the value of | 11290 | has relatively little effect on the value of |
| 11291 | @texline @math{\sin x}. | 11291 | @texline @math{\sin x}. |
| 11292 | @infoline @expr{sin(x)}. | 11292 | @infoline @expr{sin(x)}. |
| 11293 | However, consider @samp{sin(90 +/- 1000)}. The cosine of 90 is zero, so | 11293 | However, consider @samp{sin(90 +/- 1000)}. The cosine of 90 is zero, so |
| 11294 | Calc will report zero error! We get an obviously wrong result because | 11294 | Calc will report zero error! We get an obviously wrong result because |
| 11295 | we have violated the small-error approximation underlying the error | 11295 | we have violated the small-error approximation underlying the error |
| 11296 | analysis. If the error in @expr{x} had been small, the error in | 11296 | analysis. If the error in @expr{x} had been small, the error in |
| 11297 | @texline @math{\sin x} | 11297 | @texline @math{\sin x} |
| 11298 | @infoline @expr{sin(x)} | 11298 | @infoline @expr{sin(x)} |
| 11299 | would indeed have been negligible. | 11299 | would indeed have been negligible. |
| 11300 | 11300 | ||
| 11301 | @ignore | 11301 | @ignore |
| @@ -11402,14 +11402,14 @@ contain zero inside them Calc is forced to give the result, | |||
| 11402 | 11402 | ||
| 11403 | While it may seem that intervals and error forms are similar, they are | 11403 | While it may seem that intervals and error forms are similar, they are |
| 11404 | based on entirely different concepts of inexact quantities. An error | 11404 | based on entirely different concepts of inexact quantities. An error |
| 11405 | form | 11405 | form |
| 11406 | @texline `@var{x} @tfn{+/-} @math{\sigma}' | 11406 | @texline `@var{x} @tfn{+/-} @math{\sigma}' |
| 11407 | @infoline `@var{x} @tfn{+/-} @var{sigma}' | 11407 | @infoline `@var{x} @tfn{+/-} @var{sigma}' |
| 11408 | means a variable is random, and its value could | 11408 | means a variable is random, and its value could |
| 11409 | be anything but is ``probably'' within one | 11409 | be anything but is ``probably'' within one |
| 11410 | @texline @math{\sigma} | 11410 | @texline @math{\sigma} |
| 11411 | @infoline @var{sigma} | 11411 | @infoline @var{sigma} |
| 11412 | of the mean value @expr{x}. An interval | 11412 | of the mean value @expr{x}. An interval |
| 11413 | `@tfn{[}@var{a} @tfn{..@:} @var{b}@tfn{]}' means a | 11413 | `@tfn{[}@var{a} @tfn{..@:} @var{b}@tfn{]}' means a |
| 11414 | variable's value is unknown, but guaranteed to lie in the specified | 11414 | variable's value is unknown, but guaranteed to lie in the specified |
| 11415 | range. Error forms are statistical or ``average case'' approximations; | 11415 | range. Error forms are statistical or ``average case'' approximations; |
| @@ -11641,7 +11641,7 @@ the C-style ``if'' operator @samp{a?b:c} [@code{if}]; | |||
| 11641 | @samp{=>} [@code{evalto}]. | 11641 | @samp{=>} [@code{evalto}]. |
| 11642 | 11642 | ||
| 11643 | Note that, unlike in usual computer notation, multiplication binds more | 11643 | Note that, unlike in usual computer notation, multiplication binds more |
| 11644 | strongly than division: @samp{a*b/c*d} is equivalent to | 11644 | strongly than division: @samp{a*b/c*d} is equivalent to |
| 11645 | @texline @math{a b \over c d}. | 11645 | @texline @math{a b \over c d}. |
| 11646 | @infoline @expr{(a*b)/(c*d)}. | 11646 | @infoline @expr{(a*b)/(c*d)}. |
| 11647 | 11647 | ||
| @@ -11858,13 +11858,13 @@ next higher level. For example, with @samp{10 20 30 40 50} on the | |||
| 11858 | stack and the point on the line containing @samp{30}, @kbd{C-x C-t} | 11858 | stack and the point on the line containing @samp{30}, @kbd{C-x C-t} |
| 11859 | creates @samp{10 20 40 30 50}. More generally, @kbd{C-x C-t} acts on | 11859 | creates @samp{10 20 40 30 50}. More generally, @kbd{C-x C-t} acts on |
| 11860 | the stack objects determined by the current point (and mark) similar | 11860 | the stack objects determined by the current point (and mark) similar |
| 11861 | to how the text-mode command @code{transpose-lines} acts on | 11861 | to how the text-mode command @code{transpose-lines} acts on |
| 11862 | lines. With argument @var{n}, @kbd{C-x C-t} will move the stack object | 11862 | lines. With argument @var{n}, @kbd{C-x C-t} will move the stack object |
| 11863 | at the level above the current point and move it past N other objects; | 11863 | at the level above the current point and move it past N other objects; |
| 11864 | for example, with @samp{10 20 30 40 50} on the stack and the point on | 11864 | for example, with @samp{10 20 30 40 50} on the stack and the point on |
| 11865 | the line containing @samp{30}, @kbd{C-u 2 C-x C-t} creates | 11865 | the line containing @samp{30}, @kbd{C-u 2 C-x C-t} creates |
| 11866 | @samp{10 40 20 30 50}. With an argument of 0, @kbd{C-x C-t} will switch | 11866 | @samp{10 40 20 30 50}. With an argument of 0, @kbd{C-x C-t} will switch |
| 11867 | the stack objects at the levels determined by the point and the mark. | 11867 | the stack objects at the levels determined by the point and the mark. |
| 11868 | 11868 | ||
| 11869 | @node Editing Stack Entries, Trail Commands, Stack Manipulation, Stack and Trail | 11869 | @node Editing Stack Entries, Trail Commands, Stack Manipulation, Stack and Trail |
| 11870 | @section Editing Stack Entries | 11870 | @section Editing Stack Entries |
| @@ -12056,7 +12056,7 @@ the stack contains the arguments and the result: @samp{2 3 5}. | |||
| 12056 | With the exception of keyboard macros, this works for all commands that | 12056 | With the exception of keyboard macros, this works for all commands that |
| 12057 | take arguments off the stack. (To avoid potentially unpleasant behavior, | 12057 | take arguments off the stack. (To avoid potentially unpleasant behavior, |
| 12058 | a @kbd{K} prefix before a keyboard macro will be ignored. A @kbd{K} | 12058 | a @kbd{K} prefix before a keyboard macro will be ignored. A @kbd{K} |
| 12059 | prefix called @emph{within} the keyboard macro will still take effect.) | 12059 | prefix called @emph{within} the keyboard macro will still take effect.) |
| 12060 | As another example, @kbd{K a s} simplifies a formula, pushing the | 12060 | As another example, @kbd{K a s} simplifies a formula, pushing the |
| 12061 | simplified version of the formula onto the stack after the original | 12061 | simplified version of the formula onto the stack after the original |
| 12062 | formula (rather than replacing the original formula). Note that you | 12062 | formula (rather than replacing the original formula). Note that you |
| @@ -12064,7 +12064,7 @@ could get the same effect by typing @kbd{@key{RET} a s}, copying the | |||
| 12064 | formula and then simplifying the copy. One difference is that for a very | 12064 | formula and then simplifying the copy. One difference is that for a very |
| 12065 | large formula the time taken to format the intermediate copy in | 12065 | large formula the time taken to format the intermediate copy in |
| 12066 | @kbd{@key{RET} a s} could be noticeable; @kbd{K a s} would avoid this | 12066 | @kbd{@key{RET} a s} could be noticeable; @kbd{K a s} would avoid this |
| 12067 | extra work. | 12067 | extra work. |
| 12068 | 12068 | ||
| 12069 | Even stack manipulation commands are affected. @key{TAB} works by | 12069 | Even stack manipulation commands are affected. @key{TAB} works by |
| 12070 | popping two values and pushing them back in the opposite order, | 12070 | popping two values and pushing them back in the opposite order, |
| @@ -12155,7 +12155,7 @@ discussion of the @code{calc-settings-file} variable; @pxref{Customizing Calc}. | |||
| 12155 | If the file name you give is your user init file (typically | 12155 | If the file name you give is your user init file (typically |
| 12156 | @file{~/.emacs}), @kbd{m F} will not automatically load the new file. This | 12156 | @file{~/.emacs}), @kbd{m F} will not automatically load the new file. This |
| 12157 | is because your user init file may contain other things you don't want | 12157 | is because your user init file may contain other things you don't want |
| 12158 | to reread. You can give | 12158 | to reread. You can give |
| 12159 | a numeric prefix argument of 1 to @kbd{m F} to force it to read the | 12159 | a numeric prefix argument of 1 to @kbd{m F} to force it to read the |
| 12160 | file no matter what. Conversely, an argument of @mathit{-1} tells | 12160 | file no matter what. Conversely, an argument of @mathit{-1} tells |
| 12161 | @kbd{m F} @emph{not} to read the new file. An argument of 2 or @mathit{-2} | 12161 | @kbd{m F} @emph{not} to read the new file. An argument of 2 or @mathit{-2} |
| @@ -12274,7 +12274,7 @@ corresponding base command (@code{calc-sin} in this case). | |||
| 12274 | @pindex calc-option | 12274 | @pindex calc-option |
| 12275 | The @kbd{O} key (@code{calc-option}) sets another flag, the | 12275 | The @kbd{O} key (@code{calc-option}) sets another flag, the |
| 12276 | @dfn{Option Flag}, which also can alter the subsequent Calc command in | 12276 | @dfn{Option Flag}, which also can alter the subsequent Calc command in |
| 12277 | various ways. | 12277 | various ways. |
| 12278 | 12278 | ||
| 12279 | The Inverse, Hyperbolic and Option flags apply only to the next | 12279 | The Inverse, Hyperbolic and Option flags apply only to the next |
| 12280 | Calculator command, after which they are automatically cleared. (They | 12280 | Calculator command, after which they are automatically cleared. (They |
| @@ -12366,7 +12366,7 @@ result cannot be expressed as an integer. In some cases you would | |||
| 12366 | rather get an exact fractional answer. One way to accomplish this is | 12366 | rather get an exact fractional answer. One way to accomplish this is |
| 12367 | to use the @kbd{:} (@code{calc-fdiv}) [@code{fdiv}] command, which | 12367 | to use the @kbd{:} (@code{calc-fdiv}) [@code{fdiv}] command, which |
| 12368 | divides the two integers on the top of the stack to produce a fraction: | 12368 | divides the two integers on the top of the stack to produce a fraction: |
| 12369 | @kbd{6 @key{RET} 4 :} produces @expr{3:2} even though | 12369 | @kbd{6 @key{RET} 4 :} produces @expr{3:2} even though |
| 12370 | @kbd{6 @key{RET} 4 /} produces @expr{1.5}. | 12370 | @kbd{6 @key{RET} 4 /} produces @expr{1.5}. |
| 12371 | 12371 | ||
| 12372 | @kindex m f | 12372 | @kindex m f |
| @@ -13155,11 +13155,11 @@ represent the integer and no more. The @kbd{d z} (@code{calc-leading-zeros}) | |||
| 13155 | command causes integers to be padded out with leading zeros according to the | 13155 | command causes integers to be padded out with leading zeros according to the |
| 13156 | current binary word size. (@xref{Binary Functions}, for a discussion of | 13156 | current binary word size. (@xref{Binary Functions}, for a discussion of |
| 13157 | word size.) If the absolute value of the word size is @expr{w}, all integers | 13157 | word size.) If the absolute value of the word size is @expr{w}, all integers |
| 13158 | are displayed with at least enough digits to represent | 13158 | are displayed with at least enough digits to represent |
| 13159 | @texline @math{2^w-1} | 13159 | @texline @math{2^w-1} |
| 13160 | @infoline @expr{(2^w)-1} | 13160 | @infoline @expr{(2^w)-1} |
| 13161 | in the current radix. (Larger integers will still be displayed in their | 13161 | in the current radix. (Larger integers will still be displayed in their |
| 13162 | entirety.) | 13162 | entirety.) |
| 13163 | 13163 | ||
| 13164 | @cindex Two's complements | 13164 | @cindex Two's complements |
| 13165 | Calc can display @expr{w}-bit integers using two's complement | 13165 | Calc can display @expr{w}-bit integers using two's complement |
| @@ -13181,7 +13181,7 @@ the integers from @expr{0} to | |||
| 13181 | are represented by themselves and the integers from | 13181 | are represented by themselves and the integers from |
| 13182 | @texline @math{-2^{w-1}} | 13182 | @texline @math{-2^{w-1}} |
| 13183 | @infoline @expr{-2^(w-1)} | 13183 | @infoline @expr{-2^(w-1)} |
| 13184 | to @expr{-1} are represented by the integers from | 13184 | to @expr{-1} are represented by the integers from |
| 13185 | @texline @math{2^{w-1}} | 13185 | @texline @math{2^{w-1}} |
| 13186 | @infoline @expr{2^(w-1)} | 13186 | @infoline @expr{2^(w-1)} |
| 13187 | to @expr{2^w-1} (the integer @expr{k} is represented by @expr{k+2^w}). | 13187 | to @expr{2^w-1} (the integer @expr{k} is represented by @expr{k+2^w}). |
| @@ -13190,7 +13190,7 @@ Calc will display a two's complement integer by the radix (either | |||
| 13190 | representation (including any leading zeros necessary to include all | 13190 | representation (including any leading zeros necessary to include all |
| 13191 | @expr{w} bits). In a two's complement display mode, numbers that | 13191 | @expr{w} bits). In a two's complement display mode, numbers that |
| 13192 | are not displayed in two's complement notation (i.e., that aren't | 13192 | are not displayed in two's complement notation (i.e., that aren't |
| 13193 | integers from | 13193 | integers from |
| 13194 | @texline @math{-2^{w-1}} | 13194 | @texline @math{-2^{w-1}} |
| 13195 | @infoline @expr{-2^(w-1)} | 13195 | @infoline @expr{-2^(w-1)} |
| 13196 | to | 13196 | to |
| @@ -14095,13 +14095,13 @@ the @samp{$} sign has the same meaning it always does in algebraic | |||
| 14095 | formulas (a reference to an existing entry on the stack). | 14095 | formulas (a reference to an existing entry on the stack). |
| 14096 | 14096 | ||
| 14097 | Complex numbers are displayed as in @samp{3 + 4i}. Fractions and | 14097 | Complex numbers are displayed as in @samp{3 + 4i}. Fractions and |
| 14098 | quotients are written using @code{\over} in @TeX{} mode (as in | 14098 | quotients are written using @code{\over} in @TeX{} mode (as in |
| 14099 | @code{@{a \over b@}}) and @code{\frac} in La@TeX{} mode (as in | 14099 | @code{@{a \over b@}}) and @code{\frac} in La@TeX{} mode (as in |
| 14100 | @code{\frac@{a@}@{b@}}); binomial coefficients are written with | 14100 | @code{\frac@{a@}@{b@}}); binomial coefficients are written with |
| 14101 | @code{\choose} in @TeX{} mode (as in @code{@{a \choose b@}}) and | 14101 | @code{\choose} in @TeX{} mode (as in @code{@{a \choose b@}}) and |
| 14102 | @code{\binom} in La@TeX{} mode (as in @code{\binom@{a@}@{b@}}). | 14102 | @code{\binom} in La@TeX{} mode (as in @code{\binom@{a@}@{b@}}). |
| 14103 | Interval forms are written with @code{\ldots}, and error forms are | 14103 | Interval forms are written with @code{\ldots}, and error forms are |
| 14104 | written with @code{\pm}. Absolute values are written as in | 14104 | written with @code{\pm}. Absolute values are written as in |
| 14105 | @samp{|x + 1|}, and the floor and ceiling functions are written with | 14105 | @samp{|x + 1|}, and the floor and ceiling functions are written with |
| 14106 | @code{\lfloor}, @code{\rfloor}, etc. The words @code{\left} and | 14106 | @code{\lfloor}, @code{\rfloor}, etc. The words @code{\left} and |
| 14107 | @code{\right} are ignored when reading formulas in @TeX{} and La@TeX{} | 14107 | @code{\right} are ignored when reading formulas in @TeX{} and La@TeX{} |
| @@ -14114,10 +14114,10 @@ and La@TeX{} have special names (like @code{\sin}) will use curly braces | |||
| 14114 | instead of parentheses for very simple arguments. During input, curly | 14114 | instead of parentheses for very simple arguments. During input, curly |
| 14115 | braces and parentheses work equally well for grouping, but when the | 14115 | braces and parentheses work equally well for grouping, but when the |
| 14116 | document is formatted the curly braces will be invisible. Thus the | 14116 | document is formatted the curly braces will be invisible. Thus the |
| 14117 | printed result is | 14117 | printed result is |
| 14118 | @texline @math{\sin{2 x}} | 14118 | @texline @math{\sin{2 x}} |
| 14119 | @infoline @expr{sin 2x} | 14119 | @infoline @expr{sin 2x} |
| 14120 | but | 14120 | but |
| 14121 | @texline @math{\sin(2 + x)}. | 14121 | @texline @math{\sin(2 + x)}. |
| 14122 | @infoline @expr{sin(2 + x)}. | 14122 | @infoline @expr{sin(2 + x)}. |
| 14123 | 14123 | ||
| @@ -14131,7 +14131,7 @@ italic letters in the printed document. If you invoke @kbd{d T} or | |||
| 14131 | @kbd{d L} with a positive numeric prefix argument, names of more than | 14131 | @kbd{d L} with a positive numeric prefix argument, names of more than |
| 14132 | one character will instead be enclosed in a protective commands that | 14132 | one character will instead be enclosed in a protective commands that |
| 14133 | will prevent them from being typeset in the math italics; they will be | 14133 | will prevent them from being typeset in the math italics; they will be |
| 14134 | written @samp{\hbox@{@var{name}@}} in @TeX{} mode and | 14134 | written @samp{\hbox@{@var{name}@}} in @TeX{} mode and |
| 14135 | @samp{\text@{@var{name}@}} in La@TeX{} mode. The | 14135 | @samp{\text@{@var{name}@}} in La@TeX{} mode. The |
| 14136 | @samp{\hbox@{ @}} and @samp{\text@{ @}} notations are ignored during | 14136 | @samp{\hbox@{ @}} and @samp{\text@{ @}} notations are ignored during |
| 14137 | reading. If you use a negative prefix argument, such function names are | 14137 | reading. If you use a negative prefix argument, such function names are |
| @@ -14143,7 +14143,7 @@ any @TeX{} mode.) | |||
| 14143 | 14143 | ||
| 14144 | During reading, text of the form @samp{\matrix@{ ...@: @}} is replaced | 14144 | During reading, text of the form @samp{\matrix@{ ...@: @}} is replaced |
| 14145 | by @samp{[ ...@: ]}. The same also applies to @code{\pmatrix} and | 14145 | by @samp{[ ...@: ]}. The same also applies to @code{\pmatrix} and |
| 14146 | @code{\bmatrix}. In La@TeX{} mode this also applies to | 14146 | @code{\bmatrix}. In La@TeX{} mode this also applies to |
| 14147 | @samp{\begin@{matrix@} ... \end@{matrix@}}, | 14147 | @samp{\begin@{matrix@} ... \end@{matrix@}}, |
| 14148 | @samp{\begin@{bmatrix@} ... \end@{bmatrix@}}, | 14148 | @samp{\begin@{bmatrix@} ... \end@{bmatrix@}}, |
| 14149 | @samp{\begin@{pmatrix@} ... \end@{pmatrix@}}, as well as | 14149 | @samp{\begin@{pmatrix@} ... \end@{pmatrix@}}, as well as |
| @@ -14151,12 +14151,12 @@ by @samp{[ ...@: ]}. The same also applies to @code{\pmatrix} and | |||
| 14151 | The symbol @samp{&} is interpreted as a comma, | 14151 | The symbol @samp{&} is interpreted as a comma, |
| 14152 | and the symbols @samp{\cr} and @samp{\\} are interpreted as semicolons. | 14152 | and the symbols @samp{\cr} and @samp{\\} are interpreted as semicolons. |
| 14153 | During output, matrices are displayed in @samp{\matrix@{ a & b \\ c & d@}} | 14153 | During output, matrices are displayed in @samp{\matrix@{ a & b \\ c & d@}} |
| 14154 | format in @TeX{} mode and in | 14154 | format in @TeX{} mode and in |
| 14155 | @samp{\begin@{pmatrix@} a & b \\ c & d \end@{pmatrix@}} format in | 14155 | @samp{\begin@{pmatrix@} a & b \\ c & d \end@{pmatrix@}} format in |
| 14156 | La@TeX{} mode; you may need to edit this afterwards to change to your | 14156 | La@TeX{} mode; you may need to edit this afterwards to change to your |
| 14157 | preferred matrix form. If you invoke @kbd{d T} or @kbd{d L} with an | 14157 | preferred matrix form. If you invoke @kbd{d T} or @kbd{d L} with an |
| 14158 | argument of 2 or -2, then matrices will be displayed in two-dimensional | 14158 | argument of 2 or -2, then matrices will be displayed in two-dimensional |
| 14159 | form, such as | 14159 | form, such as |
| 14160 | 14160 | ||
| 14161 | @example | 14161 | @example |
| 14162 | \begin@{pmatrix@} | 14162 | \begin@{pmatrix@} |
| @@ -14300,25 +14300,25 @@ in Calc, @TeX{}, La@TeX{} and @dfn{eqn} (described in the next section): | |||
| 14300 | @example | 14300 | @example |
| 14301 | Calc TeX LaTeX eqn | 14301 | Calc TeX LaTeX eqn |
| 14302 | ---- --- ----- --- | 14302 | ---- --- ----- --- |
| 14303 | acute \acute \acute | 14303 | acute \acute \acute |
| 14304 | Acute \Acute | 14304 | Acute \Acute |
| 14305 | bar \bar \bar bar | 14305 | bar \bar \bar bar |
| 14306 | Bar \Bar | 14306 | Bar \Bar |
| 14307 | breve \breve \breve | 14307 | breve \breve \breve |
| 14308 | Breve \Breve | 14308 | Breve \Breve |
| 14309 | check \check \check | 14309 | check \check \check |
| 14310 | Check \Check | 14310 | Check \Check |
| 14311 | dddot \dddot | 14311 | dddot \dddot |
| 14312 | ddddot \ddddot | 14312 | ddddot \ddddot |
| 14313 | dot \dot \dot dot | 14313 | dot \dot \dot dot |
| 14314 | Dot \Dot | 14314 | Dot \Dot |
| 14315 | dotdot \ddot \ddot dotdot | 14315 | dotdot \ddot \ddot dotdot |
| 14316 | DotDot \Ddot | 14316 | DotDot \Ddot |
| 14317 | dyad dyad | 14317 | dyad dyad |
| 14318 | grave \grave \grave | 14318 | grave \grave \grave |
| 14319 | Grave \Grave | 14319 | Grave \Grave |
| 14320 | hat \hat \hat hat | 14320 | hat \hat \hat hat |
| 14321 | Hat \Hat | 14321 | Hat \Hat |
| 14322 | Prime prime | 14322 | Prime prime |
| 14323 | tilde \tilde \tilde tilde | 14323 | tilde \tilde \tilde tilde |
| 14324 | Tilde \Tilde | 14324 | Tilde \Tilde |
| @@ -14363,7 +14363,7 @@ reading is: | |||
| 14363 | 14363 | ||
| 14364 | Note that, because these symbols are ignored, reading a @TeX{} or | 14364 | Note that, because these symbols are ignored, reading a @TeX{} or |
| 14365 | La@TeX{} formula into Calc and writing it back out may lose spacing and | 14365 | La@TeX{} formula into Calc and writing it back out may lose spacing and |
| 14366 | font information. | 14366 | font information. |
| 14367 | 14367 | ||
| 14368 | Also, the ``discretionary multiplication sign'' @samp{\*} is read | 14368 | Also, the ``discretionary multiplication sign'' @samp{\*} is read |
| 14369 | the same as @samp{*}. | 14369 | the same as @samp{*}. |
| @@ -14542,7 +14542,7 @@ are treated the same as curly braces: @samp{sqrt "1+x"} is equivalent to | |||
| 14542 | of quotes in @dfn{eqn}, but it is good enough for most uses. | 14542 | of quotes in @dfn{eqn}, but it is good enough for most uses. |
| 14543 | 14543 | ||
| 14544 | Accent codes (@samp{@var{x} dot}) are handled by treating them as | 14544 | Accent codes (@samp{@var{x} dot}) are handled by treating them as |
| 14545 | function calls (@samp{dot(@var{x})}) internally. | 14545 | function calls (@samp{dot(@var{x})}) internally. |
| 14546 | @xref{TeX and LaTeX Language Modes}, for a table of these accent | 14546 | @xref{TeX and LaTeX Language Modes}, for a table of these accent |
| 14547 | functions. The @code{prime} accent is treated specially if it occurs on | 14547 | functions. The @code{prime} accent is treated specially if it occurs on |
| 14548 | a variable or function name: @samp{f prime prime @w{( x prime )}} is | 14548 | a variable or function name: @samp{f prime prime @w{( x prime )}} is |
| @@ -14572,7 +14572,7 @@ if the matrix justification mode so specifies. | |||
| 14572 | The @kbd{d Y} (@code{calc-yacas-language}) command selects the | 14572 | The @kbd{d Y} (@code{calc-yacas-language}) command selects the |
| 14573 | conventions of Yacas, a free computer algebra system. While the | 14573 | conventions of Yacas, a free computer algebra system. While the |
| 14574 | operators and functions in Yacas are similar to those of Calc, the names | 14574 | operators and functions in Yacas are similar to those of Calc, the names |
| 14575 | of built-in functions in Yacas are capitalized. The Calc formula | 14575 | of built-in functions in Yacas are capitalized. The Calc formula |
| 14576 | @samp{sin(2 x)}, for example, is entered and displayed @samp{Sin(2 x)} | 14576 | @samp{sin(2 x)}, for example, is entered and displayed @samp{Sin(2 x)} |
| 14577 | in Yacas mode, and `@samp{arcsin(x^2)} is @samp{ArcSin(x^2)} in Yacas | 14577 | in Yacas mode, and `@samp{arcsin(x^2)} is @samp{ArcSin(x^2)} in Yacas |
| 14578 | mode. Complex numbers are written are written @samp{3 + 4 I}. | 14578 | mode. Complex numbers are written are written @samp{3 + 4 I}. |
| @@ -14581,9 +14581,9 @@ The standard special constants are written @code{Pi}, @code{E}, | |||
| 14581 | represents both @code{inf} and @code{uinf}, and @code{Undefined} | 14581 | represents both @code{inf} and @code{uinf}, and @code{Undefined} |
| 14582 | represents @code{nan}. | 14582 | represents @code{nan}. |
| 14583 | 14583 | ||
| 14584 | Certain operators on functions, such as @code{D} for differentiation | 14584 | Certain operators on functions, such as @code{D} for differentiation |
| 14585 | and @code{Integrate} for integration, take a prefix form in Yacas. For | 14585 | and @code{Integrate} for integration, take a prefix form in Yacas. For |
| 14586 | example, the derivative of @w{@samp{e^x sin(x)}} can be computed with | 14586 | example, the derivative of @w{@samp{e^x sin(x)}} can be computed with |
| 14587 | @w{@samp{D(x) Exp(x)*Sin(x)}}. | 14587 | @w{@samp{D(x) Exp(x)*Sin(x)}}. |
| 14588 | 14588 | ||
| 14589 | Other notable differences between Yacas and standard Calc expressions | 14589 | Other notable differences between Yacas and standard Calc expressions |
| @@ -14602,7 +14602,7 @@ use square brackets. If, for example, @samp{A} represents the list | |||
| 14602 | The @kbd{d X} (@code{calc-maxima-language}) command selects the | 14602 | The @kbd{d X} (@code{calc-maxima-language}) command selects the |
| 14603 | conventions of Maxima, another free computer algebra system. The | 14603 | conventions of Maxima, another free computer algebra system. The |
| 14604 | function names in Maxima are similar, but not always identical, to Calc. | 14604 | function names in Maxima are similar, but not always identical, to Calc. |
| 14605 | For example, instead of @samp{arcsin(x)}, Maxima will use | 14605 | For example, instead of @samp{arcsin(x)}, Maxima will use |
| 14606 | @samp{asin(x)}. Complex numbers are written @samp{3 + 4 %i}. The | 14606 | @samp{asin(x)}. Complex numbers are written @samp{3 + 4 %i}. The |
| 14607 | standard special constants are written @code{%pi}, @code{%e}, | 14607 | standard special constants are written @code{%pi}, @code{%e}, |
| 14608 | @code{%i}, @code{%phi} and @code{%gamma}. In Maxima, @code{inf} means | 14608 | @code{%i}, @code{%phi} and @code{%gamma}. In Maxima, @code{inf} means |
| @@ -14610,8 +14610,8 @@ the same as in Calc, but @code{infinity} represents Calc's @code{uinf}. | |||
| 14610 | 14610 | ||
| 14611 | Underscores as well as percent signs are allowed in function and | 14611 | Underscores as well as percent signs are allowed in function and |
| 14612 | variable names in Maxima mode. The underscore again is equivalent to | 14612 | variable names in Maxima mode. The underscore again is equivalent to |
| 14613 | the @samp{#} in Normal mode, and the percent sign is equivalent to | 14613 | the @samp{#} in Normal mode, and the percent sign is equivalent to |
| 14614 | @samp{o'o}. | 14614 | @samp{o'o}. |
| 14615 | 14615 | ||
| 14616 | Maxima uses square brackets for lists and vectors, and matrices are | 14616 | Maxima uses square brackets for lists and vectors, and matrices are |
| 14617 | written as calls to the function @code{matrix}, given the row vectors of | 14617 | written as calls to the function @code{matrix}, given the row vectors of |
| @@ -14629,7 +14629,7 @@ conventions of Giac, another free computer algebra system. The function | |||
| 14629 | names in Giac are similar to Maxima. Complex numbers are written | 14629 | names in Giac are similar to Maxima. Complex numbers are written |
| 14630 | @samp{3 + 4 i}. The standard special constants in Giac are the same as | 14630 | @samp{3 + 4 i}. The standard special constants in Giac are the same as |
| 14631 | in Calc, except that @code{infinity} represents both Calc's @code{inf} | 14631 | in Calc, except that @code{infinity} represents both Calc's @code{inf} |
| 14632 | and @code{uinf}. | 14632 | and @code{uinf}. |
| 14633 | 14633 | ||
| 14634 | Underscores are allowed in function and variable names in Giac mode. | 14634 | Underscores are allowed in function and variable names in Giac mode. |
| 14635 | Brackets are used for subscripts. In Giac, indexing of lists begins at | 14635 | Brackets are used for subscripts. In Giac, indexing of lists begins at |
| @@ -15786,9 +15786,9 @@ Command is @kbd{m p}. | |||
| 15786 | @item | 15786 | @item |
| 15787 | Matrix/Scalar mode. Default value is @mathit{-1}. Value is 0 for Scalar | 15787 | Matrix/Scalar mode. Default value is @mathit{-1}. Value is 0 for Scalar |
| 15788 | mode, @mathit{-2} for Matrix mode, @mathit{-3} for square Matrix mode, | 15788 | mode, @mathit{-2} for Matrix mode, @mathit{-3} for square Matrix mode, |
| 15789 | or @var{N} for | 15789 | or @var{N} for |
| 15790 | @texline @math{N\times N} | 15790 | @texline @math{N\times N} |
| 15791 | @infoline @var{N}x@var{N} | 15791 | @infoline @var{N}x@var{N} |
| 15792 | Matrix mode. Command is @kbd{m v}. | 15792 | Matrix mode. Command is @kbd{m v}. |
| 15793 | 15793 | ||
| 15794 | @item | 15794 | @item |
| @@ -16178,7 +16178,7 @@ whereas @w{@samp{[-2 ..@: 3] ^ 2}} is @samp{[0 ..@: 9]}. | |||
| 16178 | @mindex @null | 16178 | @mindex @null |
| 16179 | @end ignore | 16179 | @end ignore |
| 16180 | @tindex / | 16180 | @tindex / |
| 16181 | The @kbd{/} (@code{calc-divide}) command divides two numbers. | 16181 | The @kbd{/} (@code{calc-divide}) command divides two numbers. |
| 16182 | 16182 | ||
| 16183 | When combining multiplication and division in an algebraic formula, it | 16183 | When combining multiplication and division in an algebraic formula, it |
| 16184 | is good style to use parentheses to distinguish between possible | 16184 | is good style to use parentheses to distinguish between possible |
| @@ -16187,7 +16187,7 @@ interpretations; the expression @samp{a/b*c} should be written | |||
| 16187 | parentheses, Calc will interpret @samp{a/b*c} as @samp{a/(b*c)}, since | 16187 | parentheses, Calc will interpret @samp{a/b*c} as @samp{a/(b*c)}, since |
| 16188 | in algebraic entry Calc gives division a lower precedence than | 16188 | in algebraic entry Calc gives division a lower precedence than |
| 16189 | multiplication. (This is not standard across all computer languages, and | 16189 | multiplication. (This is not standard across all computer languages, and |
| 16190 | Calc may change the precedence depending on the language mode being used. | 16190 | Calc may change the precedence depending on the language mode being used. |
| 16191 | @xref{Language Modes}.) This default ordering can be changed by setting | 16191 | @xref{Language Modes}.) This default ordering can be changed by setting |
| 16192 | the customizable variable @code{calc-multiplication-has-precedence} to | 16192 | the customizable variable @code{calc-multiplication-has-precedence} to |
| 16193 | @code{nil} (@pxref{Customizing Calc}); this will give multiplication and | 16193 | @code{nil} (@pxref{Customizing Calc}); this will give multiplication and |
| @@ -16373,7 +16373,7 @@ all the arguments.) | |||
| 16373 | The @kbd{f M} (@code{calc-mant-part}) [@code{mant}] function extracts | 16373 | The @kbd{f M} (@code{calc-mant-part}) [@code{mant}] function extracts |
| 16374 | the ``mantissa'' part @expr{m} of its floating-point argument; @kbd{f X} | 16374 | the ``mantissa'' part @expr{m} of its floating-point argument; @kbd{f X} |
| 16375 | (@code{calc-xpon-part}) [@code{xpon}] extracts the ``exponent'' part | 16375 | (@code{calc-xpon-part}) [@code{xpon}] extracts the ``exponent'' part |
| 16376 | @expr{e}. The original number is equal to | 16376 | @expr{e}. The original number is equal to |
| 16377 | @texline @math{m \times 10^e}, | 16377 | @texline @math{m \times 10^e}, |
| 16378 | @infoline @expr{m * 10^e}, | 16378 | @infoline @expr{m * 10^e}, |
| 16379 | where @expr{m} is in the interval @samp{[1.0 ..@: 10.0)} except that | 16379 | where @expr{m} is in the interval @samp{[1.0 ..@: 10.0)} except that |
| @@ -16406,9 +16406,9 @@ floating-point numbers, the change is by one unit in the last place. | |||
| 16406 | For example, incrementing @samp{12.3456} when the current precision | 16406 | For example, incrementing @samp{12.3456} when the current precision |
| 16407 | is 6 digits yields @samp{12.3457}. If the current precision had been | 16407 | is 6 digits yields @samp{12.3457}. If the current precision had been |
| 16408 | 8 digits, the result would have been @samp{12.345601}. Incrementing | 16408 | 8 digits, the result would have been @samp{12.345601}. Incrementing |
| 16409 | @samp{0.0} produces | 16409 | @samp{0.0} produces |
| 16410 | @texline @math{10^{-p}}, | 16410 | @texline @math{10^{-p}}, |
| 16411 | @infoline @expr{10^-p}, | 16411 | @infoline @expr{10^-p}, |
| 16412 | where @expr{p} is the current | 16412 | where @expr{p} is the current |
| 16413 | precision. These operations are defined only on integers and floats. | 16413 | precision. These operations are defined only on integers and floats. |
| 16414 | With numeric prefix arguments, they change the number by @expr{n} units. | 16414 | With numeric prefix arguments, they change the number by @expr{n} units. |
| @@ -16852,7 +16852,7 @@ The last two arguments default to zero if omitted. | |||
| 16852 | The @kbd{t J} (@code{calc-julian}) [@code{julian}] command converts | 16852 | The @kbd{t J} (@code{calc-julian}) [@code{julian}] command converts |
| 16853 | a date form into a Julian day count, which is the number of days | 16853 | a date form into a Julian day count, which is the number of days |
| 16854 | since noon (GMT) on Jan 1, 4713 BC. A pure date is converted to an | 16854 | since noon (GMT) on Jan 1, 4713 BC. A pure date is converted to an |
| 16855 | integer Julian count representing noon of that day. A date/time form | 16855 | integer Julian count representing noon of that day. A date/time form |
| 16856 | is converted to an exact floating-point Julian count, adjusted to | 16856 | is converted to an exact floating-point Julian count, adjusted to |
| 16857 | interpret the date form in the current time zone but the Julian | 16857 | interpret the date form in the current time zone but the Julian |
| 16858 | day count in Greenwich Mean Time. A numeric prefix argument allows | 16858 | day count in Greenwich Mean Time. A numeric prefix argument allows |
| @@ -17294,12 +17294,12 @@ With no arguments, @code{calc-time-zone} or @samp{tzone()} will by | |||
| 17294 | default get the time zone and daylight saving information from the | 17294 | default get the time zone and daylight saving information from the |
| 17295 | calendar (@pxref{Daylight Saving,Calendar/Diary,The Calendar and the Diary, | 17295 | calendar (@pxref{Daylight Saving,Calendar/Diary,The Calendar and the Diary, |
| 17296 | emacs,The GNU Emacs Manual}). To use a different time zone, or if the | 17296 | emacs,The GNU Emacs Manual}). To use a different time zone, or if the |
| 17297 | calendar does not give the desired result, you can set the Calc variable | 17297 | calendar does not give the desired result, you can set the Calc variable |
| 17298 | @code{TimeZone} (which is by default @code{nil}) to an appropriate | 17298 | @code{TimeZone} (which is by default @code{nil}) to an appropriate |
| 17299 | time zone name. (The easiest way to do this is to edit the | 17299 | time zone name. (The easiest way to do this is to edit the |
| 17300 | @code{TimeZone} variable using Calc's @kbd{s T} command, then use the | 17300 | @code{TimeZone} variable using Calc's @kbd{s T} command, then use the |
| 17301 | @kbd{s p} (@code{calc-permanent-variable}) command to save the value of | 17301 | @kbd{s p} (@code{calc-permanent-variable}) command to save the value of |
| 17302 | @code{TimeZone} permanently.) | 17302 | @code{TimeZone} permanently.) |
| 17303 | If the time zone given by @code{TimeZone} is a generalized time zone, | 17303 | If the time zone given by @code{TimeZone} is a generalized time zone, |
| 17304 | e.g., @code{EGT}, Calc examines the date being converted to tell whether | 17304 | e.g., @code{EGT}, Calc examines the date being converted to tell whether |
| 17305 | to use standard or daylight saving time. But if the current time zone | 17305 | to use standard or daylight saving time. But if the current time zone |
| @@ -17311,12 +17311,12 @@ from the calendar. | |||
| 17311 | 17311 | ||
| 17312 | The @kbd{t J} and @code{t U} commands with no numeric prefix | 17312 | The @kbd{t J} and @code{t U} commands with no numeric prefix |
| 17313 | arguments do the same thing as @samp{tzone()}; namely, use the | 17313 | arguments do the same thing as @samp{tzone()}; namely, use the |
| 17314 | information from the calendar if @code{TimeZone} is @code{nil}, | 17314 | information from the calendar if @code{TimeZone} is @code{nil}, |
| 17315 | otherwise use the time zone given by @code{TimeZone}. | 17315 | otherwise use the time zone given by @code{TimeZone}. |
| 17316 | 17316 | ||
| 17317 | @vindex math-daylight-savings-hook | 17317 | @vindex math-daylight-savings-hook |
| 17318 | @findex math-std-daylight-savings | 17318 | @findex math-std-daylight-savings |
| 17319 | When Calc computes the daylight saving information itself (i.e., when | 17319 | When Calc computes the daylight saving information itself (i.e., when |
| 17320 | the @code{TimeZone} variable is set), it will by default consider | 17320 | the @code{TimeZone} variable is set), it will by default consider |
| 17321 | daylight saving time to begin at 2 a.m.@: on the second Sunday of March | 17321 | daylight saving time to begin at 2 a.m.@: on the second Sunday of March |
| 17322 | (for years from 2007 on) or on the last Sunday in April (for years | 17322 | (for years from 2007 on) or on the last Sunday in April (for years |
| @@ -17392,7 +17392,7 @@ falls in this hour results in a time value for the following hour, | |||
| 17392 | from 3 a.m.@: to 4 a.m. At the end of daylight saving time, the | 17392 | from 3 a.m.@: to 4 a.m. At the end of daylight saving time, the |
| 17393 | hour from 1 a.m.@: to 2 a.m.@: repeats itself; converting a date/time | 17393 | hour from 1 a.m.@: to 2 a.m.@: repeats itself; converting a date/time |
| 17394 | form that falls in this hour results in a time value for the first | 17394 | form that falls in this hour results in a time value for the first |
| 17395 | manifestation of that time (@emph{not} the one that occurs one hour | 17395 | manifestation of that time (@emph{not} the one that occurs one hour |
| 17396 | later). | 17396 | later). |
| 17397 | 17397 | ||
| 17398 | If @code{math-daylight-savings-hook} is @code{nil}, then the | 17398 | If @code{math-daylight-savings-hook} is @code{nil}, then the |
| @@ -17995,12 +17995,12 @@ particular, negative arguments are converted to positive integers modulo | |||
| 17995 | @expr{2^w} by all binary functions. | 17995 | @expr{2^w} by all binary functions. |
| 17996 | 17996 | ||
| 17997 | If the word size is negative, binary operations produce twos-complement | 17997 | If the word size is negative, binary operations produce twos-complement |
| 17998 | integers from | 17998 | integers from |
| 17999 | @texline @math{-2^{-w-1}} | 17999 | @texline @math{-2^{-w-1}} |
| 18000 | @infoline @expr{-(2^(-w-1))} | 18000 | @infoline @expr{-(2^(-w-1))} |
| 18001 | to | 18001 | to |
| 18002 | @texline @math{2^{-w-1}-1} | 18002 | @texline @math{2^{-w-1}-1} |
| 18003 | @infoline @expr{2^(-w-1)-1} | 18003 | @infoline @expr{2^(-w-1)-1} |
| 18004 | inclusive. Either mode accepts inputs in any range; the sign of | 18004 | inclusive. Either mode accepts inputs in any range; the sign of |
| 18005 | @expr{w} affects only the results produced. | 18005 | @expr{w} affects only the results produced. |
| 18006 | 18006 | ||
| @@ -18182,13 +18182,13 @@ flag keys must be used to get some of these functions from the keyboard. | |||
| 18182 | One miscellaneous command is shift-@kbd{P} (@code{calc-pi}), which pushes | 18182 | One miscellaneous command is shift-@kbd{P} (@code{calc-pi}), which pushes |
| 18183 | the value of @cpi{} (at the current precision) onto the stack. With the | 18183 | the value of @cpi{} (at the current precision) onto the stack. With the |
| 18184 | Hyperbolic flag, it pushes the value @expr{e}, the base of natural logarithms. | 18184 | Hyperbolic flag, it pushes the value @expr{e}, the base of natural logarithms. |
| 18185 | With the Inverse flag, it pushes Euler's constant | 18185 | With the Inverse flag, it pushes Euler's constant |
| 18186 | @texline @math{\gamma} | 18186 | @texline @math{\gamma} |
| 18187 | @infoline @expr{gamma} | 18187 | @infoline @expr{gamma} |
| 18188 | (about 0.5772). With both Inverse and Hyperbolic, it | 18188 | (about 0.5772). With both Inverse and Hyperbolic, it |
| 18189 | pushes the ``golden ratio'' | 18189 | pushes the ``golden ratio'' |
| 18190 | @texline @math{\phi} | 18190 | @texline @math{\phi} |
| 18191 | @infoline @expr{phi} | 18191 | @infoline @expr{phi} |
| 18192 | (about 1.618). (At present, Euler's constant is not available | 18192 | (about 1.618). (At present, Euler's constant is not available |
| 18193 | to unlimited precision; Calc knows only the first 100 digits.) | 18193 | to unlimited precision; Calc knows only the first 100 digits.) |
| 18194 | In Symbolic mode, these commands push the | 18194 | In Symbolic mode, these commands push the |
| @@ -18266,7 +18266,7 @@ The @kbd{H L} (@code{calc-log10}) [@code{log10}] command computes the common | |||
| 18266 | (base-10) logarithm of a number. (With the Inverse flag [@code{exp10}], | 18266 | (base-10) logarithm of a number. (With the Inverse flag [@code{exp10}], |
| 18267 | it raises ten to a given power.) Note that the common logarithm of a | 18267 | it raises ten to a given power.) Note that the common logarithm of a |
| 18268 | complex number is computed by taking the natural logarithm and dividing | 18268 | complex number is computed by taking the natural logarithm and dividing |
| 18269 | by | 18269 | by |
| 18270 | @texline @math{\ln10}. | 18270 | @texline @math{\ln10}. |
| 18271 | @infoline @expr{ln(10)}. | 18271 | @infoline @expr{ln(10)}. |
| 18272 | 18272 | ||
| @@ -18278,7 +18278,7 @@ by | |||
| 18278 | The @kbd{B} (@code{calc-log}) [@code{log}] command computes a logarithm | 18278 | The @kbd{B} (@code{calc-log}) [@code{log}] command computes a logarithm |
| 18279 | to any base. For example, @kbd{1024 @key{RET} 2 B} produces 10, since | 18279 | to any base. For example, @kbd{1024 @key{RET} 2 B} produces 10, since |
| 18280 | @texline @math{2^{10} = 1024}. | 18280 | @texline @math{2^{10} = 1024}. |
| 18281 | @infoline @expr{2^10 = 1024}. | 18281 | @infoline @expr{2^10 = 1024}. |
| 18282 | In certain cases like @samp{log(3,9)}, the result | 18282 | In certain cases like @samp{log(3,9)}, the result |
| 18283 | will be either @expr{1:2} or @expr{0.5} depending on the current Fraction | 18283 | will be either @expr{1:2} or @expr{0.5} depending on the current Fraction |
| 18284 | mode setting. With the Inverse flag [@code{alog}], this command is | 18284 | mode setting. With the Inverse flag [@code{alog}], this command is |
| @@ -18300,11 +18300,11 @@ integer arithmetic is used; otherwise, this is equivalent to | |||
| 18300 | @tindex expm1 | 18300 | @tindex expm1 |
| 18301 | The @kbd{f E} (@code{calc-expm1}) [@code{expm1}] command computes | 18301 | The @kbd{f E} (@code{calc-expm1}) [@code{expm1}] command computes |
| 18302 | @texline @math{e^x - 1}, | 18302 | @texline @math{e^x - 1}, |
| 18303 | @infoline @expr{exp(x)-1}, | 18303 | @infoline @expr{exp(x)-1}, |
| 18304 | but using an algorithm that produces a more accurate | 18304 | but using an algorithm that produces a more accurate |
| 18305 | answer when the result is close to zero, i.e., when | 18305 | answer when the result is close to zero, i.e., when |
| 18306 | @texline @math{e^x} | 18306 | @texline @math{e^x} |
| 18307 | @infoline @expr{exp(x)} | 18307 | @infoline @expr{exp(x)} |
| 18308 | is close to one. | 18308 | is close to one. |
| 18309 | 18309 | ||
| 18310 | @kindex f L | 18310 | @kindex f L |
| @@ -18312,7 +18312,7 @@ is close to one. | |||
| 18312 | @tindex lnp1 | 18312 | @tindex lnp1 |
| 18313 | The @kbd{f L} (@code{calc-lnp1}) [@code{lnp1}] command computes | 18313 | The @kbd{f L} (@code{calc-lnp1}) [@code{lnp1}] command computes |
| 18314 | @texline @math{\ln(x+1)}, | 18314 | @texline @math{\ln(x+1)}, |
| 18315 | @infoline @expr{ln(x+1)}, | 18315 | @infoline @expr{ln(x+1)}, |
| 18316 | producing a more accurate answer when @expr{x} is close to zero. | 18316 | producing a more accurate answer when @expr{x} is close to zero. |
| 18317 | 18317 | ||
| 18318 | @node Trigonometric and Hyperbolic Functions, Advanced Math Functions, Logarithmic Functions, Scientific Functions | 18318 | @node Trigonometric and Hyperbolic Functions, Advanced Math Functions, Logarithmic Functions, Scientific Functions |
| @@ -18515,9 +18515,9 @@ The @kbd{f g} (@code{calc-gamma}) [@code{gamma}] command computes the Euler | |||
| 18515 | gamma function. For positive integer arguments, this is related to the | 18515 | gamma function. For positive integer arguments, this is related to the |
| 18516 | factorial function: @samp{gamma(n+1) = fact(n)}. For general complex | 18516 | factorial function: @samp{gamma(n+1) = fact(n)}. For general complex |
| 18517 | arguments the gamma function can be defined by the following definite | 18517 | arguments the gamma function can be defined by the following definite |
| 18518 | integral: | 18518 | integral: |
| 18519 | @texline @math{\Gamma(a) = \int_0^\infty t^{a-1} e^t dt}. | 18519 | @texline @math{\Gamma(a) = \int_0^\infty t^{a-1} e^t dt}. |
| 18520 | @infoline @expr{gamma(a) = integ(t^(a-1) exp(t), t, 0, inf)}. | 18520 | @infoline @expr{gamma(a) = integ(t^(a-1) exp(t), t, 0, inf)}. |
| 18521 | (The actual implementation uses far more efficient computational methods.) | 18521 | (The actual implementation uses far more efficient computational methods.) |
| 18522 | 18522 | ||
| 18523 | @kindex f G | 18523 | @kindex f G |
| @@ -18549,7 +18549,7 @@ integral: | |||
| 18549 | @tindex gammaG | 18549 | @tindex gammaG |
| 18550 | The @kbd{f G} (@code{calc-inc-gamma}) [@code{gammaP}] command computes | 18550 | The @kbd{f G} (@code{calc-inc-gamma}) [@code{gammaP}] command computes |
| 18551 | the incomplete gamma function, denoted @samp{P(a,x)}. This is defined by | 18551 | the incomplete gamma function, denoted @samp{P(a,x)}. This is defined by |
| 18552 | the integral, | 18552 | the integral, |
| 18553 | @texline @math{P(a,x) = \left( \int_0^x t^{a-1} e^t dt \right) / \Gamma(a)}. | 18553 | @texline @math{P(a,x) = \left( \int_0^x t^{a-1} e^t dt \right) / \Gamma(a)}. |
| 18554 | @infoline @expr{gammaP(a,x) = integ(t^(a-1) exp(t), t, 0, x) / gamma(a)}. | 18554 | @infoline @expr{gammaP(a,x) = integ(t^(a-1) exp(t), t, 0, x) / gamma(a)}. |
| 18555 | This implies that @samp{gammaP(a,inf) = 1} for any @expr{a} (see the | 18555 | This implies that @samp{gammaP(a,inf) = 1} for any @expr{a} (see the |
| @@ -18583,7 +18583,7 @@ You can obtain these using the \kbd{H f G} [\code{gammag}] and | |||
| 18583 | The @kbd{f b} (@code{calc-beta}) [@code{beta}] command computes the | 18583 | The @kbd{f b} (@code{calc-beta}) [@code{beta}] command computes the |
| 18584 | Euler beta function, which is defined in terms of the gamma function as | 18584 | Euler beta function, which is defined in terms of the gamma function as |
| 18585 | @texline @math{B(a,b) = \Gamma(a) \Gamma(b) / \Gamma(a+b)}, | 18585 | @texline @math{B(a,b) = \Gamma(a) \Gamma(b) / \Gamma(a+b)}, |
| 18586 | @infoline @expr{beta(a,b) = gamma(a) gamma(b) / gamma(a+b)}, | 18586 | @infoline @expr{beta(a,b) = gamma(a) gamma(b) / gamma(a+b)}, |
| 18587 | or by | 18587 | or by |
| 18588 | @texline @math{B(a,b) = \int_0^1 t^{a-1} (1-t)^{b-1} dt}. | 18588 | @texline @math{B(a,b) = \int_0^1 t^{a-1} (1-t)^{b-1} dt}. |
| 18589 | @infoline @expr{beta(a,b) = integ(t^(a-1) (1-t)^(b-1), t, 0, 1)}. | 18589 | @infoline @expr{beta(a,b) = integ(t^(a-1) (1-t)^(b-1), t, 0, 1)}. |
| @@ -18606,7 +18606,7 @@ un-normalized version [@code{betaB}]. | |||
| 18606 | @tindex erf | 18606 | @tindex erf |
| 18607 | @tindex erfc | 18607 | @tindex erfc |
| 18608 | The @kbd{f e} (@code{calc-erf}) [@code{erf}] command computes the | 18608 | The @kbd{f e} (@code{calc-erf}) [@code{erf}] command computes the |
| 18609 | error function | 18609 | error function |
| 18610 | @texline @math{\hbox{erf}(x) = {2 \over \sqrt{\pi}} \int_0^x e^{-t^2} dt}. | 18610 | @texline @math{\hbox{erf}(x) = {2 \over \sqrt{\pi}} \int_0^x e^{-t^2} dt}. |
| 18611 | @infoline @expr{erf(x) = 2 integ(exp(-(t^2)), t, 0, x) / sqrt(pi)}. | 18611 | @infoline @expr{erf(x) = 2 integ(exp(-(t^2)), t, 0, x) / sqrt(pi)}. |
| 18612 | The complementary error function @kbd{I f e} (@code{calc-erfc}) [@code{erfc}] | 18612 | The complementary error function @kbd{I f e} (@code{calc-erfc}) [@code{erfc}] |
| @@ -18784,9 +18784,9 @@ The @kbd{k r} (@code{calc-random}) [@code{random}] command produces | |||
| 18784 | random numbers of various sorts. | 18784 | random numbers of various sorts. |
| 18785 | 18785 | ||
| 18786 | Given a positive numeric prefix argument @expr{M}, it produces a random | 18786 | Given a positive numeric prefix argument @expr{M}, it produces a random |
| 18787 | integer @expr{N} in the range | 18787 | integer @expr{N} in the range |
| 18788 | @texline @math{0 \le N < M}. | 18788 | @texline @math{0 \le N < M}. |
| 18789 | @infoline @expr{0 <= N < M}. | 18789 | @infoline @expr{0 <= N < M}. |
| 18790 | Each possible value @expr{N} appears with equal probability. | 18790 | Each possible value @expr{N} appears with equal probability. |
| 18791 | 18791 | ||
| 18792 | With no numeric prefix argument, the @kbd{k r} command takes its argument | 18792 | With no numeric prefix argument, the @kbd{k r} command takes its argument |
| @@ -18794,17 +18794,17 @@ from the stack instead. Once again, if this is a positive integer @expr{M} | |||
| 18794 | the result is a random integer less than @expr{M}. However, note that | 18794 | the result is a random integer less than @expr{M}. However, note that |
| 18795 | while numeric prefix arguments are limited to six digits or so, an @expr{M} | 18795 | while numeric prefix arguments are limited to six digits or so, an @expr{M} |
| 18796 | taken from the stack can be arbitrarily large. If @expr{M} is negative, | 18796 | taken from the stack can be arbitrarily large. If @expr{M} is negative, |
| 18797 | the result is a random integer in the range | 18797 | the result is a random integer in the range |
| 18798 | @texline @math{M < N \le 0}. | 18798 | @texline @math{M < N \le 0}. |
| 18799 | @infoline @expr{M < N <= 0}. | 18799 | @infoline @expr{M < N <= 0}. |
| 18800 | 18800 | ||
| 18801 | If the value on the stack is a floating-point number @expr{M}, the result | 18801 | If the value on the stack is a floating-point number @expr{M}, the result |
| 18802 | is a random floating-point number @expr{N} in the range | 18802 | is a random floating-point number @expr{N} in the range |
| 18803 | @texline @math{0 \le N < M} | 18803 | @texline @math{0 \le N < M} |
| 18804 | @infoline @expr{0 <= N < M} | 18804 | @infoline @expr{0 <= N < M} |
| 18805 | or | 18805 | or |
| 18806 | @texline @math{M < N \le 0}, | 18806 | @texline @math{M < N \le 0}, |
| 18807 | @infoline @expr{M < N <= 0}, | 18807 | @infoline @expr{M < N <= 0}, |
| 18808 | according to the sign of @expr{M}. | 18808 | according to the sign of @expr{M}. |
| 18809 | 18809 | ||
| 18810 | If @expr{M} is zero, the result is a Gaussian-distributed random real | 18810 | If @expr{M} is zero, the result is a Gaussian-distributed random real |
| @@ -18812,14 +18812,14 @@ number; the distribution has a mean of zero and a standard deviation | |||
| 18812 | of one. The algorithm used generates random numbers in pairs; thus, | 18812 | of one. The algorithm used generates random numbers in pairs; thus, |
| 18813 | every other call to this function will be especially fast. | 18813 | every other call to this function will be especially fast. |
| 18814 | 18814 | ||
| 18815 | If @expr{M} is an error form | 18815 | If @expr{M} is an error form |
| 18816 | @texline @math{m} @code{+/-} @math{\sigma} | 18816 | @texline @math{m} @code{+/-} @math{\sigma} |
| 18817 | @infoline @samp{m +/- s} | 18817 | @infoline @samp{m +/- s} |
| 18818 | where @var{m} and | 18818 | where @var{m} and |
| 18819 | @texline @math{\sigma} | 18819 | @texline @math{\sigma} |
| 18820 | @infoline @var{s} | 18820 | @infoline @var{s} |
| 18821 | are both real numbers, the result uses a Gaussian distribution with mean | 18821 | are both real numbers, the result uses a Gaussian distribution with mean |
| 18822 | @var{m} and standard deviation | 18822 | @var{m} and standard deviation |
| 18823 | @texline @math{\sigma}. | 18823 | @texline @math{\sigma}. |
| 18824 | @infoline @var{s}. | 18824 | @infoline @var{s}. |
| 18825 | 18825 | ||
| @@ -18932,9 +18932,9 @@ generators that are typically used to implement @code{random}. | |||
| 18932 | 18932 | ||
| 18933 | If @code{RandSeed} contains an integer, Calc uses this integer to | 18933 | If @code{RandSeed} contains an integer, Calc uses this integer to |
| 18934 | seed an ``additive congruential'' method (Knuth's algorithm 3.2.2A, | 18934 | seed an ``additive congruential'' method (Knuth's algorithm 3.2.2A, |
| 18935 | computing | 18935 | computing |
| 18936 | @texline @math{X_{n-55} - X_{n-24}}. | 18936 | @texline @math{X_{n-55} - X_{n-24}}. |
| 18937 | @infoline @expr{X_n-55 - X_n-24}). | 18937 | @infoline @expr{X_n-55 - X_n-24}). |
| 18938 | This method expands the seed | 18938 | This method expands the seed |
| 18939 | value into a large table which is maintained internally; the variable | 18939 | value into a large table which is maintained internally; the variable |
| 18940 | @code{RandSeed} is changed from, e.g., 42 to the vector @expr{[42]} | 18940 | @code{RandSeed} is changed from, e.g., 42 to the vector @expr{[42]} |
| @@ -18970,18 +18970,18 @@ value. | |||
| 18970 | To create a random floating-point number with precision @var{p}, Calc | 18970 | To create a random floating-point number with precision @var{p}, Calc |
| 18971 | simply creates a random @var{p}-digit integer and multiplies by | 18971 | simply creates a random @var{p}-digit integer and multiplies by |
| 18972 | @texline @math{10^{-p}}. | 18972 | @texline @math{10^{-p}}. |
| 18973 | @infoline @expr{10^-p}. | 18973 | @infoline @expr{10^-p}. |
| 18974 | The resulting random numbers should be very clean, but note | 18974 | The resulting random numbers should be very clean, but note |
| 18975 | that relatively small numbers will have few significant random digits. | 18975 | that relatively small numbers will have few significant random digits. |
| 18976 | In other words, with a precision of 12, you will occasionally get | 18976 | In other words, with a precision of 12, you will occasionally get |
| 18977 | numbers on the order of | 18977 | numbers on the order of |
| 18978 | @texline @math{10^{-9}} | 18978 | @texline @math{10^{-9}} |
| 18979 | @infoline @expr{10^-9} | 18979 | @infoline @expr{10^-9} |
| 18980 | or | 18980 | or |
| 18981 | @texline @math{10^{-10}}, | 18981 | @texline @math{10^{-10}}, |
| 18982 | @infoline @expr{10^-10}, | 18982 | @infoline @expr{10^-10}, |
| 18983 | but those numbers will only have two or three random digits since they | 18983 | but those numbers will only have two or three random digits since they |
| 18984 | correspond to small integers times | 18984 | correspond to small integers times |
| 18985 | @texline @math{10^{-12}}. | 18985 | @texline @math{10^{-12}}. |
| 18986 | @infoline @expr{10^-12}. | 18986 | @infoline @expr{10^-12}. |
| 18987 | 18987 | ||
| @@ -19032,7 +19032,7 @@ numbers. | |||
| 19032 | @tindex egcd | 19032 | @tindex egcd |
| 19033 | The @kbd{k E} (@code{calc-extended-gcd}) [@code{egcd}] command computes | 19033 | The @kbd{k E} (@code{calc-extended-gcd}) [@code{egcd}] command computes |
| 19034 | the GCD of two integers @expr{x} and @expr{y} and returns a vector | 19034 | the GCD of two integers @expr{x} and @expr{y} and returns a vector |
| 19035 | @expr{[g, a, b]} where | 19035 | @expr{[g, a, b]} where |
| 19036 | @texline @math{g = \gcd(x,y) = a x + b y}. | 19036 | @texline @math{g = \gcd(x,y) = a x + b y}. |
| 19037 | @infoline @expr{g = gcd(x,y) = a x + b y}. | 19037 | @infoline @expr{g = gcd(x,y) = a x + b y}. |
| 19038 | 19038 | ||
| @@ -19119,11 +19119,11 @@ functions. | |||
| 19119 | @tindex stir1 | 19119 | @tindex stir1 |
| 19120 | @tindex stir2 | 19120 | @tindex stir2 |
| 19121 | The @kbd{k s} (@code{calc-stirling-number}) [@code{stir1}] command | 19121 | The @kbd{k s} (@code{calc-stirling-number}) [@code{stir1}] command |
| 19122 | computes a Stirling number of the first | 19122 | computes a Stirling number of the first |
| 19123 | @texline kind@tie{}@math{n \brack m}, | 19123 | @texline kind@tie{}@math{n \brack m}, |
| 19124 | @infoline kind, | 19124 | @infoline kind, |
| 19125 | given two integers @expr{n} and @expr{m} on the stack. The @kbd{H k s} | 19125 | given two integers @expr{n} and @expr{m} on the stack. The @kbd{H k s} |
| 19126 | [@code{stir2}] command computes a Stirling number of the second | 19126 | [@code{stir2}] command computes a Stirling number of the second |
| 19127 | @texline kind@tie{}@math{n \brace m}. | 19127 | @texline kind@tie{}@math{n \brace m}. |
| 19128 | @infoline kind. | 19128 | @infoline kind. |
| 19129 | These are the number of @expr{m}-cycle permutations of @expr{n} objects, | 19129 | These are the number of @expr{m}-cycle permutations of @expr{n} objects, |
| @@ -19202,7 +19202,7 @@ analogously finds the next prime less than a given number. | |||
| 19202 | @pindex calc-totient | 19202 | @pindex calc-totient |
| 19203 | @tindex totient | 19203 | @tindex totient |
| 19204 | The @kbd{k t} (@code{calc-totient}) [@code{totient}] command computes the | 19204 | The @kbd{k t} (@code{calc-totient}) [@code{totient}] command computes the |
| 19205 | Euler ``totient'' | 19205 | Euler ``totient'' |
| 19206 | @texline function@tie{}@math{\phi(n)}, | 19206 | @texline function@tie{}@math{\phi(n)}, |
| 19207 | @infoline function, | 19207 | @infoline function, |
| 19208 | the number of integers less than @expr{n} which | 19208 | the number of integers less than @expr{n} which |
| @@ -19277,7 +19277,7 @@ recover the original arguments but substitute a new value for @expr{x}.) | |||
| 19277 | @tindex ltpc | 19277 | @tindex ltpc |
| 19278 | The @samp{utpc(x,v)} function uses the chi-square distribution with | 19278 | The @samp{utpc(x,v)} function uses the chi-square distribution with |
| 19279 | @texline @math{\nu} | 19279 | @texline @math{\nu} |
| 19280 | @infoline @expr{v} | 19280 | @infoline @expr{v} |
| 19281 | degrees of freedom. It is the probability that a model is | 19281 | degrees of freedom. It is the probability that a model is |
| 19282 | correct if its chi-square statistic is @expr{x}. | 19282 | correct if its chi-square statistic is @expr{x}. |
| 19283 | 19283 | ||
| @@ -19293,10 +19293,10 @@ correct if its chi-square statistic is @expr{x}. | |||
| 19293 | @end ignore | 19293 | @end ignore |
| 19294 | @tindex ltpf | 19294 | @tindex ltpf |
| 19295 | The @samp{utpf(F,v1,v2)} function uses the F distribution, used in | 19295 | The @samp{utpf(F,v1,v2)} function uses the F distribution, used in |
| 19296 | various statistical tests. The parameters | 19296 | various statistical tests. The parameters |
| 19297 | @texline @math{\nu_1} | 19297 | @texline @math{\nu_1} |
| 19298 | @infoline @expr{v1} | 19298 | @infoline @expr{v1} |
| 19299 | and | 19299 | and |
| 19300 | @texline @math{\nu_2} | 19300 | @texline @math{\nu_2} |
| 19301 | @infoline @expr{v2} | 19301 | @infoline @expr{v2} |
| 19302 | are the degrees of freedom in the numerator and denominator, | 19302 | are the degrees of freedom in the numerator and denominator, |
| @@ -19314,9 +19314,9 @@ respectively, used in computing the statistic @expr{F}. | |||
| 19314 | @end ignore | 19314 | @end ignore |
| 19315 | @tindex ltpn | 19315 | @tindex ltpn |
| 19316 | The @samp{utpn(x,m,s)} function uses a normal (Gaussian) distribution | 19316 | The @samp{utpn(x,m,s)} function uses a normal (Gaussian) distribution |
| 19317 | with mean @expr{m} and standard deviation | 19317 | with mean @expr{m} and standard deviation |
| 19318 | @texline @math{\sigma}. | 19318 | @texline @math{\sigma}. |
| 19319 | @infoline @expr{s}. | 19319 | @infoline @expr{s}. |
| 19320 | It is the probability that such a normal-distributed random variable | 19320 | It is the probability that such a normal-distributed random variable |
| 19321 | would exceed @expr{x}. | 19321 | would exceed @expr{x}. |
| 19322 | 19322 | ||
| @@ -19347,20 +19347,20 @@ Poisson random events will occur. | |||
| 19347 | @end ignore | 19347 | @end ignore |
| 19348 | @tindex ltpt | 19348 | @tindex ltpt |
| 19349 | The @samp{utpt(t,v)} function uses the Student's ``t'' distribution | 19349 | The @samp{utpt(t,v)} function uses the Student's ``t'' distribution |
| 19350 | with | 19350 | with |
| 19351 | @texline @math{\nu} | 19351 | @texline @math{\nu} |
| 19352 | @infoline @expr{v} | 19352 | @infoline @expr{v} |
| 19353 | degrees of freedom. It is the probability that a | 19353 | degrees of freedom. It is the probability that a |
| 19354 | t-distributed random variable will be greater than @expr{t}. | 19354 | t-distributed random variable will be greater than @expr{t}. |
| 19355 | (Note: This computes the distribution function | 19355 | (Note: This computes the distribution function |
| 19356 | @texline @math{A(t|\nu)} | 19356 | @texline @math{A(t|\nu)} |
| 19357 | @infoline @expr{A(t|v)} | 19357 | @infoline @expr{A(t|v)} |
| 19358 | where | 19358 | where |
| 19359 | @texline @math{A(0|\nu) = 1} | 19359 | @texline @math{A(0|\nu) = 1} |
| 19360 | @infoline @expr{A(0|v) = 1} | 19360 | @infoline @expr{A(0|v) = 1} |
| 19361 | and | 19361 | and |
| 19362 | @texline @math{A(\infty|\nu) \to 0}. | 19362 | @texline @math{A(\infty|\nu) \to 0}. |
| 19363 | @infoline @expr{A(inf|v) -> 0}. | 19363 | @infoline @expr{A(inf|v) -> 0}. |
| 19364 | The @code{UTPT} operation on the HP-48 uses a different definition which | 19364 | The @code{UTPT} operation on the HP-48 uses a different definition which |
| 19365 | returns half of Calc's value: @samp{UTPT(t,v) = .5*utpt(t,v)}.) | 19365 | returns half of Calc's value: @samp{UTPT(t,v) = .5*utpt(t,v)}.) |
| 19366 | 19366 | ||
| @@ -19670,7 +19670,7 @@ prefix, if specified, must match the size of the vector. If the value on | |||
| 19670 | the stack is a scalar, it is used for each element on the diagonal, and | 19670 | the stack is a scalar, it is used for each element on the diagonal, and |
| 19671 | the prefix argument is required. | 19671 | the prefix argument is required. |
| 19672 | 19672 | ||
| 19673 | To build a constant square matrix, e.g., a | 19673 | To build a constant square matrix, e.g., a |
| 19674 | @texline @math{3\times3} | 19674 | @texline @math{3\times3} |
| 19675 | @infoline 3x3 | 19675 | @infoline 3x3 |
| 19676 | matrix filled with ones, use @kbd{0 M-3 v d 1 +}, i.e., build a zero | 19676 | matrix filled with ones, use @kbd{0 M-3 v d 1 +}, i.e., build a zero |
| @@ -19911,7 +19911,7 @@ command. | |||
| 19911 | With the Hyperbolic flag, @kbd{H v l} [@code{mdims}] computes a vector | 19911 | With the Hyperbolic flag, @kbd{H v l} [@code{mdims}] computes a vector |
| 19912 | of the dimensions of a vector, matrix, or higher-order object. For | 19912 | of the dimensions of a vector, matrix, or higher-order object. For |
| 19913 | example, @samp{mdims([[a,b,c],[d,e,f]])} returns @samp{[2, 3]} since | 19913 | example, @samp{mdims([[a,b,c],[d,e,f]])} returns @samp{[2, 3]} since |
| 19914 | its argument is a | 19914 | its argument is a |
| 19915 | @texline @math{2\times3} | 19915 | @texline @math{2\times3} |
| 19916 | @infoline 2x3 | 19916 | @infoline 2x3 |
| 19917 | matrix. | 19917 | matrix. |
| @@ -19945,17 +19945,17 @@ If the number of columns does not evenly divide the number of elements | |||
| 19945 | in the vector, the last row will be short and the result will not be | 19945 | in the vector, the last row will be short and the result will not be |
| 19946 | suitable for use as a matrix. For example, with the matrix | 19946 | suitable for use as a matrix. For example, with the matrix |
| 19947 | @samp{[[1, 2], @w{[3, 4]}]} on the stack, @kbd{v a 4} produces | 19947 | @samp{[[1, 2], @w{[3, 4]}]} on the stack, @kbd{v a 4} produces |
| 19948 | @samp{[[1, 2, 3, 4]]} (a | 19948 | @samp{[[1, 2, 3, 4]]} (a |
| 19949 | @texline @math{1\times4} | 19949 | @texline @math{1\times4} |
| 19950 | @infoline 1x4 | 19950 | @infoline 1x4 |
| 19951 | matrix), @kbd{v a 1} produces @samp{[[1], [2], [3], [4]]} (a | 19951 | matrix), @kbd{v a 1} produces @samp{[[1], [2], [3], [4]]} (a |
| 19952 | @texline @math{4\times1} | 19952 | @texline @math{4\times1} |
| 19953 | @infoline 4x1 | 19953 | @infoline 4x1 |
| 19954 | matrix), @kbd{v a 2} produces @samp{[[1, 2], [3, 4]]} (the original | 19954 | matrix), @kbd{v a 2} produces @samp{[[1, 2], [3, 4]]} (the original |
| 19955 | @texline @math{2\times2} | 19955 | @texline @math{2\times2} |
| 19956 | @infoline 2x2 | 19956 | @infoline 2x2 |
| 19957 | matrix), @w{@kbd{v a 3}} produces @samp{[[1, 2, 3], [4]]} (not a | 19957 | matrix), @w{@kbd{v a 3}} produces @samp{[[1, 2, 3], [4]]} (not a |
| 19958 | matrix), and @kbd{v a 0} produces the flattened list | 19958 | matrix), and @kbd{v a 0} produces the flattened list |
| 19959 | @samp{[1, 2, @w{3, 4}]}. | 19959 | @samp{[1, 2, @w{3, 4}]}. |
| 19960 | 19960 | ||
| 19961 | @cindex Sorting data | 19961 | @cindex Sorting data |
| @@ -20040,9 +20040,9 @@ If no prefix is given, then you will be prompted for a vector which | |||
| 20040 | will be used to determine the bins. (If a positive integer is given at | 20040 | will be used to determine the bins. (If a positive integer is given at |
| 20041 | this prompt, it will be still treated as if it were given as a | 20041 | this prompt, it will be still treated as if it were given as a |
| 20042 | prefix.) Each bin will consist of the interval of numbers closest to | 20042 | prefix.) Each bin will consist of the interval of numbers closest to |
| 20043 | the corresponding number of this new vector; if the vector | 20043 | the corresponding number of this new vector; if the vector |
| 20044 | @expr{[a, b, c, ...]} is entered at the prompt, the bins will be | 20044 | @expr{[a, b, c, ...]} is entered at the prompt, the bins will be |
| 20045 | @expr{(-inf, (a+b)/2]}, @expr{((a+b)/2, (b+c)/2]}, etc. The result of | 20045 | @expr{(-inf, (a+b)/2]}, @expr{((a+b)/2, (b+c)/2]}, etc. The result of |
| 20046 | this command will be a vector counting how many elements of the | 20046 | this command will be a vector counting how many elements of the |
| 20047 | original vector are in each bin. | 20047 | original vector are in each bin. |
| 20048 | 20048 | ||
| @@ -20313,10 +20313,10 @@ and only if it is in both of the input sets. Thus if the input | |||
| 20313 | sets are disjoint, i.e., if they share no common elements, the result | 20313 | sets are disjoint, i.e., if they share no common elements, the result |
| 20314 | will be the empty vector @samp{[]}. Note that the characters @kbd{V} | 20314 | will be the empty vector @samp{[]}. Note that the characters @kbd{V} |
| 20315 | and @kbd{^} were chosen to be close to the conventional mathematical | 20315 | and @kbd{^} were chosen to be close to the conventional mathematical |
| 20316 | notation for set | 20316 | notation for set |
| 20317 | @texline union@tie{}(@math{A \cup B}) | 20317 | @texline union@tie{}(@math{A \cup B}) |
| 20318 | @infoline union | 20318 | @infoline union |
| 20319 | and | 20319 | and |
| 20320 | @texline intersection@tie{}(@math{A \cap B}). | 20320 | @texline intersection@tie{}(@math{A \cap B}). |
| 20321 | @infoline intersection. | 20321 | @infoline intersection. |
| 20322 | 20322 | ||
| @@ -20432,7 +20432,7 @@ the same set. The set may include positive infinity, but must | |||
| 20432 | not include any negative numbers. The input is interpreted as a | 20432 | not include any negative numbers. The input is interpreted as a |
| 20433 | set of integers in the sense of @kbd{V F} (@code{vfloor}). Beware | 20433 | set of integers in the sense of @kbd{V F} (@code{vfloor}). Beware |
| 20434 | that a simple input like @samp{[100]} can result in a huge integer | 20434 | that a simple input like @samp{[100]} can result in a huge integer |
| 20435 | representation | 20435 | representation |
| 20436 | @texline (@math{2^{100}}, a 31-digit integer, in this case). | 20436 | @texline (@math{2^{100}}, a 31-digit integer, in this case). |
| 20437 | @infoline (@expr{2^100}, a 31-digit integer, in this case). | 20437 | @infoline (@expr{2^100}, a 31-digit integer, in this case). |
| 20438 | 20438 | ||
| @@ -20544,10 +20544,10 @@ plus or minus infinity. | |||
| 20544 | @cindex Mean of data values | 20544 | @cindex Mean of data values |
| 20545 | The @kbd{u M} (@code{calc-vector-mean}) [@code{vmean}] command | 20545 | The @kbd{u M} (@code{calc-vector-mean}) [@code{vmean}] command |
| 20546 | computes the average (arithmetic mean) of the data values. | 20546 | computes the average (arithmetic mean) of the data values. |
| 20547 | If the inputs are error forms | 20547 | If the inputs are error forms |
| 20548 | @texline @math{x \pm \sigma}, | 20548 | @texline @math{x \pm \sigma}, |
| 20549 | @infoline @samp{x +/- s}, | 20549 | @infoline @samp{x +/- s}, |
| 20550 | this is the weighted mean of the @expr{x} values with weights | 20550 | this is the weighted mean of the @expr{x} values with weights |
| 20551 | @texline @math{1 /\sigma^2}. | 20551 | @texline @math{1 /\sigma^2}. |
| 20552 | @infoline @expr{1 / s^2}. | 20552 | @infoline @expr{1 / s^2}. |
| 20553 | @tex | 20553 | @tex |
| @@ -20558,9 +20558,9 @@ If the inputs are not error forms, this is simply the sum of the | |||
| 20558 | values divided by the count of the values. | 20558 | values divided by the count of the values. |
| 20559 | 20559 | ||
| 20560 | Note that a plain number can be considered an error form with | 20560 | Note that a plain number can be considered an error form with |
| 20561 | error | 20561 | error |
| 20562 | @texline @math{\sigma = 0}. | 20562 | @texline @math{\sigma = 0}. |
| 20563 | @infoline @expr{s = 0}. | 20563 | @infoline @expr{s = 0}. |
| 20564 | If the input to @kbd{u M} is a mixture of | 20564 | If the input to @kbd{u M} is a mixture of |
| 20565 | plain numbers and error forms, the result is the mean of the | 20565 | plain numbers and error forms, the result is the mean of the |
| 20566 | plain numbers, ignoring all values with non-zero errors. (By the | 20566 | plain numbers, ignoring all values with non-zero errors. (By the |
| @@ -20662,7 +20662,7 @@ for a vector of numbers simply by using the @kbd{A} command. | |||
| 20662 | @cindex Standard deviation | 20662 | @cindex Standard deviation |
| 20663 | @cindex Sample statistics | 20663 | @cindex Sample statistics |
| 20664 | The @kbd{u S} (@code{calc-vector-sdev}) [@code{vsdev}] command | 20664 | The @kbd{u S} (@code{calc-vector-sdev}) [@code{vsdev}] command |
| 20665 | computes the standard | 20665 | computes the standard |
| 20666 | @texline deviation@tie{}@math{\sigma} | 20666 | @texline deviation@tie{}@math{\sigma} |
| 20667 | @infoline deviation | 20667 | @infoline deviation |
| 20668 | of the data values. If the values are error forms, the errors are used | 20668 | of the data values. If the values are error forms, the errors are used |
| @@ -20677,9 +20677,9 @@ $$ \sigma^2 = {1 \over N - 1} \sum (x_i - \mu)^2 $$ | |||
| 20677 | This function also applies to distributions. The standard deviation | 20677 | This function also applies to distributions. The standard deviation |
| 20678 | of a single error form is simply the error part. The standard deviation | 20678 | of a single error form is simply the error part. The standard deviation |
| 20679 | of a continuous interval happens to equal the difference between the | 20679 | of a continuous interval happens to equal the difference between the |
| 20680 | limits, divided by | 20680 | limits, divided by |
| 20681 | @texline @math{\sqrt{12}}. | 20681 | @texline @math{\sqrt{12}}. |
| 20682 | @infoline @expr{sqrt(12)}. | 20682 | @infoline @expr{sqrt(12)}. |
| 20683 | The standard deviation of an integer interval is the same as the | 20683 | The standard deviation of an integer interval is the same as the |
| 20684 | standard deviation of a vector of those integers. | 20684 | standard deviation of a vector of those integers. |
| 20685 | 20685 | ||
| @@ -20714,7 +20714,7 @@ population standard deviation of the equivalent vector of integers. | |||
| 20714 | The @kbd{H u S} (@code{calc-vector-variance}) [@code{vvar}] and | 20714 | The @kbd{H u S} (@code{calc-vector-variance}) [@code{vvar}] and |
| 20715 | @kbd{H I u S} (@code{calc-vector-pop-variance}) [@code{vpvar}] | 20715 | @kbd{H I u S} (@code{calc-vector-pop-variance}) [@code{vpvar}] |
| 20716 | commands compute the variance of the data values. The variance | 20716 | commands compute the variance of the data values. The variance |
| 20717 | is the | 20717 | is the |
| 20718 | @texline square@tie{}@math{\sigma^2} | 20718 | @texline square@tie{}@math{\sigma^2} |
| 20719 | @infoline square | 20719 | @infoline square |
| 20720 | of the standard deviation, i.e., the sum of the | 20720 | of the standard deviation, i.e., the sum of the |
| @@ -20738,7 +20738,7 @@ The functions in this section take two arguments, which must be | |||
| 20738 | vectors of equal size. The vectors are each flattened in the same | 20738 | vectors of equal size. The vectors are each flattened in the same |
| 20739 | way as by the single-variable statistical functions. Given a numeric | 20739 | way as by the single-variable statistical functions. Given a numeric |
| 20740 | prefix argument of 1, these functions instead take one object from | 20740 | prefix argument of 1, these functions instead take one object from |
| 20741 | the stack, which must be an | 20741 | the stack, which must be an |
| 20742 | @texline @math{N\times2} | 20742 | @texline @math{N\times2} |
| 20743 | @infoline Nx2 | 20743 | @infoline Nx2 |
| 20744 | matrix of data values. Once again, variable names can be used in place | 20744 | matrix of data values. Once again, variable names can be used in place |
| @@ -20996,7 +20996,7 @@ be prompted for the number of arguments to use. | |||
| 20996 | If any argument to @kbd{V M} is a matrix, the operator is normally mapped | 20996 | If any argument to @kbd{V M} is a matrix, the operator is normally mapped |
| 20997 | across all elements of the matrix. For example, given the matrix | 20997 | across all elements of the matrix. For example, given the matrix |
| 20998 | @expr{[[1, -2, 3], [-4, 5, -6]]}, @kbd{V M A} takes six absolute values to | 20998 | @expr{[[1, -2, 3], [-4, 5, -6]]}, @kbd{V M A} takes six absolute values to |
| 20999 | produce another | 20999 | produce another |
| 21000 | @texline @math{3\times2} | 21000 | @texline @math{3\times2} |
| 21001 | @infoline 3x2 | 21001 | @infoline 3x2 |
| 21002 | matrix, @expr{[[1, 2, 3], [4, 5, 6]]}. | 21002 | matrix, @expr{[[1, 2, 3], [4, 5, 6]]}. |
| @@ -21612,8 +21612,8 @@ entire four-term sum. | |||
| 21612 | @pindex calc-break-selections | 21612 | @pindex calc-break-selections |
| 21613 | The @kbd{j b} (@code{calc-break-selections}) command controls a mode | 21613 | The @kbd{j b} (@code{calc-break-selections}) command controls a mode |
| 21614 | in which the ``deep structure'' of these associative formulas shows | 21614 | in which the ``deep structure'' of these associative formulas shows |
| 21615 | through. Calc actually stores the above formulas as | 21615 | through. Calc actually stores the above formulas as |
| 21616 | @samp{((a + b) - c) + d} and @samp{x * (y * z)}. (Note that for certain | 21616 | @samp{((a + b) - c) + d} and @samp{x * (y * z)}. (Note that for certain |
| 21617 | obscure reasons, by default Calc treats multiplication as | 21617 | obscure reasons, by default Calc treats multiplication as |
| 21618 | right-associative.) Once you have enabled @kbd{j b} mode, selecting | 21618 | right-associative.) Once you have enabled @kbd{j b} mode, selecting |
| 21619 | with the cursor on the @samp{-} sign would only select the @samp{a + b - | 21619 | with the cursor on the @samp{-} sign would only select the @samp{a + b - |
| @@ -22098,7 +22098,7 @@ of a quotient you can call it with a zero prefix: @kbd{C-u 0 j *}. For | |||
| 22098 | example, if the formula on the stack is @samp{1 / (sqrt(a) + 1)}, you may | 22098 | example, if the formula on the stack is @samp{1 / (sqrt(a) + 1)}, you may |
| 22099 | wish to eliminate the square root in the denominator by multiplying | 22099 | wish to eliminate the square root in the denominator by multiplying |
| 22100 | the top and bottom by @samp{sqrt(a) - 1}. If you did this simply by using | 22100 | the top and bottom by @samp{sqrt(a) - 1}. If you did this simply by using |
| 22101 | a simple @kbd{j *} command, you would get | 22101 | a simple @kbd{j *} command, you would get |
| 22102 | @samp{(sqrt(a)-1)/ (sqrt(a) (sqrt(a) - 1) + sqrt(a) - 1)}. Instead, | 22102 | @samp{(sqrt(a)-1)/ (sqrt(a) (sqrt(a) - 1) + sqrt(a) - 1)}. Instead, |
| 22103 | you would probably want to use @kbd{C-u 0 j *}, which would expand the | 22103 | you would probably want to use @kbd{C-u 0 j *}, which would expand the |
| 22104 | bottom and give you the desired result @samp{(sqrt(a)-1)/(a-1)}. More | 22104 | bottom and give you the desired result @samp{(sqrt(a)-1)/(a-1)}. More |
| @@ -22405,7 +22405,7 @@ The most basic default simplification is the evaluation of functions. | |||
| 22405 | For example, @expr{2 + 3} is evaluated to @expr{5}, and @expr{@tfn{sqrt}(9)} | 22405 | For example, @expr{2 + 3} is evaluated to @expr{5}, and @expr{@tfn{sqrt}(9)} |
| 22406 | is evaluated to @expr{3}. Evaluation does not occur if the arguments | 22406 | is evaluated to @expr{3}. Evaluation does not occur if the arguments |
| 22407 | to a function are somehow of the wrong type @expr{@tfn{tan}([2,3,4])}), | 22407 | to a function are somehow of the wrong type @expr{@tfn{tan}([2,3,4])}), |
| 22408 | range (@expr{@tfn{tan}(90)}), or number (@expr{@tfn{tan}(3,5)}), | 22408 | range (@expr{@tfn{tan}(90)}), or number (@expr{@tfn{tan}(3,5)}), |
| 22409 | or if the function name is not recognized (@expr{@tfn{f}(5)}), or if | 22409 | or if the function name is not recognized (@expr{@tfn{f}(5)}), or if |
| 22410 | Symbolic mode (@pxref{Symbolic Mode}) prevents evaluation | 22410 | Symbolic mode (@pxref{Symbolic Mode}) prevents evaluation |
| 22411 | (@expr{@tfn{sqrt}(2)}). | 22411 | (@expr{@tfn{sqrt}(2)}). |
| @@ -22452,7 +22452,7 @@ Arithmetic operators like @kbd{+} and @kbd{*} always take two | |||
| 22452 | arguments in Calc's internal form. Sums and products of three or | 22452 | arguments in Calc's internal form. Sums and products of three or |
| 22453 | more terms are arranged by the associative law of algebra into | 22453 | more terms are arranged by the associative law of algebra into |
| 22454 | a left-associative form for sums, @expr{((a + b) + c) + d}, and | 22454 | a left-associative form for sums, @expr{((a + b) + c) + d}, and |
| 22455 | (by default) a right-associative form for products, | 22455 | (by default) a right-associative form for products, |
| 22456 | @expr{a * (b * (c * d))}. Formulas like @expr{(a + b) + (c + d)} are | 22456 | @expr{a * (b * (c * d))}. Formulas like @expr{(a + b) + (c + d)} are |
| 22457 | rearranged to left-associative form, though this rarely matters since | 22457 | rearranged to left-associative form, though this rarely matters since |
| 22458 | Calc's algebra commands are designed to hide the inner structure of sums | 22458 | Calc's algebra commands are designed to hide the inner structure of sums |
| @@ -22533,7 +22533,7 @@ The product @expr{a (b + c)} is distributed over the sum only if | |||
| 22533 | rewritten to @expr{a (c - b)}. | 22533 | rewritten to @expr{a (c - b)}. |
| 22534 | 22534 | ||
| 22535 | The distributive law of products and powers is used for adjacent | 22535 | The distributive law of products and powers is used for adjacent |
| 22536 | terms of the product: @expr{x^a x^b} goes to | 22536 | terms of the product: @expr{x^a x^b} goes to |
| 22537 | @texline @math{x^{a+b}} | 22537 | @texline @math{x^{a+b}} |
| 22538 | @infoline @expr{x^(a+b)} | 22538 | @infoline @expr{x^(a+b)} |
| 22539 | where @expr{a} is a number, or an implicit 1 (as in @expr{x}), | 22539 | where @expr{a} is a number, or an implicit 1 (as in @expr{x}), |
| @@ -22544,9 +22544,9 @@ If the sum of the powers is zero, the product is simplified to | |||
| 22544 | @expr{1} or to @samp{idn(1)} if Matrix mode is enabled. | 22544 | @expr{1} or to @samp{idn(1)} if Matrix mode is enabled. |
| 22545 | 22545 | ||
| 22546 | The product of a negative power times anything but another negative | 22546 | The product of a negative power times anything but another negative |
| 22547 | power is changed to use division: | 22547 | power is changed to use division: |
| 22548 | @texline @math{x^{-2} y} | 22548 | @texline @math{x^{-2} y} |
| 22549 | @infoline @expr{x^(-2) y} | 22549 | @infoline @expr{x^(-2) y} |
| 22550 | goes to @expr{y / x^2} unless Matrix mode is | 22550 | goes to @expr{y / x^2} unless Matrix mode is |
| 22551 | in effect and neither @expr{x} nor @expr{y} are scalar (in which | 22551 | in effect and neither @expr{x} nor @expr{y} are scalar (in which |
| 22552 | case it is considered unsafe to rearrange the order of the terms). | 22552 | case it is considered unsafe to rearrange the order of the terms). |
| @@ -22568,13 +22568,13 @@ The quotient @expr{x / 0} is left unsimplified or changed to an | |||
| 22568 | infinite quantity, as directed by the current infinite mode. | 22568 | infinite quantity, as directed by the current infinite mode. |
| 22569 | @xref{Infinite Mode}. | 22569 | @xref{Infinite Mode}. |
| 22570 | 22570 | ||
| 22571 | The expression | 22571 | The expression |
| 22572 | @texline @math{a / b^{-c}} | 22572 | @texline @math{a / b^{-c}} |
| 22573 | @infoline @expr{a / b^(-c)} | 22573 | @infoline @expr{a / b^(-c)} |
| 22574 | is changed to @expr{a b^c}, where @expr{-c} is any negative-looking | 22574 | is changed to @expr{a b^c}, where @expr{-c} is any negative-looking |
| 22575 | power. Also, @expr{1 / b^c} is changed to | 22575 | power. Also, @expr{1 / b^c} is changed to |
| 22576 | @texline @math{b^{-c}} | 22576 | @texline @math{b^{-c}} |
| 22577 | @infoline @expr{b^(-c)} | 22577 | @infoline @expr{b^(-c)} |
| 22578 | for any power @expr{c}. | 22578 | for any power @expr{c}. |
| 22579 | 22579 | ||
| 22580 | Also, @expr{(-a) / b} and @expr{a / (-b)} go to @expr{-(a/b)}; | 22580 | Also, @expr{(-a) / b} and @expr{a / (-b)} go to @expr{-(a/b)}; |
| @@ -22614,22 +22614,22 @@ are distributed to @expr{a^c b^c}, @expr{a^c / b^c} only if @expr{c} | |||
| 22614 | is an integer, or if either @expr{a} or @expr{b} are nonnegative | 22614 | is an integer, or if either @expr{a} or @expr{b} are nonnegative |
| 22615 | real numbers. Powers of powers @expr{(a^b)^c} are simplified to | 22615 | real numbers. Powers of powers @expr{(a^b)^c} are simplified to |
| 22616 | @texline @math{a^{b c}} | 22616 | @texline @math{a^{b c}} |
| 22617 | @infoline @expr{a^(b c)} | 22617 | @infoline @expr{a^(b c)} |
| 22618 | only when @expr{c} is an integer and @expr{b c} also | 22618 | only when @expr{c} is an integer and @expr{b c} also |
| 22619 | evaluates to an integer. Without these restrictions these simplifications | 22619 | evaluates to an integer. Without these restrictions these simplifications |
| 22620 | would not be safe because of problems with principal values. | 22620 | would not be safe because of problems with principal values. |
| 22621 | (In other words, | 22621 | (In other words, |
| 22622 | @texline @math{((-3)^{1/2})^2} | 22622 | @texline @math{((-3)^{1/2})^2} |
| 22623 | @infoline @expr{((-3)^1:2)^2} | 22623 | @infoline @expr{((-3)^1:2)^2} |
| 22624 | is safe to simplify, but | 22624 | is safe to simplify, but |
| 22625 | @texline @math{((-3)^2)^{1/2}} | 22625 | @texline @math{((-3)^2)^{1/2}} |
| 22626 | @infoline @expr{((-3)^2)^1:2} | 22626 | @infoline @expr{((-3)^2)^1:2} |
| 22627 | is not.) @xref{Declarations}, for ways to inform Calc that your | 22627 | is not.) @xref{Declarations}, for ways to inform Calc that your |
| 22628 | variables satisfy these requirements. | 22628 | variables satisfy these requirements. |
| 22629 | 22629 | ||
| 22630 | As a special case of this rule, @expr{@tfn{sqrt}(x)^n} is simplified to | 22630 | As a special case of this rule, @expr{@tfn{sqrt}(x)^n} is simplified to |
| 22631 | @texline @math{x^{n/2}} | 22631 | @texline @math{x^{n/2}} |
| 22632 | @infoline @expr{x^(n/2)} | 22632 | @infoline @expr{x^(n/2)} |
| 22633 | only for even integers @expr{n}. | 22633 | only for even integers @expr{n}. |
| 22634 | 22634 | ||
| 22635 | If @expr{a} is known to be real, @expr{b} is an even integer, and | 22635 | If @expr{a} is known to be real, @expr{b} is an even integer, and |
| @@ -22642,13 +22642,13 @@ for any negative-looking expression @expr{-a}. | |||
| 22642 | 22642 | ||
| 22643 | Square roots @expr{@tfn{sqrt}(x)} generally act like one-half powers | 22643 | Square roots @expr{@tfn{sqrt}(x)} generally act like one-half powers |
| 22644 | @texline @math{x^{1:2}} | 22644 | @texline @math{x^{1:2}} |
| 22645 | @infoline @expr{x^1:2} | 22645 | @infoline @expr{x^1:2} |
| 22646 | for the purposes of the above-listed simplifications. | 22646 | for the purposes of the above-listed simplifications. |
| 22647 | 22647 | ||
| 22648 | Also, note that | 22648 | Also, note that |
| 22649 | @texline @math{1 / x^{1:2}} | 22649 | @texline @math{1 / x^{1:2}} |
| 22650 | @infoline @expr{1 / x^1:2} | 22650 | @infoline @expr{1 / x^1:2} |
| 22651 | is changed to | 22651 | is changed to |
| 22652 | @texline @math{x^{-1:2}}, | 22652 | @texline @math{x^{-1:2}}, |
| 22653 | @infoline @expr{x^(-1:2)}, | 22653 | @infoline @expr{x^(-1:2)}, |
| 22654 | but @expr{1 / @tfn{sqrt}(x)} is left alone. | 22654 | but @expr{1 / @tfn{sqrt}(x)} is left alone. |
| @@ -22660,9 +22660,9 @@ but @expr{1 / @tfn{sqrt}(x)} is left alone. | |||
| 22660 | Generic identity matrices (@pxref{Matrix Mode}) are simplified by the | 22660 | Generic identity matrices (@pxref{Matrix Mode}) are simplified by the |
| 22661 | following rules: @expr{@tfn{idn}(a) + b} to @expr{a + b} if @expr{b} | 22661 | following rules: @expr{@tfn{idn}(a) + b} to @expr{a + b} if @expr{b} |
| 22662 | is provably scalar, or expanded out if @expr{b} is a matrix; | 22662 | is provably scalar, or expanded out if @expr{b} is a matrix; |
| 22663 | @expr{@tfn{idn}(a) + @tfn{idn}(b)} to @expr{@tfn{idn}(a + b)}; | 22663 | @expr{@tfn{idn}(a) + @tfn{idn}(b)} to @expr{@tfn{idn}(a + b)}; |
| 22664 | @expr{-@tfn{idn}(a)} to @expr{@tfn{idn}(-a)}; @expr{a @tfn{idn}(b)} to | 22664 | @expr{-@tfn{idn}(a)} to @expr{@tfn{idn}(-a)}; @expr{a @tfn{idn}(b)} to |
| 22665 | @expr{@tfn{idn}(a b)} if @expr{a} is provably scalar, or to @expr{a b} | 22665 | @expr{@tfn{idn}(a b)} if @expr{a} is provably scalar, or to @expr{a b} |
| 22666 | if @expr{a} is provably non-scalar; @expr{@tfn{idn}(a) @tfn{idn}(b)} to | 22666 | if @expr{a} is provably non-scalar; @expr{@tfn{idn}(a) @tfn{idn}(b)} to |
| 22667 | @expr{@tfn{idn}(a b)}; analogous simplifications for quotients involving | 22667 | @expr{@tfn{idn}(a b)}; analogous simplifications for quotients involving |
| 22668 | @code{idn}; and @expr{@tfn{idn}(a)^n} to @expr{@tfn{idn}(a^n)} where | 22668 | @code{idn}; and @expr{@tfn{idn}(a)^n} to @expr{@tfn{idn}(a^n)} where |
| @@ -22683,7 +22683,7 @@ The expression @expr{@tfn{abs}(-x)} changes to @expr{@tfn{abs}(x)}. | |||
| 22683 | The expression @expr{@tfn{abs}(@tfn{abs}(x))} changes to | 22683 | The expression @expr{@tfn{abs}(@tfn{abs}(x))} changes to |
| 22684 | @expr{@tfn{abs}(x)}; in fact, @expr{@tfn{abs}(x)} changes to @expr{x} or | 22684 | @expr{@tfn{abs}(x)}; in fact, @expr{@tfn{abs}(x)} changes to @expr{x} or |
| 22685 | @expr{-x} if @expr{x} is provably nonnegative or nonpositive | 22685 | @expr{-x} if @expr{x} is provably nonnegative or nonpositive |
| 22686 | (@pxref{Declarations}). | 22686 | (@pxref{Declarations}). |
| 22687 | 22687 | ||
| 22688 | While most functions do not recognize the variable @code{i} as an | 22688 | While most functions do not recognize the variable @code{i} as an |
| 22689 | imaginary number, the @code{arg} function does handle the two cases | 22689 | imaginary number, the @code{arg} function does handle the two cases |
| @@ -22693,7 +22693,7 @@ The expression @expr{@tfn{conj}(@tfn{conj}(x))} simplifies to @expr{x}. | |||
| 22693 | Various other expressions involving @code{conj}, @code{re}, and | 22693 | Various other expressions involving @code{conj}, @code{re}, and |
| 22694 | @code{im} are simplified, especially if some of the arguments are | 22694 | @code{im} are simplified, especially if some of the arguments are |
| 22695 | provably real or involve the constant @code{i}. For example, | 22695 | provably real or involve the constant @code{i}. For example, |
| 22696 | @expr{@tfn{conj}(a + b i)} is changed to | 22696 | @expr{@tfn{conj}(a + b i)} is changed to |
| 22697 | @expr{@tfn{conj}(a) - @tfn{conj}(b) i}, or to @expr{a - b i} if @expr{a} | 22697 | @expr{@tfn{conj}(a) - @tfn{conj}(b) i}, or to @expr{a - b i} if @expr{a} |
| 22698 | and @expr{b} are known to be real. | 22698 | and @expr{b} are known to be real. |
| 22699 | 22699 | ||
| @@ -22836,7 +22836,7 @@ several ways. (Note that these will be left unevaluated only in | |||
| 22836 | Symbolic mode.) First, square integer or rational factors are | 22836 | Symbolic mode.) First, square integer or rational factors are |
| 22837 | pulled out so that @expr{@tfn{sqrt}(8)} is rewritten as | 22837 | pulled out so that @expr{@tfn{sqrt}(8)} is rewritten as |
| 22838 | @texline @math{2\,@tfn{sqrt}(2)}. | 22838 | @texline @math{2\,@tfn{sqrt}(2)}. |
| 22839 | @infoline @expr{2 sqrt(2)}. | 22839 | @infoline @expr{2 sqrt(2)}. |
| 22840 | Conceptually speaking this implies factoring the argument into primes | 22840 | Conceptually speaking this implies factoring the argument into primes |
| 22841 | and moving pairs of primes out of the square root, but for reasons of | 22841 | and moving pairs of primes out of the square root, but for reasons of |
| 22842 | efficiency Calc only looks for primes up to 29. | 22842 | efficiency Calc only looks for primes up to 29. |
| @@ -22879,7 +22879,7 @@ declared to be an integer. | |||
| 22879 | Trigonometric functions are simplified in several ways. Whenever a | 22879 | Trigonometric functions are simplified in several ways. Whenever a |
| 22880 | products of two trigonometric functions can be replaced by a single | 22880 | products of two trigonometric functions can be replaced by a single |
| 22881 | function, the replacement is made; for example, | 22881 | function, the replacement is made; for example, |
| 22882 | @expr{@tfn{tan}(x) @tfn{cos}(x)} is simplified to @expr{@tfn{sin}(x)}. | 22882 | @expr{@tfn{tan}(x) @tfn{cos}(x)} is simplified to @expr{@tfn{sin}(x)}. |
| 22883 | Reciprocals of trigonometric functions are replaced by their reciprocal | 22883 | Reciprocals of trigonometric functions are replaced by their reciprocal |
| 22884 | function; for example, @expr{1/@tfn{sec}(x)} is simplified to | 22884 | function; for example, @expr{1/@tfn{sec}(x)} is simplified to |
| 22885 | @expr{@tfn{cos}(x)}. The corresponding simplifications for the | 22885 | @expr{@tfn{cos}(x)}. The corresponding simplifications for the |
| @@ -22887,7 +22887,7 @@ hyperbolic functions are also handled. | |||
| 22887 | 22887 | ||
| 22888 | Trigonometric functions of their inverse functions are | 22888 | Trigonometric functions of their inverse functions are |
| 22889 | simplified. The expression @expr{@tfn{sin}(@tfn{arcsin}(x))} is | 22889 | simplified. The expression @expr{@tfn{sin}(@tfn{arcsin}(x))} is |
| 22890 | simplified to @expr{x}, and similarly for @code{cos} and @code{tan}. | 22890 | simplified to @expr{x}, and similarly for @code{cos} and @code{tan}. |
| 22891 | Trigonometric functions of inverses of different trigonometric | 22891 | Trigonometric functions of inverses of different trigonometric |
| 22892 | functions can also be simplified, as in @expr{@tfn{sin}(@tfn{arccos}(x))} | 22892 | functions can also be simplified, as in @expr{@tfn{sin}(@tfn{arccos}(x))} |
| 22893 | to @expr{@tfn{sqrt}(1 - x^2)}. | 22893 | to @expr{@tfn{sqrt}(1 - x^2)}. |
| @@ -22905,30 +22905,30 @@ No simplifications for inverse trigonometric and hyperbolic | |||
| 22905 | functions are known, except for negative arguments of @code{arcsin}, | 22905 | functions are known, except for negative arguments of @code{arcsin}, |
| 22906 | @code{arctan}, @code{arcsinh}, and @code{arctanh}. Note that | 22906 | @code{arctan}, @code{arcsinh}, and @code{arctanh}. Note that |
| 22907 | @expr{@tfn{arcsin}(@tfn{sin}(x))} can @emph{not} safely change to | 22907 | @expr{@tfn{arcsin}(@tfn{sin}(x))} can @emph{not} safely change to |
| 22908 | @expr{x}, since this only correct within an integer multiple of | 22908 | @expr{x}, since this only correct within an integer multiple of |
| 22909 | @texline @math{2 \pi} | 22909 | @texline @math{2 \pi} |
| 22910 | @infoline @expr{2 pi} | 22910 | @infoline @expr{2 pi} |
| 22911 | radians or 360 degrees. However, @expr{@tfn{arcsinh}(@tfn{sinh}(x))} is | 22911 | radians or 360 degrees. However, @expr{@tfn{arcsinh}(@tfn{sinh}(x))} is |
| 22912 | simplified to @expr{x} if @expr{x} is known to be real. | 22912 | simplified to @expr{x} if @expr{x} is known to be real. |
| 22913 | 22913 | ||
| 22914 | Several simplifications that apply to logarithms and exponentials | 22914 | Several simplifications that apply to logarithms and exponentials |
| 22915 | are that @expr{@tfn{exp}(@tfn{ln}(x))}, | 22915 | are that @expr{@tfn{exp}(@tfn{ln}(x))}, |
| 22916 | @texline @tfn{e}@math{^{\ln(x)}}, | 22916 | @texline @tfn{e}@math{^{\ln(x)}}, |
| 22917 | @infoline @expr{e^@tfn{ln}(x)}, | 22917 | @infoline @expr{e^@tfn{ln}(x)}, |
| 22918 | and | 22918 | and |
| 22919 | @texline @math{10^{{\rm log10}(x)}} | 22919 | @texline @math{10^{{\rm log10}(x)}} |
| 22920 | @infoline @expr{10^@tfn{log10}(x)} | 22920 | @infoline @expr{10^@tfn{log10}(x)} |
| 22921 | all reduce to @expr{x}. Also, @expr{@tfn{ln}(@tfn{exp}(x))}, etc., can | 22921 | all reduce to @expr{x}. Also, @expr{@tfn{ln}(@tfn{exp}(x))}, etc., can |
| 22922 | reduce to @expr{x} if @expr{x} is provably real. The form | 22922 | reduce to @expr{x} if @expr{x} is provably real. The form |
| 22923 | @expr{@tfn{exp}(x)^y} is simplified to @expr{@tfn{exp}(x y)}. If @expr{x} | 22923 | @expr{@tfn{exp}(x)^y} is simplified to @expr{@tfn{exp}(x y)}. If @expr{x} |
| 22924 | is a suitable multiple of | 22924 | is a suitable multiple of |
| 22925 | @texline @math{\pi i} | 22925 | @texline @math{\pi i} |
| 22926 | @infoline @expr{pi i} | 22926 | @infoline @expr{pi i} |
| 22927 | (as described above for the trigonometric functions), then | 22927 | (as described above for the trigonometric functions), then |
| 22928 | @expr{@tfn{exp}(x)} or @expr{e^x} will be expanded. Finally, | 22928 | @expr{@tfn{exp}(x)} or @expr{e^x} will be expanded. Finally, |
| 22929 | @expr{@tfn{ln}(x)} is simplified to a form involving @code{pi} and | 22929 | @expr{@tfn{ln}(x)} is simplified to a form involving @code{pi} and |
| 22930 | @code{i} where @expr{x} is provably negative, positive imaginary, or | 22930 | @code{i} where @expr{x} is provably negative, positive imaginary, or |
| 22931 | negative imaginary. | 22931 | negative imaginary. |
| 22932 | 22932 | ||
| 22933 | The error functions @code{erf} and @code{erfc} are simplified when | 22933 | The error functions @code{erf} and @code{erfc} are simplified when |
| 22934 | their arguments are negative-looking or are calls to the @code{conj} | 22934 | their arguments are negative-looking or are calls to the @code{conj} |
| @@ -23006,18 +23006,18 @@ values of @expr{x} in a certain range; outside that range, values | |||
| 23006 | are folded down to the 360-degree range that the inverse trigonometric | 23006 | are folded down to the 360-degree range that the inverse trigonometric |
| 23007 | functions always produce. | 23007 | functions always produce. |
| 23008 | 23008 | ||
| 23009 | Powers of powers @expr{(x^a)^b} are simplified to | 23009 | Powers of powers @expr{(x^a)^b} are simplified to |
| 23010 | @texline @math{x^{a b}} | 23010 | @texline @math{x^{a b}} |
| 23011 | @infoline @expr{x^(a b)} | 23011 | @infoline @expr{x^(a b)} |
| 23012 | for all @expr{a} and @expr{b}. These results will be valid only | 23012 | for all @expr{a} and @expr{b}. These results will be valid only |
| 23013 | in a restricted range of @expr{x}; for example, in | 23013 | in a restricted range of @expr{x}; for example, in |
| 23014 | @texline @math{(x^2)^{1:2}} | 23014 | @texline @math{(x^2)^{1:2}} |
| 23015 | @infoline @expr{(x^2)^1:2} | 23015 | @infoline @expr{(x^2)^1:2} |
| 23016 | the powers cancel to get @expr{x}, which is valid for positive values | 23016 | the powers cancel to get @expr{x}, which is valid for positive values |
| 23017 | of @expr{x} but not for negative or complex values. | 23017 | of @expr{x} but not for negative or complex values. |
| 23018 | 23018 | ||
| 23019 | Similarly, @expr{@tfn{sqrt}(x^a)} and @expr{@tfn{sqrt}(x)^a} are both | 23019 | Similarly, @expr{@tfn{sqrt}(x^a)} and @expr{@tfn{sqrt}(x)^a} are both |
| 23020 | simplified (possibly unsafely) to | 23020 | simplified (possibly unsafely) to |
| 23021 | @texline @math{x^{a/2}}. | 23021 | @texline @math{x^{a/2}}. |
| 23022 | @infoline @expr{x^(a/2)}. | 23022 | @infoline @expr{x^(a/2)}. |
| 23023 | 23023 | ||
| @@ -23027,7 +23027,7 @@ Forms like @expr{@tfn{sqrt}(1 - sin(x)^2)} are simplified to, e.g., | |||
| 23027 | 23027 | ||
| 23028 | Arguments of square roots are partially factored to look for | 23028 | Arguments of square roots are partially factored to look for |
| 23029 | squared terms that can be extracted. For example, | 23029 | squared terms that can be extracted. For example, |
| 23030 | @expr{@tfn{sqrt}(a^2 b^3 + a^3 b^2)} simplifies to | 23030 | @expr{@tfn{sqrt}(a^2 b^3 + a^3 b^2)} simplifies to |
| 23031 | @expr{a b @tfn{sqrt}(a+b)}. | 23031 | @expr{a b @tfn{sqrt}(a+b)}. |
| 23032 | 23032 | ||
| 23033 | The simplifications of @expr{@tfn{ln}(@tfn{exp}(x))}, | 23033 | The simplifications of @expr{@tfn{ln}(@tfn{exp}(x))}, |
| @@ -23093,9 +23093,9 @@ number for an answer, then the quotient simplifies to that number. | |||
| 23093 | 23093 | ||
| 23094 | For powers and square roots, the ``unsafe'' simplifications | 23094 | For powers and square roots, the ``unsafe'' simplifications |
| 23095 | @expr{(a b)^c} to @expr{a^c b^c}, @expr{(a/b)^c} to @expr{a^c / b^c}, | 23095 | @expr{(a b)^c} to @expr{a^c b^c}, @expr{(a/b)^c} to @expr{a^c / b^c}, |
| 23096 | and @expr{(a^b)^c} to | 23096 | and @expr{(a^b)^c} to |
| 23097 | @texline @math{a^{b c}} | 23097 | @texline @math{a^{b c}} |
| 23098 | @infoline @expr{a^(b c)} | 23098 | @infoline @expr{a^(b c)} |
| 23099 | are done if the powers are real numbers. (These are safe in the context | 23099 | are done if the powers are real numbers. (These are safe in the context |
| 23100 | of units because all numbers involved can reasonably be assumed to be | 23100 | of units because all numbers involved can reasonably be assumed to be |
| 23101 | real.) | 23101 | real.) |
| @@ -23108,12 +23108,12 @@ according to the previous paragraph. For example, @samp{acre^1.5} | |||
| 23108 | is simplified by noting that @expr{1.5 = 3:2}, that @samp{acre} | 23108 | is simplified by noting that @expr{1.5 = 3:2}, that @samp{acre} |
| 23109 | is defined in terms of @samp{m^2}, and that the 2 in the power of | 23109 | is defined in terms of @samp{m^2}, and that the 2 in the power of |
| 23110 | @code{m} is a multiple of 2 in @expr{3:2}. Thus, @code{acre^1.5} is | 23110 | @code{m} is a multiple of 2 in @expr{3:2}. Thus, @code{acre^1.5} is |
| 23111 | replaced by approximately | 23111 | replaced by approximately |
| 23112 | @texline @math{(4046 m^2)^{1.5}} | 23112 | @texline @math{(4046 m^2)^{1.5}} |
| 23113 | @infoline @expr{(4046 m^2)^1.5}, | 23113 | @infoline @expr{(4046 m^2)^1.5}, |
| 23114 | which is then changed to | 23114 | which is then changed to |
| 23115 | @texline @math{4046^{1.5} \, (m^2)^{1.5}}, | 23115 | @texline @math{4046^{1.5} \, (m^2)^{1.5}}, |
| 23116 | @infoline @expr{4046^1.5 (m^2)^1.5}, | 23116 | @infoline @expr{4046^1.5 (m^2)^1.5}, |
| 23117 | then to @expr{257440 m^3}. | 23117 | then to @expr{257440 m^3}. |
| 23118 | 23118 | ||
| 23119 | The functions @code{float}, @code{frac}, @code{clean}, @code{abs}, | 23119 | The functions @code{float}, @code{frac}, @code{clean}, @code{abs}, |
| @@ -23401,7 +23401,7 @@ answer! | |||
| 23401 | 23401 | ||
| 23402 | If you use the @code{deriv} function directly in an algebraic formula, | 23402 | If you use the @code{deriv} function directly in an algebraic formula, |
| 23403 | you can write @samp{deriv(f,x,x0)} which represents the derivative | 23403 | you can write @samp{deriv(f,x,x0)} which represents the derivative |
| 23404 | of @expr{f} with respect to @expr{x}, evaluated at the point | 23404 | of @expr{f} with respect to @expr{x}, evaluated at the point |
| 23405 | @texline @math{x=x_0}. | 23405 | @texline @math{x=x_0}. |
| 23406 | @infoline @expr{x=x0}. | 23406 | @infoline @expr{x=x0}. |
| 23407 | 23407 | ||
| @@ -23441,7 +23441,7 @@ respect to a prompted-for variable. The integrator is not guaranteed to | |||
| 23441 | work for all integrable functions, but it is able to integrate several | 23441 | work for all integrable functions, but it is able to integrate several |
| 23442 | large classes of formulas. In particular, any polynomial or rational | 23442 | large classes of formulas. In particular, any polynomial or rational |
| 23443 | function (a polynomial divided by a polynomial) is acceptable. | 23443 | function (a polynomial divided by a polynomial) is acceptable. |
| 23444 | (Rational functions don't have to be in explicit quotient form, however; | 23444 | (Rational functions don't have to be in explicit quotient form, however; |
| 23445 | @texline @math{x/(1+x^{-2})} | 23445 | @texline @math{x/(1+x^{-2})} |
| 23446 | @infoline @expr{x/(1+x^-2)} | 23446 | @infoline @expr{x/(1+x^-2)} |
| 23447 | is not strictly a quotient of polynomials, but it is equivalent to | 23447 | is not strictly a quotient of polynomials, but it is equivalent to |
| @@ -23472,7 +23472,7 @@ integral $\int_a^b f(x) \, dx$. | |||
| 23472 | 23472 | ||
| 23473 | Please note that the current implementation of Calc's integrator sometimes | 23473 | Please note that the current implementation of Calc's integrator sometimes |
| 23474 | produces results that are significantly more complex than they need to | 23474 | produces results that are significantly more complex than they need to |
| 23475 | be. For example, the integral Calc finds for | 23475 | be. For example, the integral Calc finds for |
| 23476 | @texline @math{1/(x+\sqrt{x^2+1})} | 23476 | @texline @math{1/(x+\sqrt{x^2+1})} |
| 23477 | @infoline @expr{1/(x+sqrt(x^2+1))} | 23477 | @infoline @expr{1/(x+sqrt(x^2+1))} |
| 23478 | is several times more complicated than the answer Mathematica | 23478 | is several times more complicated than the answer Mathematica |
| @@ -23480,11 +23480,11 @@ returns for the same input, although the two forms are numerically | |||
| 23480 | equivalent. Also, any indefinite integral should be considered to have | 23480 | equivalent. Also, any indefinite integral should be considered to have |
| 23481 | an arbitrary constant of integration added to it, although Calc does not | 23481 | an arbitrary constant of integration added to it, although Calc does not |
| 23482 | write an explicit constant of integration in its result. For example, | 23482 | write an explicit constant of integration in its result. For example, |
| 23483 | Calc's solution for | 23483 | Calc's solution for |
| 23484 | @texline @math{1/(1+\tan x)} | 23484 | @texline @math{1/(1+\tan x)} |
| 23485 | @infoline @expr{1/(1+tan(x))} | 23485 | @infoline @expr{1/(1+tan(x))} |
| 23486 | differs from the solution given in the @emph{CRC Math Tables} by a | 23486 | differs from the solution given in the @emph{CRC Math Tables} by a |
| 23487 | constant factor of | 23487 | constant factor of |
| 23488 | @texline @math{\pi i / 2} | 23488 | @texline @math{\pi i / 2} |
| 23489 | @infoline @expr{pi i / 2}, | 23489 | @infoline @expr{pi i / 2}, |
| 23490 | due to a different choice of constant of integration. | 23490 | due to a different choice of constant of integration. |
| @@ -23544,9 +23544,9 @@ in your @code{IntegRules}. | |||
| 23544 | @tindex Ei | 23544 | @tindex Ei |
| 23545 | As a more serious example, the expression @samp{exp(x)/x} cannot be | 23545 | As a more serious example, the expression @samp{exp(x)/x} cannot be |
| 23546 | integrated in terms of the standard functions, so the ``exponential | 23546 | integrated in terms of the standard functions, so the ``exponential |
| 23547 | integral'' function | 23547 | integral'' function |
| 23548 | @texline @math{{\rm Ei}(x)} | 23548 | @texline @math{{\rm Ei}(x)} |
| 23549 | @infoline @expr{Ei(x)} | 23549 | @infoline @expr{Ei(x)} |
| 23550 | was invented to describe it. | 23550 | was invented to describe it. |
| 23551 | We can get Calc to do this integral in terms of a made-up @code{Ei} | 23551 | We can get Calc to do this integral in terms of a made-up @code{Ei} |
| 23552 | function by adding the rule @samp{[integtry(exp(x)/x, x) := Ei(x)]} | 23552 | function by adding the rule @samp{[integtry(exp(x)/x, x) := Ei(x)]} |
| @@ -23717,18 +23717,18 @@ form @expr{X = 0}. | |||
| 23717 | 23717 | ||
| 23718 | This command also works for inequalities, as in @expr{y < 3x + 6}. | 23718 | This command also works for inequalities, as in @expr{y < 3x + 6}. |
| 23719 | Some inequalities cannot be solved where the analogous equation could | 23719 | Some inequalities cannot be solved where the analogous equation could |
| 23720 | be; for example, solving | 23720 | be; for example, solving |
| 23721 | @texline @math{a < b \, c} | 23721 | @texline @math{a < b \, c} |
| 23722 | @infoline @expr{a < b c} | 23722 | @infoline @expr{a < b c} |
| 23723 | for @expr{b} is impossible | 23723 | for @expr{b} is impossible |
| 23724 | without knowing the sign of @expr{c}. In this case, @kbd{a S} will | 23724 | without knowing the sign of @expr{c}. In this case, @kbd{a S} will |
| 23725 | produce the result | 23725 | produce the result |
| 23726 | @texline @math{b \mathbin{\hbox{\code{!=}}} a/c} | 23726 | @texline @math{b \mathbin{\hbox{\code{!=}}} a/c} |
| 23727 | @infoline @expr{b != a/c} | 23727 | @infoline @expr{b != a/c} |
| 23728 | (using the not-equal-to operator) to signify that the direction of the | 23728 | (using the not-equal-to operator) to signify that the direction of the |
| 23729 | inequality is now unknown. The inequality | 23729 | inequality is now unknown. The inequality |
| 23730 | @texline @math{a \le b \, c} | 23730 | @texline @math{a \le b \, c} |
| 23731 | @infoline @expr{a <= b c} | 23731 | @infoline @expr{a <= b c} |
| 23732 | is not even partially solved. @xref{Declarations}, for a way to tell | 23732 | is not even partially solved. @xref{Declarations}, for a way to tell |
| 23733 | Calc that the signs of the variables in a formula are in fact known. | 23733 | Calc that the signs of the variables in a formula are in fact known. |
| 23734 | 23734 | ||
| @@ -24186,13 +24186,13 @@ value of the variable which minimizes the formula's value, along | |||
| 24186 | with the minimum value itself. | 24186 | with the minimum value itself. |
| 24187 | 24187 | ||
| 24188 | Note that this command looks for a @emph{local} minimum. Many functions | 24188 | Note that this command looks for a @emph{local} minimum. Many functions |
| 24189 | have more than one minimum; some, like | 24189 | have more than one minimum; some, like |
| 24190 | @texline @math{x \sin x}, | 24190 | @texline @math{x \sin x}, |
| 24191 | @infoline @expr{x sin(x)}, | 24191 | @infoline @expr{x sin(x)}, |
| 24192 | have infinitely many. In fact, there is no easy way to define the | 24192 | have infinitely many. In fact, there is no easy way to define the |
| 24193 | ``global'' minimum of | 24193 | ``global'' minimum of |
| 24194 | @texline @math{x \sin x} | 24194 | @texline @math{x \sin x} |
| 24195 | @infoline @expr{x sin(x)} | 24195 | @infoline @expr{x sin(x)} |
| 24196 | but Calc can still locate any particular local minimum | 24196 | but Calc can still locate any particular local minimum |
| 24197 | for you. Calc basically goes downhill from the initial guess until it | 24197 | for you. Calc basically goes downhill from the initial guess until it |
| 24198 | finds a point at which the function's value is greater both to the left | 24198 | finds a point at which the function's value is greater both to the left |
| @@ -24271,7 +24271,7 @@ to be determined. For a typical set of measured data there will be | |||
| 24271 | no single @expr{m} and @expr{b} that exactly fit the data; in this | 24271 | no single @expr{m} and @expr{b} that exactly fit the data; in this |
| 24272 | case, Calc chooses values of the parameters that provide the closest | 24272 | case, Calc chooses values of the parameters that provide the closest |
| 24273 | possible fit. The model formula can be entered in various ways after | 24273 | possible fit. The model formula can be entered in various ways after |
| 24274 | the key sequence @kbd{a F} is pressed. | 24274 | the key sequence @kbd{a F} is pressed. |
| 24275 | 24275 | ||
| 24276 | If the letter @kbd{P} is pressed after @kbd{a F} but before the model | 24276 | If the letter @kbd{P} is pressed after @kbd{a F} but before the model |
| 24277 | description is entered, the data as well as the model formula will be | 24277 | description is entered, the data as well as the model formula will be |
| @@ -24319,7 +24319,7 @@ the @dfn{parameters} of the model. | |||
| 24319 | 24319 | ||
| 24320 | The @kbd{a F} command takes the data set to be fitted from the stack. | 24320 | The @kbd{a F} command takes the data set to be fitted from the stack. |
| 24321 | By default, it expects the data in the form of a matrix. For example, | 24321 | By default, it expects the data in the form of a matrix. For example, |
| 24322 | for a linear or polynomial fit, this would be a | 24322 | for a linear or polynomial fit, this would be a |
| 24323 | @texline @math{2\times N} | 24323 | @texline @math{2\times N} |
| 24324 | @infoline 2xN | 24324 | @infoline 2xN |
| 24325 | matrix where the first row is a list of @expr{x} values and the second | 24325 | matrix where the first row is a list of @expr{x} values and the second |
| @@ -24327,10 +24327,10 @@ row has the corresponding @expr{y} values. For the multilinear fit | |||
| 24327 | shown above, the matrix would have four rows (@expr{x_1}, @expr{x_2}, | 24327 | shown above, the matrix would have four rows (@expr{x_1}, @expr{x_2}, |
| 24328 | @expr{x_3}, and @expr{y}, respectively). | 24328 | @expr{x_3}, and @expr{y}, respectively). |
| 24329 | 24329 | ||
| 24330 | If you happen to have an | 24330 | If you happen to have an |
| 24331 | @texline @math{N\times2} | 24331 | @texline @math{N\times2} |
| 24332 | @infoline Nx2 | 24332 | @infoline Nx2 |
| 24333 | matrix instead of a | 24333 | matrix instead of a |
| 24334 | @texline @math{2\times N} | 24334 | @texline @math{2\times N} |
| 24335 | @infoline 2xN | 24335 | @infoline 2xN |
| 24336 | matrix, just press @kbd{v t} first to transpose the matrix. | 24336 | matrix, just press @kbd{v t} first to transpose the matrix. |
| @@ -24425,13 +24425,13 @@ $$ \chi^2 = \sum_{i=1}^N (y_i - (a + b x_i))^2 $$ | |||
| 24425 | which is clearly zero if @expr{a + b x} exactly fits all data points, | 24425 | which is clearly zero if @expr{a + b x} exactly fits all data points, |
| 24426 | and increases as various @expr{a + b x_i} values fail to match the | 24426 | and increases as various @expr{a + b x_i} values fail to match the |
| 24427 | corresponding @expr{y_i} values. There are several reasons why the | 24427 | corresponding @expr{y_i} values. There are several reasons why the |
| 24428 | summand is squared, one of them being to ensure that | 24428 | summand is squared, one of them being to ensure that |
| 24429 | @texline @math{\chi^2 \ge 0}. | 24429 | @texline @math{\chi^2 \ge 0}. |
| 24430 | @infoline @expr{chi^2 >= 0}. | 24430 | @infoline @expr{chi^2 >= 0}. |
| 24431 | Least-squares fitting simply chooses the values of @expr{a} and @expr{b} | 24431 | Least-squares fitting simply chooses the values of @expr{a} and @expr{b} |
| 24432 | for which the error | 24432 | for which the error |
| 24433 | @texline @math{\chi^2} | 24433 | @texline @math{\chi^2} |
| 24434 | @infoline @expr{chi^2} | 24434 | @infoline @expr{chi^2} |
| 24435 | is as small as possible. | 24435 | is as small as possible. |
| 24436 | 24436 | ||
| 24437 | Other kinds of models do the same thing but with a different model | 24437 | Other kinds of models do the same thing but with a different model |
| @@ -24593,9 +24593,9 @@ contain error forms. The data values must either all include errors | |||
| 24593 | or all be plain numbers. Error forms can go anywhere but generally | 24593 | or all be plain numbers. Error forms can go anywhere but generally |
| 24594 | go on the numbers in the last row of the data matrix. If the last | 24594 | go on the numbers in the last row of the data matrix. If the last |
| 24595 | row contains error forms | 24595 | row contains error forms |
| 24596 | @texline `@var{y_i}@w{ @tfn{+/-} }@math{\sigma_i}', | 24596 | @texline `@var{y_i}@w{ @tfn{+/-} }@math{\sigma_i}', |
| 24597 | @infoline `@var{y_i}@w{ @tfn{+/-} }@var{sigma_i}', | 24597 | @infoline `@var{y_i}@w{ @tfn{+/-} }@var{sigma_i}', |
| 24598 | then the | 24598 | then the |
| 24599 | @texline @math{\chi^2} | 24599 | @texline @math{\chi^2} |
| 24600 | @infoline @expr{chi^2} | 24600 | @infoline @expr{chi^2} |
| 24601 | statistic is now, | 24601 | statistic is now, |
| @@ -24617,9 +24617,9 @@ the fitting operation. | |||
| 24617 | 24617 | ||
| 24618 | If there are error forms on other rows of the data matrix, all the | 24618 | If there are error forms on other rows of the data matrix, all the |
| 24619 | errors for a given data point are combined; the square root of the | 24619 | errors for a given data point are combined; the square root of the |
| 24620 | sum of the squares of the errors forms the | 24620 | sum of the squares of the errors forms the |
| 24621 | @texline @math{\sigma_i} | 24621 | @texline @math{\sigma_i} |
| 24622 | @infoline @expr{sigma_i} | 24622 | @infoline @expr{sigma_i} |
| 24623 | used for the data point. | 24623 | used for the data point. |
| 24624 | 24624 | ||
| 24625 | Both @kbd{a F} and @kbd{H a F} can accept error forms in the input | 24625 | Both @kbd{a F} and @kbd{H a F} can accept error forms in the input |
| @@ -24627,19 +24627,19 @@ matrix, although if you are concerned about error analysis you will | |||
| 24627 | probably use @kbd{H a F} so that the output also contains error | 24627 | probably use @kbd{H a F} so that the output also contains error |
| 24628 | estimates. | 24628 | estimates. |
| 24629 | 24629 | ||
| 24630 | If the input contains error forms but all the | 24630 | If the input contains error forms but all the |
| 24631 | @texline @math{\sigma_i} | 24631 | @texline @math{\sigma_i} |
| 24632 | @infoline @expr{sigma_i} | 24632 | @infoline @expr{sigma_i} |
| 24633 | values are the same, it is easy to see that the resulting fitted model | 24633 | values are the same, it is easy to see that the resulting fitted model |
| 24634 | will be the same as if the input did not have error forms at all | 24634 | will be the same as if the input did not have error forms at all |
| 24635 | @texline (@math{\chi^2} | 24635 | @texline (@math{\chi^2} |
| 24636 | @infoline (@expr{chi^2} | 24636 | @infoline (@expr{chi^2} |
| 24637 | is simply scaled uniformly by | 24637 | is simply scaled uniformly by |
| 24638 | @texline @math{1 / \sigma^2}, | 24638 | @texline @math{1 / \sigma^2}, |
| 24639 | @infoline @expr{1 / sigma^2}, | 24639 | @infoline @expr{1 / sigma^2}, |
| 24640 | which doesn't affect where it has a minimum). But there @emph{will} be | 24640 | which doesn't affect where it has a minimum). But there @emph{will} be |
| 24641 | a difference in the estimated errors of the coefficients reported by | 24641 | a difference in the estimated errors of the coefficients reported by |
| 24642 | @kbd{H a F}. | 24642 | @kbd{H a F}. |
| 24643 | 24643 | ||
| 24644 | Consult any text on statistical modeling of data for a discussion | 24644 | Consult any text on statistical modeling of data for a discussion |
| 24645 | of where these error estimates come from and how they should be | 24645 | of where these error estimates come from and how they should be |
| @@ -24671,18 +24671,18 @@ will have length @expr{M = d+1} with the constant term first. | |||
| 24671 | The covariance matrix @expr{C} computed from the fit. This is | 24671 | The covariance matrix @expr{C} computed from the fit. This is |
| 24672 | an @var{m}x@var{m} symmetric matrix; the diagonal elements | 24672 | an @var{m}x@var{m} symmetric matrix; the diagonal elements |
| 24673 | @texline @math{C_{jj}} | 24673 | @texline @math{C_{jj}} |
| 24674 | @infoline @expr{C_j_j} | 24674 | @infoline @expr{C_j_j} |
| 24675 | are the variances | 24675 | are the variances |
| 24676 | @texline @math{\sigma_j^2} | 24676 | @texline @math{\sigma_j^2} |
| 24677 | @infoline @expr{sigma_j^2} | 24677 | @infoline @expr{sigma_j^2} |
| 24678 | of the parameters. The other elements are covariances | 24678 | of the parameters. The other elements are covariances |
| 24679 | @texline @math{\sigma_{ij}^2} | 24679 | @texline @math{\sigma_{ij}^2} |
| 24680 | @infoline @expr{sigma_i_j^2} | 24680 | @infoline @expr{sigma_i_j^2} |
| 24681 | that describe the correlation between pairs of parameters. (A related | 24681 | that describe the correlation between pairs of parameters. (A related |
| 24682 | set of numbers, the @dfn{linear correlation coefficients} | 24682 | set of numbers, the @dfn{linear correlation coefficients} |
| 24683 | @texline @math{r_{ij}}, | 24683 | @texline @math{r_{ij}}, |
| 24684 | @infoline @expr{r_i_j}, | 24684 | @infoline @expr{r_i_j}, |
| 24685 | are defined as | 24685 | are defined as |
| 24686 | @texline @math{\sigma_{ij}^2 / \sigma_i \, \sigma_j}.) | 24686 | @texline @math{\sigma_{ij}^2 / \sigma_i \, \sigma_j}.) |
| 24687 | @infoline @expr{sigma_i_j^2 / sigma_i sigma_j}.) | 24687 | @infoline @expr{sigma_i_j^2 / sigma_i sigma_j}.) |
| 24688 | 24688 | ||
| @@ -24693,35 +24693,35 @@ will instead be an empty vector; this is always the case for the | |||
| 24693 | polynomial and multilinear fits described so far. | 24693 | polynomial and multilinear fits described so far. |
| 24694 | 24694 | ||
| 24695 | @item | 24695 | @item |
| 24696 | The value of | 24696 | The value of |
| 24697 | @texline @math{\chi^2} | 24697 | @texline @math{\chi^2} |
| 24698 | @infoline @expr{chi^2} | 24698 | @infoline @expr{chi^2} |
| 24699 | for the fit, calculated by the formulas shown above. This gives a | 24699 | for the fit, calculated by the formulas shown above. This gives a |
| 24700 | measure of the quality of the fit; statisticians consider | 24700 | measure of the quality of the fit; statisticians consider |
| 24701 | @texline @math{\chi^2 \approx N - M} | 24701 | @texline @math{\chi^2 \approx N - M} |
| 24702 | @infoline @expr{chi^2 = N - M} | 24702 | @infoline @expr{chi^2 = N - M} |
| 24703 | to indicate a moderately good fit (where again @expr{N} is the number of | 24703 | to indicate a moderately good fit (where again @expr{N} is the number of |
| 24704 | data points and @expr{M} is the number of parameters). | 24704 | data points and @expr{M} is the number of parameters). |
| 24705 | 24705 | ||
| 24706 | @item | 24706 | @item |
| 24707 | A measure of goodness of fit expressed as a probability @expr{Q}. | 24707 | A measure of goodness of fit expressed as a probability @expr{Q}. |
| 24708 | This is computed from the @code{utpc} probability distribution | 24708 | This is computed from the @code{utpc} probability distribution |
| 24709 | function using | 24709 | function using |
| 24710 | @texline @math{\chi^2} | 24710 | @texline @math{\chi^2} |
| 24711 | @infoline @expr{chi^2} | 24711 | @infoline @expr{chi^2} |
| 24712 | with @expr{N - M} degrees of freedom. A | 24712 | with @expr{N - M} degrees of freedom. A |
| 24713 | value of 0.5 implies a good fit; some texts recommend that often | 24713 | value of 0.5 implies a good fit; some texts recommend that often |
| 24714 | @expr{Q = 0.1} or even 0.001 can signify an acceptable fit. In | 24714 | @expr{Q = 0.1} or even 0.001 can signify an acceptable fit. In |
| 24715 | particular, | 24715 | particular, |
| 24716 | @texline @math{\chi^2} | 24716 | @texline @math{\chi^2} |
| 24717 | @infoline @expr{chi^2} | 24717 | @infoline @expr{chi^2} |
| 24718 | statistics assume the errors in your inputs | 24718 | statistics assume the errors in your inputs |
| 24719 | follow a normal (Gaussian) distribution; if they don't, you may | 24719 | follow a normal (Gaussian) distribution; if they don't, you may |
| 24720 | have to accept smaller values of @expr{Q}. | 24720 | have to accept smaller values of @expr{Q}. |
| 24721 | 24721 | ||
| 24722 | The @expr{Q} value is computed only if the input included error | 24722 | The @expr{Q} value is computed only if the input included error |
| 24723 | estimates. Otherwise, Calc will report the symbol @code{nan} | 24723 | estimates. Otherwise, Calc will report the symbol @code{nan} |
| 24724 | for @expr{Q}. The reason is that in this case the | 24724 | for @expr{Q}. The reason is that in this case the |
| 24725 | @texline @math{\chi^2} | 24725 | @texline @math{\chi^2} |
| 24726 | @infoline @expr{chi^2} | 24726 | @infoline @expr{chi^2} |
| 24727 | value has effectively been used to estimate the original errors | 24727 | value has effectively been used to estimate the original errors |
| @@ -24763,7 +24763,7 @@ Power law. @mathit{a x^b y^c}. | |||
| 24763 | @item q | 24763 | @item q |
| 24764 | Quadratic. @mathit{a + b (x-c)^2 + d (x-e)^2}. | 24764 | Quadratic. @mathit{a + b (x-c)^2 + d (x-e)^2}. |
| 24765 | @item g | 24765 | @item g |
| 24766 | Gaussian. | 24766 | Gaussian. |
| 24767 | @texline @math{{a \over b \sqrt{2 \pi}} \exp\left( -{1 \over 2} \left( x - c \over b \right)^2 \right)}. | 24767 | @texline @math{{a \over b \sqrt{2 \pi}} \exp\left( -{1 \over 2} \left( x - c \over b \right)^2 \right)}. |
| 24768 | @infoline @mathit{(a / b sqrt(2 pi)) exp(-0.5*((x-c)/b)^2)}. | 24768 | @infoline @mathit{(a / b sqrt(2 pi)) exp(-0.5*((x-c)/b)^2)}. |
| 24769 | @item s | 24769 | @item s |
| @@ -24788,7 +24788,7 @@ the parameter values from the vector that is placed in the trail.) | |||
| 24788 | 24788 | ||
| 24789 | All models except Gaussian, logistics, Hubbert and polynomials can | 24789 | All models except Gaussian, logistics, Hubbert and polynomials can |
| 24790 | generalize as shown to any number of independent variables. Also, all | 24790 | generalize as shown to any number of independent variables. Also, all |
| 24791 | the built-in models except for the logistic and Hubbert curves have an | 24791 | the built-in models except for the logistic and Hubbert curves have an |
| 24792 | additive or multiplicative parameter shown as @expr{a} in the above table | 24792 | additive or multiplicative parameter shown as @expr{a} in the above table |
| 24793 | which can be replaced by zero or one, as appropriate, by typing @kbd{h} | 24793 | which can be replaced by zero or one, as appropriate, by typing @kbd{h} |
| 24794 | before the model key. | 24794 | before the model key. |
| @@ -24893,9 +24893,9 @@ form @samp{arcsin(y) = a t + b}. The @code{arcsin} function always | |||
| 24893 | returns results in the range from @mathit{-90} to 90 degrees (or the | 24893 | returns results in the range from @mathit{-90} to 90 degrees (or the |
| 24894 | equivalent range in radians). Suppose you had data that you | 24894 | equivalent range in radians). Suppose you had data that you |
| 24895 | believed to represent roughly three oscillations of a sine wave, | 24895 | believed to represent roughly three oscillations of a sine wave, |
| 24896 | so that the argument of the sine might go from zero to | 24896 | so that the argument of the sine might go from zero to |
| 24897 | @texline @math{3\times360} | 24897 | @texline @math{3\times360} |
| 24898 | @infoline @mathit{3*360} | 24898 | @infoline @mathit{3*360} |
| 24899 | degrees. | 24899 | degrees. |
| 24900 | The above model would appear to be a good way to determine the | 24900 | The above model would appear to be a good way to determine the |
| 24901 | true frequency and phase of the sine wave, but in practice it | 24901 | true frequency and phase of the sine wave, but in practice it |
| @@ -24955,18 +24955,18 @@ ln(y) = ln(a) + b ln(x) | |||
| 24955 | @end example | 24955 | @end example |
| 24956 | 24956 | ||
| 24957 | @noindent | 24957 | @noindent |
| 24958 | which matches the desired form with | 24958 | which matches the desired form with |
| 24959 | @texline @math{Y = \ln(y)}, | 24959 | @texline @math{Y = \ln(y)}, |
| 24960 | @infoline @expr{Y = ln(y)}, | 24960 | @infoline @expr{Y = ln(y)}, |
| 24961 | @texline @math{A = \ln(a)}, | 24961 | @texline @math{A = \ln(a)}, |
| 24962 | @infoline @expr{A = ln(a)}, | 24962 | @infoline @expr{A = ln(a)}, |
| 24963 | @expr{F = 1}, @expr{B = b}, and | 24963 | @expr{F = 1}, @expr{B = b}, and |
| 24964 | @texline @math{G = \ln(x)}. | 24964 | @texline @math{G = \ln(x)}. |
| 24965 | @infoline @expr{G = ln(x)}. | 24965 | @infoline @expr{G = ln(x)}. |
| 24966 | Calc thus computes the logarithms of your @expr{y} and @expr{x} values, | 24966 | Calc thus computes the logarithms of your @expr{y} and @expr{x} values, |
| 24967 | does a linear fit for @expr{A} and @expr{B}, then solves to get | 24967 | does a linear fit for @expr{A} and @expr{B}, then solves to get |
| 24968 | @texline @math{a = \exp(A)} | 24968 | @texline @math{a = \exp(A)} |
| 24969 | @infoline @expr{a = exp(A)} | 24969 | @infoline @expr{a = exp(A)} |
| 24970 | and @expr{b = B}. | 24970 | and @expr{b = B}. |
| 24971 | 24971 | ||
| 24972 | Another interesting example is the ``quadratic'' model, which can | 24972 | Another interesting example is the ``quadratic'' model, which can |
| @@ -25015,7 +25015,7 @@ from the list of parameters when you answer the variables prompt. | |||
| 25015 | 25015 | ||
| 25016 | A last desperate step would be to use the general-purpose | 25016 | A last desperate step would be to use the general-purpose |
| 25017 | @code{minimize} function rather than @code{fit}. After all, both | 25017 | @code{minimize} function rather than @code{fit}. After all, both |
| 25018 | functions solve the problem of minimizing an expression (the | 25018 | functions solve the problem of minimizing an expression (the |
| 25019 | @texline @math{\chi^2} | 25019 | @texline @math{\chi^2} |
| 25020 | @infoline @expr{chi^2} | 25020 | @infoline @expr{chi^2} |
| 25021 | sum) by adjusting certain parameters in the expression. The @kbd{a F} | 25021 | sum) by adjusting certain parameters in the expression. The @kbd{a F} |
| @@ -25026,9 +25026,9 @@ command can do the same thing by brute force. | |||
| 25026 | A compromise would be to pick out a few parameters without which the | 25026 | A compromise would be to pick out a few parameters without which the |
| 25027 | fit is linearizable, and use @code{minimize} on a call to @code{fit} | 25027 | fit is linearizable, and use @code{minimize} on a call to @code{fit} |
| 25028 | which efficiently takes care of the rest of the parameters. The thing | 25028 | which efficiently takes care of the rest of the parameters. The thing |
| 25029 | to be minimized would be the value of | 25029 | to be minimized would be the value of |
| 25030 | @texline @math{\chi^2} | 25030 | @texline @math{\chi^2} |
| 25031 | @infoline @expr{chi^2} | 25031 | @infoline @expr{chi^2} |
| 25032 | returned as the fifth result of the @code{xfit} function: | 25032 | returned as the fifth result of the @code{xfit} function: |
| 25033 | 25033 | ||
| 25034 | @smallexample | 25034 | @smallexample |
| @@ -25086,13 +25086,13 @@ of the sum of the squares of the errors. It then changes @expr{x} | |||
| 25086 | and @expr{y} to be plain numbers, and makes @expr{z} into an error | 25086 | and @expr{y} to be plain numbers, and makes @expr{z} into an error |
| 25087 | form with this combined error. The @expr{Y(x,y,z)} part of the | 25087 | form with this combined error. The @expr{Y(x,y,z)} part of the |
| 25088 | linearized model is evaluated, and the result should be an error | 25088 | linearized model is evaluated, and the result should be an error |
| 25089 | form. The error part of that result is used for | 25089 | form. The error part of that result is used for |
| 25090 | @texline @math{\sigma_i} | 25090 | @texline @math{\sigma_i} |
| 25091 | @infoline @expr{sigma_i} | 25091 | @infoline @expr{sigma_i} |
| 25092 | for the data point. If for some reason @expr{Y(x,y,z)} does not return | 25092 | for the data point. If for some reason @expr{Y(x,y,z)} does not return |
| 25093 | an error form, the combined error from @expr{z} is used directly for | 25093 | an error form, the combined error from @expr{z} is used directly for |
| 25094 | @texline @math{\sigma_i}. | 25094 | @texline @math{\sigma_i}. |
| 25095 | @infoline @expr{sigma_i}. | 25095 | @infoline @expr{sigma_i}. |
| 25096 | Finally, @expr{z} is also stripped of its error | 25096 | Finally, @expr{z} is also stripped of its error |
| 25097 | for use in computing @expr{F(x,y,z)}, @expr{G(x,y,z)} and so on; | 25097 | for use in computing @expr{F(x,y,z)}, @expr{G(x,y,z)} and so on; |
| 25098 | the righthand side of the linearized model is computed in regular | 25098 | the righthand side of the linearized model is computed in regular |
| @@ -25104,7 +25104,7 @@ depends only on the dependent variable @expr{z}, and in fact is | |||
| 25104 | often simply equal to @expr{z}. For common cases like polynomials | 25104 | often simply equal to @expr{z}. For common cases like polynomials |
| 25105 | and multilinear models, the combined error is simply used as the | 25105 | and multilinear models, the combined error is simply used as the |
| 25106 | @texline @math{\sigma} | 25106 | @texline @math{\sigma} |
| 25107 | @infoline @expr{sigma} | 25107 | @infoline @expr{sigma} |
| 25108 | for the data point with no further ado.) | 25108 | for the data point with no further ado.) |
| 25109 | 25109 | ||
| 25110 | @tex | 25110 | @tex |
| @@ -25481,7 +25481,7 @@ this would be a division by zero. But at @expr{k = k_0}, this | |||
| 25481 | formula works out to the indeterminate form @expr{0 / 0}, which | 25481 | formula works out to the indeterminate form @expr{0 / 0}, which |
| 25482 | Calc will not assume is zero. Better would be to use | 25482 | Calc will not assume is zero. Better would be to use |
| 25483 | @samp{(k != k_0) ? 1/(k-k_0) : 0}; the @samp{? :} operator does | 25483 | @samp{(k != k_0) ? 1/(k-k_0) : 0}; the @samp{? :} operator does |
| 25484 | an ``if-then-else'' test: This expression says, ``if | 25484 | an ``if-then-else'' test: This expression says, ``if |
| 25485 | @texline @math{k \ne k_0}, | 25485 | @texline @math{k \ne k_0}, |
| 25486 | @infoline @expr{k != k_0}, | 25486 | @infoline @expr{k != k_0}, |
| 25487 | then @expr{1/(k-k_0)}, else zero.'' Now the formula @expr{1/(k-k_0)} | 25487 | then @expr{1/(k-k_0)}, else zero.'' Now the formula @expr{1/(k-k_0)} |
| @@ -26496,16 +26496,16 @@ f(a b) := a f(b) :: real(a)]} is stored in variable @samp{linearF}, | |||
| 26496 | then the rule set @samp{[f(0) := 0, import(linearF)]} will apply | 26496 | then the rule set @samp{[f(0) := 0, import(linearF)]} will apply |
| 26497 | all three rules. It is possible to modify the imported rules | 26497 | all three rules. It is possible to modify the imported rules |
| 26498 | slightly: @samp{import(x, v1, x1, v2, x2, @dots{})} imports | 26498 | slightly: @samp{import(x, v1, x1, v2, x2, @dots{})} imports |
| 26499 | the rule set @expr{x} with all occurrences of | 26499 | the rule set @expr{x} with all occurrences of |
| 26500 | @texline @math{v_1}, | 26500 | @texline @math{v_1}, |
| 26501 | @infoline @expr{v1}, | 26501 | @infoline @expr{v1}, |
| 26502 | as either a variable name or a function name, replaced with | 26502 | as either a variable name or a function name, replaced with |
| 26503 | @texline @math{x_1} | 26503 | @texline @math{x_1} |
| 26504 | @infoline @expr{x1} | 26504 | @infoline @expr{x1} |
| 26505 | and so on. (If | 26505 | and so on. (If |
| 26506 | @texline @math{v_1} | 26506 | @texline @math{v_1} |
| 26507 | @infoline @expr{v1} | 26507 | @infoline @expr{v1} |
| 26508 | is used as a function name, then | 26508 | is used as a function name, then |
| 26509 | @texline @math{x_1} | 26509 | @texline @math{x_1} |
| 26510 | @infoline @expr{x1} | 26510 | @infoline @expr{x1} |
| 26511 | must be either a function name itself or a @w{@samp{< >}} nameless | 26511 | must be either a function name itself or a @w{@samp{< >}} nameless |
| @@ -27609,7 +27609,7 @@ the keyboard macro @kbd{' tri($) @key{RET}} to make a command that applies | |||
| 27609 | @code{tri} to the value on the top of the stack. @xref{Programming}. | 27609 | @code{tri} to the value on the top of the stack. @xref{Programming}. |
| 27610 | 27610 | ||
| 27611 | @cindex Quaternions | 27611 | @cindex Quaternions |
| 27612 | The following rule set, contributed by | 27612 | The following rule set, contributed by |
| 27613 | @texline Fran\c cois | 27613 | @texline Fran\c cois |
| 27614 | @infoline Francois | 27614 | @infoline Francois |
| 27615 | Pinard, implements @dfn{quaternions}, a generalization of the concept of | 27615 | Pinard, implements @dfn{quaternions}, a generalization of the concept of |
| @@ -27764,9 +27764,9 @@ equivalent temperature on the Fahrenheit scale. | |||
| 27764 | While many of Calc's conversion factors are exact, some are necessarily | 27764 | While many of Calc's conversion factors are exact, some are necessarily |
| 27765 | approximate. If Calc is in fraction mode (@pxref{Fraction Mode}), then | 27765 | approximate. If Calc is in fraction mode (@pxref{Fraction Mode}), then |
| 27766 | unit conversions will try to give exact, rational conversions, but it | 27766 | unit conversions will try to give exact, rational conversions, but it |
| 27767 | isn't always possible. Given @samp{55 mph} in fraction mode, typing | 27767 | isn't always possible. Given @samp{55 mph} in fraction mode, typing |
| 27768 | @kbd{u c m/s @key{RET}} produces @samp{15367:625 m/s}, for example, | 27768 | @kbd{u c m/s @key{RET}} produces @samp{15367:625 m/s}, for example, |
| 27769 | while typing @kbd{u c au/yr @key{RET}} produces | 27769 | while typing @kbd{u c au/yr @key{RET}} produces |
| 27770 | @samp{5.18665819999e-3 au/yr}. | 27770 | @samp{5.18665819999e-3 au/yr}. |
| 27771 | 27771 | ||
| 27772 | If the units you request are inconsistent with the original units, the | 27772 | If the units you request are inconsistent with the original units, the |
| @@ -27994,7 +27994,7 @@ defined by the @TeX{} typesetting system: @samp{72.27 texpt = 1 in}. | |||
| 27994 | Other units used by @TeX{} are available; they are @code{texpc} (a pica), | 27994 | Other units used by @TeX{} are available; they are @code{texpc} (a pica), |
| 27995 | @code{texbp} (a ``big point'', equal to a standard point which is larger | 27995 | @code{texbp} (a ``big point'', equal to a standard point which is larger |
| 27996 | than the point used by @TeX{}), @code{texdd} (a Didot point), | 27996 | than the point used by @TeX{}), @code{texdd} (a Didot point), |
| 27997 | @code{texcc} (a Cicero) and @code{texsp} (a scaled @TeX{} point, | 27997 | @code{texcc} (a Cicero) and @code{texsp} (a scaled @TeX{} point, |
| 27998 | all dimensions representable in @TeX{} are multiples of this value). | 27998 | all dimensions representable in @TeX{} are multiples of this value). |
| 27999 | 27999 | ||
| 28000 | When Calc is using the @TeX{} or La@TeX{} language mode (@pxref{TeX | 28000 | When Calc is using the @TeX{} or La@TeX{} language mode (@pxref{TeX |
| @@ -28131,17 +28131,17 @@ The units @code{dB} (decibels) and @code{Np} (nepers) are logarithmic | |||
| 28131 | units which are manipulated differently than standard units. Calc | 28131 | units which are manipulated differently than standard units. Calc |
| 28132 | provides commands to work with these logarithmic units. | 28132 | provides commands to work with these logarithmic units. |
| 28133 | 28133 | ||
| 28134 | Decibels and nepers are used to measure power quantities as well as | 28134 | Decibels and nepers are used to measure power quantities as well as |
| 28135 | field quantities (quantities whose squares are proportional to power); | 28135 | field quantities (quantities whose squares are proportional to power); |
| 28136 | these two types of quantities are handled slightly different from each | 28136 | these two types of quantities are handled slightly different from each |
| 28137 | other. By default the Calc commands work as if power quantities are | 28137 | other. By default the Calc commands work as if power quantities are |
| 28138 | being used; with the @kbd{H} prefix the Calc commands work as if field | 28138 | being used; with the @kbd{H} prefix the Calc commands work as if field |
| 28139 | quantities are being used. | 28139 | quantities are being used. |
| 28140 | 28140 | ||
| 28141 | The decibel level of a power | 28141 | The decibel level of a power |
| 28142 | @infoline @math{P1}, | 28142 | @infoline @math{P1}, |
| 28143 | @texline @math{P_1}, | 28143 | @texline @math{P_1}, |
| 28144 | relative to a reference power | 28144 | relative to a reference power |
| 28145 | @infoline @math{P0}, | 28145 | @infoline @math{P0}, |
| 28146 | @texline @math{P_0}, | 28146 | @texline @math{P_0}, |
| 28147 | is defined to be | 28147 | is defined to be |
| @@ -28151,10 +28151,10 @@ is defined to be | |||
| 28151 | one-tenth of a bel. The bel, named after Alexander Graham Bell, was | 28151 | one-tenth of a bel. The bel, named after Alexander Graham Bell, was |
| 28152 | considered to be too large of a unit and was effectively replaced by | 28152 | considered to be too large of a unit and was effectively replaced by |
| 28153 | the decibel.) If @math{F} is a field quantity with power | 28153 | the decibel.) If @math{F} is a field quantity with power |
| 28154 | @math{P=k F^2}, then a reference quantity of | 28154 | @math{P=k F^2}, then a reference quantity of |
| 28155 | @infoline @math{F0} | 28155 | @infoline @math{F0} |
| 28156 | @texline @math{F_0} | 28156 | @texline @math{F_0} |
| 28157 | would correspond to a power of | 28157 | would correspond to a power of |
| 28158 | @infoline @math{P0=k F0^2}. | 28158 | @infoline @math{P0=k F0^2}. |
| 28159 | @texline @math{P_{0}=kF_{0}^2}. | 28159 | @texline @math{P_{0}=kF_{0}^2}. |
| 28160 | If | 28160 | If |
| @@ -28163,7 +28163,7 @@ If | |||
| 28163 | then | 28163 | then |
| 28164 | 28164 | ||
| 28165 | @ifnottex | 28165 | @ifnottex |
| 28166 | @example | 28166 | @example |
| 28167 | 10 log10(P1/P0) = 10 log10(F1^2/F0^2) = 20 log10(F1/F0). | 28167 | 10 log10(P1/P0) = 10 log10(F1^2/F0^2) = 20 log10(F1/F0). |
| 28168 | @end example | 28168 | @end example |
| 28169 | @end ifnottex | 28169 | @end ifnottex |
| @@ -28175,42 +28175,42 @@ $$ 10 \log_{10}(P_1/P_0) = 10 \log_{10}(F_1^2/F_0^2) = 20 | |||
| 28175 | @noindent | 28175 | @noindent |
| 28176 | In order to get the same decibel level regardless of whether a field | 28176 | In order to get the same decibel level regardless of whether a field |
| 28177 | quantity or the corresponding power quantity is used, the decibel | 28177 | quantity or the corresponding power quantity is used, the decibel |
| 28178 | level of a field quantity | 28178 | level of a field quantity |
| 28179 | @infoline @math{F1}, | 28179 | @infoline @math{F1}, |
| 28180 | @texline @math{F_1}, | 28180 | @texline @math{F_1}, |
| 28181 | relative to a reference | 28181 | relative to a reference |
| 28182 | @infoline @math{F0}, | 28182 | @infoline @math{F0}, |
| 28183 | @texline @math{F_0}, | 28183 | @texline @math{F_0}, |
| 28184 | is defined as | 28184 | is defined as |
| 28185 | @infoline @math{20 log10(F1/F0) dB}. | 28185 | @infoline @math{20 log10(F1/F0) dB}. |
| 28186 | @texline @math{20 \log_{10}(F_{1}/F_{0}) {\rm dB}}. | 28186 | @texline @math{20 \log_{10}(F_{1}/F_{0}) {\rm dB}}. |
| 28187 | For example, the decibel value of a sound pressure level of | 28187 | For example, the decibel value of a sound pressure level of |
| 28188 | @infoline @math{60 uPa} | 28188 | @infoline @math{60 uPa} |
| 28189 | @texline @math{60 \mu{\rm Pa}} | 28189 | @texline @math{60 \mu{\rm Pa}} |
| 28190 | relative to | 28190 | relative to |
| 28191 | @infoline @math{20 uPa} | 28191 | @infoline @math{20 uPa} |
| 28192 | @texline @math{20 \mu{\rm Pa}} | 28192 | @texline @math{20 \mu{\rm Pa}} |
| 28193 | (the threshhold of human hearing) is | 28193 | (the threshold of human hearing) is |
| 28194 | @infoline @math{20 log10(60 uPa/ 20 uPa) dB = 20 log10(3) dB}, | 28194 | @infoline @math{20 log10(60 uPa/ 20 uPa) dB = 20 log10(3) dB}, |
| 28195 | @texline @math{20 \log_{10}(60 \mu{\rm Pa}/20 \mu{\rm Pa}) {\rm dB} = 20 \log_{10}(3) {\rm dB}}, | 28195 | @texline @math{20 \log_{10}(60 \mu{\rm Pa}/20 \mu{\rm Pa}) {\rm dB} = 20 \log_{10}(3) {\rm dB}}, |
| 28196 | which is about | 28196 | which is about |
| 28197 | @infoline @math{9.54 dB}. | 28197 | @infoline @math{9.54 dB}. |
| 28198 | @texline @math{9.54 {\rm dB}}. | 28198 | @texline @math{9.54 {\rm dB}}. |
| 28199 | Note that in taking the ratio, the original units cancel and so these | 28199 | Note that in taking the ratio, the original units cancel and so these |
| 28200 | logarithmic units are dimensionless. | 28200 | logarithmic units are dimensionless. |
| 28201 | 28201 | ||
| 28202 | Nepers (named after John Napier, who is credited with inventing the | 28202 | Nepers (named after John Napier, who is credited with inventing the |
| 28203 | logarithm) are similar to bels except they use natural logarithms instead | 28203 | logarithm) are similar to bels except they use natural logarithms instead |
| 28204 | of common logarithms. The neper level of a power | 28204 | of common logarithms. The neper level of a power |
| 28205 | @infoline @math{P1}, | 28205 | @infoline @math{P1}, |
| 28206 | @texline @math{P_1}, | 28206 | @texline @math{P_1}, |
| 28207 | relative to a reference power | 28207 | relative to a reference power |
| 28208 | @infoline @math{P0}, | 28208 | @infoline @math{P0}, |
| 28209 | @texline @math{P_0}, | 28209 | @texline @math{P_0}, |
| 28210 | is | 28210 | is |
| 28211 | @infoline @math{(1/2) ln(P1/P0) Np}. | 28211 | @infoline @math{(1/2) ln(P1/P0) Np}. |
| 28212 | @texline @math{(1/2) \ln(P_1/P_0) {\rm Np}}. | 28212 | @texline @math{(1/2) \ln(P_1/P_0) {\rm Np}}. |
| 28213 | The neper level of a field | 28213 | The neper level of a field |
| 28214 | @infoline @math{F1}, | 28214 | @infoline @math{F1}, |
| 28215 | @texline @math{F_1}, | 28215 | @texline @math{F_1}, |
| 28216 | relative to a reference field | 28216 | relative to a reference field |
| @@ -28223,13 +28223,13 @@ is | |||
| 28223 | @vindex calc-lu-power-reference | 28223 | @vindex calc-lu-power-reference |
| 28224 | @vindex calc-lu-field-reference | 28224 | @vindex calc-lu-field-reference |
| 28225 | For power quantities, Calc uses | 28225 | For power quantities, Calc uses |
| 28226 | @infoline @math{1 mW} | 28226 | @infoline @math{1 mW} |
| 28227 | @texline @math{1 {\rm mW}} | 28227 | @texline @math{1 {\rm mW}} |
| 28228 | as the default reference quantity; this default can be changed by changing | 28228 | as the default reference quantity; this default can be changed by changing |
| 28229 | the value of the customizable variable | 28229 | the value of the customizable variable |
| 28230 | @code{calc-lu-power-reference} (@pxref{Customizing Calc}). | 28230 | @code{calc-lu-power-reference} (@pxref{Customizing Calc}). |
| 28231 | For field quantities, Calc uses | 28231 | For field quantities, Calc uses |
| 28232 | @infoline @math{20 uPa} | 28232 | @infoline @math{20 uPa} |
| 28233 | @texline @math{20 \mu{\rm Pa}} | 28233 | @texline @math{20 \mu{\rm Pa}} |
| 28234 | as the default reference quantity; this is the value used in acoustics | 28234 | as the default reference quantity; this is the value used in acoustics |
| 28235 | which is where decibels are commonly encountered. This default can be | 28235 | which is where decibels are commonly encountered. This default can be |
| @@ -28247,9 +28247,9 @@ command computes the power quantity corresponding to a given number of | |||
| 28247 | logarithmic units. With the capital @kbd{O} prefix, @kbd{O l q}, the | 28247 | logarithmic units. With the capital @kbd{O} prefix, @kbd{O l q}, the |
| 28248 | reference level will be read from the top of the stack. (In an | 28248 | reference level will be read from the top of the stack. (In an |
| 28249 | algebraic formula, @code{lupquant} can be given an optional second | 28249 | algebraic formula, @code{lupquant} can be given an optional second |
| 28250 | argument which will be used for the reference level.) For example, | 28250 | argument which will be used for the reference level.) For example, |
| 28251 | @code{20 dB @key{RET} l q} will return @code{100 mW}; | 28251 | @code{20 dB @key{RET} l q} will return @code{100 mW}; |
| 28252 | @code{20 dB @key{RET} 4 W @key{RET} O l q} will return @code{400 W}. | 28252 | @code{20 dB @key{RET} 4 W @key{RET} O l q} will return @code{400 W}. |
| 28253 | The @kbd{H l q} [@code{lufquant}] command behaves like @kbd{l q} but | 28253 | The @kbd{H l q} [@code{lufquant}] command behaves like @kbd{l q} but |
| 28254 | computes field quantities instead of power quantities. | 28254 | computes field quantities instead of power quantities. |
| 28255 | 28255 | ||
| @@ -28288,13 +28288,13 @@ the reference level can be given as an optional second argument. | |||
| 28288 | @tindex lufdiv | 28288 | @tindex lufdiv |
| 28289 | The sum of two power or field quantities doesn't correspond to the sum | 28289 | The sum of two power or field quantities doesn't correspond to the sum |
| 28290 | of the corresponding decibel or neper levels. If the powers | 28290 | of the corresponding decibel or neper levels. If the powers |
| 28291 | corresponding to decibel levels | 28291 | corresponding to decibel levels |
| 28292 | @infoline @math{D1} | 28292 | @infoline @math{D1} |
| 28293 | @texline @math{D_1} | 28293 | @texline @math{D_1} |
| 28294 | and | 28294 | and |
| 28295 | @infoline @math{D2} | 28295 | @infoline @math{D2} |
| 28296 | @texline @math{D_2} | 28296 | @texline @math{D_2} |
| 28297 | are added, the corresponding decibel level ``sum'' will be | 28297 | are added, the corresponding decibel level ``sum'' will be |
| 28298 | 28298 | ||
| 28299 | @ifnottex | 28299 | @ifnottex |
| 28300 | @example | 28300 | @example |
| @@ -28338,7 +28338,7 @@ $$ D + 10 \log_{10}(N) {\rm dB},$$ | |||
| 28338 | 28338 | ||
| 28339 | @noindent | 28339 | @noindent |
| 28340 | if a field quantity is multiplied by @math{N} the corresponding decibel level | 28340 | if a field quantity is multiplied by @math{N} the corresponding decibel level |
| 28341 | will be | 28341 | will be |
| 28342 | 28342 | ||
| 28343 | @ifnottex | 28343 | @ifnottex |
| 28344 | @example | 28344 | @example |
| @@ -28375,31 +28375,31 @@ operating on notes. | |||
| 28375 | Scientific pitch notation refers to a note by giving a letter | 28375 | Scientific pitch notation refers to a note by giving a letter |
| 28376 | A through G, possibly followed by a flat or sharp) with a subscript | 28376 | A through G, possibly followed by a flat or sharp) with a subscript |
| 28377 | indicating an octave number. Each octave starts with C and ends with | 28377 | indicating an octave number. Each octave starts with C and ends with |
| 28378 | B and | 28378 | B and |
| 28379 | @c increasing each note by a semitone will result | 28379 | @c increasing each note by a semitone will result |
| 28380 | @c in the sequence @expr{C}, @expr{C} sharp, @expr{D}, @expr{E} flat, @expr{E}, | 28380 | @c in the sequence @expr{C}, @expr{C} sharp, @expr{D}, @expr{E} flat, @expr{E}, |
| 28381 | @c @expr{F}, @expr{F} sharp, @expr{G}, @expr{A} flat, @expr{A}, @expr{B} | 28381 | @c @expr{F}, @expr{F} sharp, @expr{G}, @expr{A} flat, @expr{A}, @expr{B} |
| 28382 | @c flat and @expr{B}. | 28382 | @c flat and @expr{B}. |
| 28383 | the octave numbered 0 was chosen to correspond to the lowest | 28383 | the octave numbered 0 was chosen to correspond to the lowest |
| 28384 | audible frequency. Using this system, middle C (about 261.625 Hz) | 28384 | audible frequency. Using this system, middle C (about 261.625 Hz) |
| 28385 | corresponds to the note @expr{C} in octave 4 and is denoted | 28385 | corresponds to the note @expr{C} in octave 4 and is denoted |
| 28386 | @expr{C_4}. Any frequency can be described by giving a note plus an | 28386 | @expr{C_4}. Any frequency can be described by giving a note plus an |
| 28387 | offset in cents (where a cent is a ratio of frequencies so that a | 28387 | offset in cents (where a cent is a ratio of frequencies so that a |
| 28388 | semitone consists of 100 cents). | 28388 | semitone consists of 100 cents). |
| 28389 | 28389 | ||
| 28390 | The midi note number system assigns numbers to notes so that | 28390 | The midi note number system assigns numbers to notes so that |
| 28391 | @expr{C_(-1)} corresponds to the midi note number 0 and @expr{G_9} | 28391 | @expr{C_(-1)} corresponds to the midi note number 0 and @expr{G_9} |
| 28392 | corresponds to the midi note number 127. A midi controller can have | 28392 | corresponds to the midi note number 127. A midi controller can have |
| 28393 | up to 128 keys and each midi note number from 0 to 127 corresponds to | 28393 | up to 128 keys and each midi note number from 0 to 127 corresponds to |
| 28394 | a possible key. | 28394 | a possible key. |
| 28395 | 28395 | ||
| 28396 | @kindex l s | 28396 | @kindex l s |
| 28397 | @pindex calc-spn | 28397 | @pindex calc-spn |
| 28398 | @tindex spn | 28398 | @tindex spn |
| 28399 | The @kbd{l s} (@code{calc-spn}) [@code{spn}] command converts either | 28399 | The @kbd{l s} (@code{calc-spn}) [@code{spn}] command converts either |
| 28400 | a frequency or a midi number to scientific pitch notation. For | 28400 | a frequency or a midi number to scientific pitch notation. For |
| 28401 | example, @code{500 Hz} gets converted to | 28401 | example, @code{500 Hz} gets converted to |
| 28402 | @code{B_4 + 21.3094853649 cents} and @code{84} to @code{C_6}. | 28402 | @code{B_4 + 21.3094853649 cents} and @code{84} to @code{C_6}. |
| 28403 | 28403 | ||
| 28404 | 28404 | ||
| 28405 | @kindex l m | 28405 | @kindex l m |
| @@ -28464,7 +28464,7 @@ The @kbd{s s} (@code{calc-store}) command stores the value at the top of | |||
| 28464 | the stack into a specified variable. It prompts you to enter the | 28464 | the stack into a specified variable. It prompts you to enter the |
| 28465 | name of the variable. If you press a single digit, the value is stored | 28465 | name of the variable. If you press a single digit, the value is stored |
| 28466 | immediately in one of the ``quick'' variables @code{q0} through | 28466 | immediately in one of the ``quick'' variables @code{q0} through |
| 28467 | @code{q9}. Or you can enter any variable name. | 28467 | @code{q9}. Or you can enter any variable name. |
| 28468 | 28468 | ||
| 28469 | @kindex s t | 28469 | @kindex s t |
| 28470 | @pindex calc-store-into | 28470 | @pindex calc-store-into |
| @@ -28554,12 +28554,12 @@ and @kbd{s ]} which decrease or increase a variable by one. | |||
| 28554 | All the arithmetic stores accept the Inverse prefix to reverse the | 28554 | All the arithmetic stores accept the Inverse prefix to reverse the |
| 28555 | order of the operands. If @expr{v} represents the contents of the | 28555 | order of the operands. If @expr{v} represents the contents of the |
| 28556 | variable, and @expr{a} is the value drawn from the stack, then regular | 28556 | variable, and @expr{a} is the value drawn from the stack, then regular |
| 28557 | @w{@kbd{s -}} assigns | 28557 | @w{@kbd{s -}} assigns |
| 28558 | @texline @math{v \coloneq v - a}, | 28558 | @texline @math{v \coloneq v - a}, |
| 28559 | @infoline @expr{v := v - a}, | 28559 | @infoline @expr{v := v - a}, |
| 28560 | but @kbd{I s -} assigns | 28560 | but @kbd{I s -} assigns |
| 28561 | @texline @math{v \coloneq a - v}. | 28561 | @texline @math{v \coloneq a - v}. |
| 28562 | @infoline @expr{v := a - v}. | 28562 | @infoline @expr{v := a - v}. |
| 28563 | While @kbd{I s *} might seem pointless, it is | 28563 | While @kbd{I s *} might seem pointless, it is |
| 28564 | useful if matrix multiplication is involved. Actually, all the | 28564 | useful if matrix multiplication is involved. Actually, all the |
| 28565 | arithmetic stores use formulas designed to behave usefully both | 28565 | arithmetic stores use formulas designed to behave usefully both |
| @@ -28668,7 +28668,7 @@ magic property is preserved, however, when a variable is copied with | |||
| 28668 | @kindex s k | 28668 | @kindex s k |
| 28669 | @pindex calc-copy-special-constant | 28669 | @pindex calc-copy-special-constant |
| 28670 | If one of the ``special constants'' is redefined (or undefined) so that | 28670 | If one of the ``special constants'' is redefined (or undefined) so that |
| 28671 | it no longer has its magic property, the property can be restored with | 28671 | it no longer has its magic property, the property can be restored with |
| 28672 | @kbd{s k} (@code{calc-copy-special-constant}). This command will prompt | 28672 | @kbd{s k} (@code{calc-copy-special-constant}). This command will prompt |
| 28673 | for a special constant and a variable to store it in, and so a special | 28673 | for a special constant and a variable to store it in, and so a special |
| 28674 | constant can be stored in any variable. Here, the special constant that | 28674 | constant can be stored in any variable. Here, the special constant that |
| @@ -28850,7 +28850,7 @@ explicitly naming them in an @kbd{s p} command.) | |||
| 28850 | The @kbd{s i} (@code{calc-insert-variables}) command writes | 28850 | The @kbd{s i} (@code{calc-insert-variables}) command writes |
| 28851 | the values of all Calc variables into a specified buffer. | 28851 | the values of all Calc variables into a specified buffer. |
| 28852 | The variables are written with the prefix @code{var-} in the form of | 28852 | The variables are written with the prefix @code{var-} in the form of |
| 28853 | Lisp @code{setq} commands | 28853 | Lisp @code{setq} commands |
| 28854 | which store the values in string form. You can place these commands | 28854 | which store the values in string form. You can place these commands |
| 28855 | in your Calc init file (or @file{.emacs}) if you wish, though in this case it | 28855 | in your Calc init file (or @file{.emacs}) if you wish, though in this case it |
| 28856 | would be easier to use @kbd{s p @key{RET}}. (Note that @kbd{s i} | 28856 | would be easier to use @kbd{s p @key{RET}}. (Note that @kbd{s i} |
| @@ -29159,9 +29159,9 @@ In the first case, ``x'' and ``y'' are each vectors (not necessarily of | |||
| 29159 | the same length); either or both may instead be interval forms. The | 29159 | the same length); either or both may instead be interval forms. The |
| 29160 | ``z'' value must be a matrix with the same number of rows as elements | 29160 | ``z'' value must be a matrix with the same number of rows as elements |
| 29161 | in ``x'', and the same number of columns as elements in ``y''. The | 29161 | in ``x'', and the same number of columns as elements in ``y''. The |
| 29162 | result is a surface plot where | 29162 | result is a surface plot where |
| 29163 | @texline @math{z_{ij}} | 29163 | @texline @math{z_{ij}} |
| 29164 | @infoline @expr{z_ij} | 29164 | @infoline @expr{z_ij} |
| 29165 | is the height of the point | 29165 | is the height of the point |
| 29166 | at coordinate @expr{(x_i, y_j)} on the surface. The 3D graph will | 29166 | at coordinate @expr{(x_i, y_j)} on the surface. The 3D graph will |
| 29167 | be displayed from a certain default viewpoint; you can change this | 29167 | be displayed from a certain default viewpoint; you can change this |
| @@ -29270,9 +29270,9 @@ that don't have common ``x'' values. (Of course, the range of ``x'' | |||
| 29270 | values covered by all the curves ought to be roughly the same if | 29270 | values covered by all the curves ought to be roughly the same if |
| 29271 | they are to look nice on the same graph.) | 29271 | they are to look nice on the same graph.) |
| 29272 | 29272 | ||
| 29273 | For example, to plot | 29273 | For example, to plot |
| 29274 | @texline @math{\sin n x} | 29274 | @texline @math{\sin n x} |
| 29275 | @infoline @expr{sin(n x)} | 29275 | @infoline @expr{sin(n x)} |
| 29276 | for integers @expr{n} | 29276 | for integers @expr{n} |
| 29277 | from 1 to 5, you could use @kbd{v x} to create a vector of integers | 29277 | from 1 to 5, you could use @kbd{v x} to create a vector of integers |
| 29278 | (@expr{n}), then @kbd{V M '} or @kbd{V M $} to map @samp{sin(n x)} | 29278 | (@expr{n}), then @kbd{V M '} or @kbd{V M $} to map @samp{sin(n x)} |
| @@ -29510,8 +29510,8 @@ available for any device. | |||
| 29510 | The @kbd{g S} (@code{calc-graph-point-style}) command similarly turns | 29510 | The @kbd{g S} (@code{calc-graph-point-style}) command similarly turns |
| 29511 | the symbols at the data points on or off, or sets the point style. | 29511 | the symbols at the data points on or off, or sets the point style. |
| 29512 | If you turn both lines and points off, the data points will show as | 29512 | If you turn both lines and points off, the data points will show as |
| 29513 | tiny dots. If the ``y'' values being plotted contain error forms and | 29513 | tiny dots. If the ``y'' values being plotted contain error forms and |
| 29514 | the connecting lines are turned off, then this command will also turn | 29514 | the connecting lines are turned off, then this command will also turn |
| 29515 | the error bars on or off. | 29515 | the error bars on or off. |
| 29516 | 29516 | ||
| 29517 | @cindex @code{LineStyles} variable | 29517 | @cindex @code{LineStyles} variable |
| @@ -29563,7 +29563,7 @@ terminals with no special graphics facilities. It writes a crude | |||
| 29563 | picture of the graph composed of characters like @code{-} and @code{|} | 29563 | picture of the graph composed of characters like @code{-} and @code{|} |
| 29564 | to a buffer called @samp{*Gnuplot Trail*}, which Calc then displays. | 29564 | to a buffer called @samp{*Gnuplot Trail*}, which Calc then displays. |
| 29565 | The graph is made the same size as the Emacs screen, which on most | 29565 | The graph is made the same size as the Emacs screen, which on most |
| 29566 | dumb terminals will be | 29566 | dumb terminals will be |
| 29567 | @texline @math{80\times24} | 29567 | @texline @math{80\times24} |
| 29568 | @infoline 80x24 | 29568 | @infoline 80x24 |
| 29569 | characters. The graph is displayed in | 29569 | characters. The graph is displayed in |
| @@ -29820,7 +29820,7 @@ difference.) | |||
| 29820 | @pindex calc-prepend-to-register | 29820 | @pindex calc-prepend-to-register |
| 29821 | @pindex calc-append-to-register | 29821 | @pindex calc-append-to-register |
| 29822 | @cindex Registers | 29822 | @cindex Registers |
| 29823 | An alternative to killing and yanking stack entries is using | 29823 | An alternative to killing and yanking stack entries is using |
| 29824 | registers in Calc. Saving stack entries in registers is like | 29824 | registers in Calc. Saving stack entries in registers is like |
| 29825 | saving text in normal Emacs registers; although, like Calc's kill | 29825 | saving text in normal Emacs registers; although, like Calc's kill |
| 29826 | commands, register commands always operate on whole stack | 29826 | commands, register commands always operate on whole stack |
| @@ -29935,7 +29935,7 @@ separately as a matrix element. If a line contained | |||
| 29935 | would correctly split the line into two error forms. | 29935 | would correctly split the line into two error forms. |
| 29936 | 29936 | ||
| 29937 | @xref{Matrix Functions}, to see how to pull the matrix apart into its | 29937 | @xref{Matrix Functions}, to see how to pull the matrix apart into its |
| 29938 | constituent rows and columns. (If it is a | 29938 | constituent rows and columns. (If it is a |
| 29939 | @texline @math{1\times1} | 29939 | @texline @math{1\times1} |
| 29940 | @infoline 1x1 | 29940 | @infoline 1x1 |
| 29941 | matrix, just hit @kbd{v u} (@code{calc-unpack}) twice.) | 29941 | matrix, just hit @kbd{v u} (@code{calc-unpack}) twice.) |
| @@ -30273,7 +30273,7 @@ same limit as last time. | |||
| 30273 | 30273 | ||
| 30274 | @key{INV GCD} computes the LCM (least common multiple) function. | 30274 | @key{INV GCD} computes the LCM (least common multiple) function. |
| 30275 | 30275 | ||
| 30276 | @key{INV FACT} is the gamma function. | 30276 | @key{INV FACT} is the gamma function. |
| 30277 | @texline @math{\Gamma(x) = (x-1)!}. | 30277 | @texline @math{\Gamma(x) = (x-1)!}. |
| 30278 | @infoline @expr{gamma(x) = (x-1)!}. | 30278 | @infoline @expr{gamma(x) = (x-1)!}. |
| 30279 | 30279 | ||
| @@ -30490,7 +30490,7 @@ Similarly, Calc will use @TeX{} language for @code{tex-mode}, | |||
| 30490 | @code{plain-tex-mode} and @code{context-mode}, C language for | 30490 | @code{plain-tex-mode} and @code{context-mode}, C language for |
| 30491 | @code{c-mode} and @code{c++-mode}, FORTRAN language for | 30491 | @code{c-mode} and @code{c++-mode}, FORTRAN language for |
| 30492 | @code{fortran-mode} and @code{f90-mode}, Pascal for @code{pascal-mode}, | 30492 | @code{fortran-mode} and @code{f90-mode}, Pascal for @code{pascal-mode}, |
| 30493 | and eqn for @code{nroff-mode} (@pxref{Customizing Calc}). | 30493 | and eqn for @code{nroff-mode} (@pxref{Customizing Calc}). |
| 30494 | These can be overridden with Calc's mode | 30494 | These can be overridden with Calc's mode |
| 30495 | changing commands (@pxref{Mode Settings in Embedded Mode}). If no | 30495 | changing commands (@pxref{Mode Settings in Embedded Mode}). If no |
| 30496 | suitable language is available, Calc will continue with its current language. | 30496 | suitable language is available, Calc will continue with its current language. |
| @@ -30670,13 +30670,13 @@ version. | |||
| 30670 | 30670 | ||
| 30671 | Plain formulas are preceded and followed by @samp{%%%} signs | 30671 | Plain formulas are preceded and followed by @samp{%%%} signs |
| 30672 | by default. This notation has the advantage that the @samp{%} | 30672 | by default. This notation has the advantage that the @samp{%} |
| 30673 | character begins a comment in @TeX{} and La@TeX{}, so if your formula is | 30673 | character begins a comment in @TeX{} and La@TeX{}, so if your formula is |
| 30674 | embedded in a @TeX{} or La@TeX{} document its plain version will be | 30674 | embedded in a @TeX{} or La@TeX{} document its plain version will be |
| 30675 | invisible in the final printed copy. Certain major modes have different | 30675 | invisible in the final printed copy. Certain major modes have different |
| 30676 | delimiters to ensure that the ``plain'' version will be | 30676 | delimiters to ensure that the ``plain'' version will be |
| 30677 | in a comment for those modes, also. | 30677 | in a comment for those modes, also. |
| 30678 | See @ref{Customizing Embedded Mode} to see how to change the ``plain'' | 30678 | See @ref{Customizing Embedded Mode} to see how to change the ``plain'' |
| 30679 | formula delimiters. | 30679 | formula delimiters. |
| 30680 | 30680 | ||
| 30681 | There are several notations which Calc's parser for ``big'' | 30681 | There are several notations which Calc's parser for ``big'' |
| 30682 | formatted formulas can't yet recognize. In particular, it can't | 30682 | formatted formulas can't yet recognize. In particular, it can't |
| @@ -31178,7 +31178,7 @@ We would have to go down to the other formula and press @kbd{C-x * u} | |||
| 31178 | on it in order to get it to notice the new annotation. | 31178 | on it in order to get it to notice the new annotation. |
| 31179 | 31179 | ||
| 31180 | Two more mode-recording modes selectable by @kbd{m R} are available | 31180 | Two more mode-recording modes selectable by @kbd{m R} are available |
| 31181 | which are also available outside of Embedded mode. | 31181 | which are also available outside of Embedded mode. |
| 31182 | (@pxref{General Mode Commands}.) They are @code{Save}, in which mode | 31182 | (@pxref{General Mode Commands}.) They are @code{Save}, in which mode |
| 31183 | settings are recorded permanently in your Calc init file (the file given | 31183 | settings are recorded permanently in your Calc init file (the file given |
| 31184 | by the variable @code{calc-settings-file}, typically @file{~/.emacs.d/calc.el}) | 31184 | by the variable @code{calc-settings-file}, typically @file{~/.emacs.d/calc.el}) |
| @@ -31195,11 +31195,11 @@ for @code{Save} have no effect. | |||
| 31195 | 31195 | ||
| 31196 | @noindent | 31196 | @noindent |
| 31197 | You can modify Embedded mode's behavior by setting various Lisp | 31197 | You can modify Embedded mode's behavior by setting various Lisp |
| 31198 | variables described here. These variables are customizable | 31198 | variables described here. These variables are customizable |
| 31199 | (@pxref{Customizing Calc}), or you can use @kbd{M-x set-variable} | 31199 | (@pxref{Customizing Calc}), or you can use @kbd{M-x set-variable} |
| 31200 | or @kbd{M-x edit-options} to adjust a variable on the fly. | 31200 | or @kbd{M-x edit-options} to adjust a variable on the fly. |
| 31201 | (Another possibility would be to use a file-local variable annotation at | 31201 | (Another possibility would be to use a file-local variable annotation at |
| 31202 | the end of the file; | 31202 | the end of the file; |
| 31203 | @pxref{File Variables, , Local Variables in Files, emacs, the Emacs manual}.) | 31203 | @pxref{File Variables, , Local Variables in Files, emacs, the Emacs manual}.) |
| 31204 | Many of the variables given mentioned here can be set to depend on the | 31204 | Many of the variables given mentioned here can be set to depend on the |
| 31205 | major mode of the editing buffer (@pxref{Customizing Calc}). | 31205 | major mode of the editing buffer (@pxref{Customizing Calc}). |
| @@ -31334,7 +31334,7 @@ Calc never scans for this string; Calc always looks for the | |||
| 31334 | annotation itself. But this is the string that is inserted before | 31334 | annotation itself. But this is the string that is inserted before |
| 31335 | the opening bracket when Calc adds an annotation on its own. | 31335 | the opening bracket when Calc adds an annotation on its own. |
| 31336 | The default is @code{"% "}, but may be different for different major | 31336 | The default is @code{"% "}, but may be different for different major |
| 31337 | modes. | 31337 | modes. |
| 31338 | 31338 | ||
| 31339 | @vindex calc-embedded-close-mode | 31339 | @vindex calc-embedded-close-mode |
| 31340 | The @code{calc-embedded-close-mode} variable is a string which | 31340 | The @code{calc-embedded-close-mode} variable is a string which |
| @@ -31459,7 +31459,7 @@ without its key binding, type @kbd{M-x} and enter a function name. (The | |||
| 31459 | (If the command you give implies a function, the function will be saved, | 31459 | (If the command you give implies a function, the function will be saved, |
| 31460 | and if the function has any display formats, those will be saved, but | 31460 | and if the function has any display formats, those will be saved, but |
| 31461 | not the other way around: Saving a function will not save any commands | 31461 | not the other way around: Saving a function will not save any commands |
| 31462 | or key bindings associated with the function.) | 31462 | or key bindings associated with the function.) |
| 31463 | 31463 | ||
| 31464 | @kindex Z E | 31464 | @kindex Z E |
| 31465 | @pindex calc-user-define-edit | 31465 | @pindex calc-user-define-edit |
| @@ -31542,7 +31542,7 @@ Once you have bound your keyboard macro to a key, you can use | |||
| 31542 | @cindex Keyboard macros, editing | 31542 | @cindex Keyboard macros, editing |
| 31543 | The @kbd{Z E} (@code{calc-user-define-edit}) command on a key that has | 31543 | The @kbd{Z E} (@code{calc-user-define-edit}) command on a key that has |
| 31544 | been defined by a keyboard macro tries to use the @code{edmacro} package | 31544 | been defined by a keyboard macro tries to use the @code{edmacro} package |
| 31545 | edit the macro. Type @kbd{C-c C-c} to finish editing and update | 31545 | edit the macro. Type @kbd{C-c C-c} to finish editing and update |
| 31546 | the definition stored on the key, or, to cancel the edit, kill the | 31546 | the definition stored on the key, or, to cancel the edit, kill the |
| 31547 | buffer with @kbd{C-x k}. | 31547 | buffer with @kbd{C-x k}. |
| 31548 | The special characters @code{RET}, @code{LFD}, @code{TAB}, @code{SPC}, | 31548 | The special characters @code{RET}, @code{LFD}, @code{TAB}, @code{SPC}, |
| @@ -31552,7 +31552,7 @@ sequences, written in all uppercase, as must the prefixes @code{C-} and | |||
| 31552 | copied verbatim into the keyboard macro. Basically, the notation is the | 31552 | copied verbatim into the keyboard macro. Basically, the notation is the |
| 31553 | same as is used in all of this manual's examples, except that the manual | 31553 | same as is used in all of this manual's examples, except that the manual |
| 31554 | takes some liberties with spaces: When we say @kbd{' [1 2 3] @key{RET}}, | 31554 | takes some liberties with spaces: When we say @kbd{' [1 2 3] @key{RET}}, |
| 31555 | we take it for granted that it is clear we really mean | 31555 | we take it for granted that it is clear we really mean |
| 31556 | @kbd{' [1 @key{SPC} 2 @key{SPC} 3] @key{RET}}. | 31556 | @kbd{' [1 @key{SPC} 2 @key{SPC} 3] @key{RET}}. |
| 31557 | 31557 | ||
| 31558 | @kindex C-x * m | 31558 | @kindex C-x * m |
| @@ -31823,7 +31823,7 @@ prompt for the @kbd{Z #} command; it will not play any role in any | |||
| 31823 | subsequent calculations.) This command allows your keyboard macros to | 31823 | subsequent calculations.) This command allows your keyboard macros to |
| 31824 | accept numbers or formulas as interactive input. | 31824 | accept numbers or formulas as interactive input. |
| 31825 | 31825 | ||
| 31826 | As an example, | 31826 | As an example, |
| 31827 | @kbd{2 @key{RET} "Power: " @key{RET} Z # 3 @key{RET} ^} will prompt for | 31827 | @kbd{2 @key{RET} "Power: " @key{RET} Z # 3 @key{RET} ^} will prompt for |
| 31828 | input with ``Power: '' in the minibuffer, then return 2 to the provided | 31828 | input with ``Power: '' in the minibuffer, then return 2 to the provided |
| 31829 | power. (The response to the prompt that's given, 3 in this example, | 31829 | power. (The response to the prompt that's given, 3 in this example, |
| @@ -31900,7 +31900,7 @@ The third prompt is for an algebraic function name. The default is to | |||
| 31900 | use the same name as the command name but without the @samp{calc-} | 31900 | use the same name as the command name but without the @samp{calc-} |
| 31901 | prefix. (If this is of the form @samp{User-m}, the hyphen is removed so | 31901 | prefix. (If this is of the form @samp{User-m}, the hyphen is removed so |
| 31902 | it won't be taken for a minus sign in algebraic formulas.) | 31902 | it won't be taken for a minus sign in algebraic formulas.) |
| 31903 | This is the name you will use if you want to enter your | 31903 | This is the name you will use if you want to enter your |
| 31904 | new function in an algebraic formula. Suppose we enter @kbd{yow @key{RET}}. | 31904 | new function in an algebraic formula. Suppose we enter @kbd{yow @key{RET}}. |
| 31905 | Then the new function can be invoked by pushing two numbers on the | 31905 | Then the new function can be invoked by pushing two numbers on the |
| 31906 | stack and typing @kbd{z m} or @kbd{x spam}, or by entering the algebraic | 31906 | stack and typing @kbd{z m} or @kbd{x spam}, or by entering the algebraic |
| @@ -32695,7 +32695,7 @@ same thing with a single division by 512. | |||
| 32695 | @end ignore | 32695 | @end ignore |
| 32696 | @tindex mysin | 32696 | @tindex mysin |
| 32697 | A somewhat limited sine function could be defined as follows, using the | 32697 | A somewhat limited sine function could be defined as follows, using the |
| 32698 | well-known Taylor series expansion for | 32698 | well-known Taylor series expansion for |
| 32699 | @texline @math{\sin x}: | 32699 | @texline @math{\sin x}: |
| 32700 | @infoline @samp{sin(x)}: | 32700 | @infoline @samp{sin(x)}: |
| 32701 | 32701 | ||
| @@ -35241,7 +35241,7 @@ to use a different prefix, you can put | |||
| 35241 | @end example | 35241 | @end example |
| 35242 | 35242 | ||
| 35243 | @noindent | 35243 | @noindent |
| 35244 | in your .emacs file. | 35244 | in your .emacs file. |
| 35245 | (@xref{Key Bindings,,Customizing Key Bindings,emacs, | 35245 | (@xref{Key Bindings,,Customizing Key Bindings,emacs, |
| 35246 | The GNU Emacs Manual}, for more information on binding keys.) | 35246 | The GNU Emacs Manual}, for more information on binding keys.) |
| 35247 | A convenient way to start Calc is with @kbd{C-x * *}; to make it equally | 35247 | A convenient way to start Calc is with @kbd{C-x * *}; to make it equally |
| @@ -35269,7 +35269,7 @@ to see how regular expressions work. | |||
| 35269 | @defvar calc-settings-file | 35269 | @defvar calc-settings-file |
| 35270 | The variable @code{calc-settings-file} holds the file name in | 35270 | The variable @code{calc-settings-file} holds the file name in |
| 35271 | which commands like @kbd{m m} and @kbd{Z P} store ``permanent'' | 35271 | which commands like @kbd{m m} and @kbd{Z P} store ``permanent'' |
| 35272 | definitions. | 35272 | definitions. |
| 35273 | If @code{calc-settings-file} is not your user init file (typically | 35273 | If @code{calc-settings-file} is not your user init file (typically |
| 35274 | @file{~/.emacs}) and if the variable @code{calc-loaded-settings-file} is | 35274 | @file{~/.emacs}) and if the variable @code{calc-loaded-settings-file} is |
| 35275 | @code{nil}, then Calc will automatically load your settings file (if it | 35275 | @code{nil}, then Calc will automatically load your settings file (if it |
| @@ -35314,7 +35314,7 @@ enabled, it will try to use the current major mode to | |||
| 35314 | determine what language should be used. (This can be overridden using | 35314 | determine what language should be used. (This can be overridden using |
| 35315 | Calc's mode changing commands, @xref{Mode Settings in Embedded Mode}.) | 35315 | Calc's mode changing commands, @xref{Mode Settings in Embedded Mode}.) |
| 35316 | The variable @code{calc-language-alist} consists of a list of pairs of | 35316 | The variable @code{calc-language-alist} consists of a list of pairs of |
| 35317 | the form @code{(@var{MAJOR-MODE} . @var{LANGUAGE})}; for example, | 35317 | the form @code{(@var{MAJOR-MODE} . @var{LANGUAGE})}; for example, |
| 35318 | @code{(latex-mode . latex)} is one such pair. If Calc embedded is | 35318 | @code{(latex-mode . latex)} is one such pair. If Calc embedded is |
| 35319 | activated in a buffer whose major mode is @var{MAJOR-MODE}, it will set itself | 35319 | activated in a buffer whose major mode is @var{MAJOR-MODE}, it will set itself |
| 35320 | to use the language @var{LANGUAGE}. | 35320 | to use the language @var{LANGUAGE}. |
| @@ -35342,7 +35342,7 @@ what formulas @kbd{C-x * a} will activate in a buffer. It is a | |||
| 35342 | regular expression, and when activating embedded formulas with | 35342 | regular expression, and when activating embedded formulas with |
| 35343 | @kbd{C-x * a}, it will tell Calc that what follows is a formula to be | 35343 | @kbd{C-x * a}, it will tell Calc that what follows is a formula to be |
| 35344 | activated. (Calc also uses other patterns to find formulas, such as | 35344 | activated. (Calc also uses other patterns to find formulas, such as |
| 35345 | @samp{=>} and @samp{:=}.) | 35345 | @samp{=>} and @samp{:=}.) |
| 35346 | 35346 | ||
| 35347 | The default pattern is @code{"%Embed\n\\(% .*\n\\)*"}, which checks | 35347 | The default pattern is @code{"%Embed\n\\(% .*\n\\)*"}, which checks |
| 35348 | for @samp{%Embed} followed by any number of lines beginning with | 35348 | for @samp{%Embed} followed by any number of lines beginning with |
| @@ -35367,7 +35367,7 @@ It consists of a list of pairs of the form @code{(@var{MAJOR-MODE} . | |||
| 35367 | (texinfo-mode . "@@c Embed\n\\(@@c .*\n\\)*")) | 35367 | (texinfo-mode . "@@c Embed\n\\(@@c .*\n\\)*")) |
| 35368 | @end example | 35368 | @end example |
| 35369 | Any major modes added to @code{calc-embedded-announce-formula-alist} | 35369 | Any major modes added to @code{calc-embedded-announce-formula-alist} |
| 35370 | should also be added to @code{calc-embedded-open-close-plain-alist} | 35370 | should also be added to @code{calc-embedded-open-close-plain-alist} |
| 35371 | and @code{calc-embedded-open-close-mode-alist}. | 35371 | and @code{calc-embedded-open-close-mode-alist}. |
| 35372 | @end defvar | 35372 | @end defvar |
| 35373 | 35373 | ||
| @@ -35378,7 +35378,7 @@ See @ref{Customizing Embedded Mode}.@* | |||
| 35378 | The variables @code{calc-embedded-open-formula} and | 35378 | The variables @code{calc-embedded-open-formula} and |
| 35379 | @code{calc-embedded-close-formula} control the region that Calc will | 35379 | @code{calc-embedded-close-formula} control the region that Calc will |
| 35380 | activate as a formula when Embedded mode is entered with @kbd{C-x * e}. | 35380 | activate as a formula when Embedded mode is entered with @kbd{C-x * e}. |
| 35381 | They are regular expressions; | 35381 | They are regular expressions; |
| 35382 | Calc normally scans backward and forward in the buffer for the | 35382 | Calc normally scans backward and forward in the buffer for the |
| 35383 | nearest text matching these regular expressions to be the ``formula | 35383 | nearest text matching these regular expressions to be the ``formula |
| 35384 | delimiters''. | 35384 | delimiters''. |
| @@ -35403,7 +35403,7 @@ The variable @code{calc-embedded-open-close-formula-alist} is used to | |||
| 35403 | set @code{calc-embedded-open-formula} and | 35403 | set @code{calc-embedded-open-formula} and |
| 35404 | @code{calc-embedded-close-formula} to different regular | 35404 | @code{calc-embedded-close-formula} to different regular |
| 35405 | expressions depending on the major mode of the editing buffer. | 35405 | expressions depending on the major mode of the editing buffer. |
| 35406 | It consists of a list of lists of the form | 35406 | It consists of a list of lists of the form |
| 35407 | @code{(@var{MAJOR-MODE} @var{OPEN-FORMULA-REGEXP} | 35407 | @code{(@var{MAJOR-MODE} @var{OPEN-FORMULA-REGEXP} |
| 35408 | @var{CLOSE-FORMULA-REGEXP})}, and its default value is | 35408 | @var{CLOSE-FORMULA-REGEXP})}, and its default value is |
| 35409 | @code{nil}. | 35409 | @code{nil}. |
| @@ -35422,7 +35422,7 @@ The default value of @code{calc-embedded-word-regexp} is | |||
| 35422 | The variable @code{calc-embedded-word-regexp-alist} is used to | 35422 | The variable @code{calc-embedded-word-regexp-alist} is used to |
| 35423 | set @code{calc-embedded-word-regexp} to a different regular | 35423 | set @code{calc-embedded-word-regexp} to a different regular |
| 35424 | expression depending on the major mode of the editing buffer. | 35424 | expression depending on the major mode of the editing buffer. |
| 35425 | It consists of a list of lists of the form | 35425 | It consists of a list of lists of the form |
| 35426 | @code{(@var{MAJOR-MODE} @var{WORD-REGEXP})}, and its default value is | 35426 | @code{(@var{MAJOR-MODE} @var{WORD-REGEXP})}, and its default value is |
| 35427 | @code{nil}. | 35427 | @code{nil}. |
| 35428 | @end defvar | 35428 | @end defvar |
| @@ -35437,8 +35437,8 @@ formulas. Note that these are actual strings, not regular | |||
| 35437 | expressions, because Calc must be able to write these string into a | 35437 | expressions, because Calc must be able to write these string into a |
| 35438 | buffer as well as to recognize them. | 35438 | buffer as well as to recognize them. |
| 35439 | 35439 | ||
| 35440 | The default string for @code{calc-embedded-open-plain} is | 35440 | The default string for @code{calc-embedded-open-plain} is |
| 35441 | @code{"%%% "}, note the trailing space. The default string for | 35441 | @code{"%%% "}, note the trailing space. The default string for |
| 35442 | @code{calc-embedded-close-plain} is @code{" %%%\n"}, without | 35442 | @code{calc-embedded-close-plain} is @code{" %%%\n"}, without |
| 35443 | the trailing newline here, the first line of a Big mode formula | 35443 | the trailing newline here, the first line of a Big mode formula |
| 35444 | that followed might be shifted over with respect to the other lines. | 35444 | that followed might be shifted over with respect to the other lines. |
| @@ -35447,7 +35447,7 @@ The variable @code{calc-embedded-open-close-plain-alist} is used to | |||
| 35447 | set @code{calc-embedded-open-plain} and | 35447 | set @code{calc-embedded-open-plain} and |
| 35448 | @code{calc-embedded-close-plain} to different strings | 35448 | @code{calc-embedded-close-plain} to different strings |
| 35449 | depending on the major mode of the editing buffer. | 35449 | depending on the major mode of the editing buffer. |
| 35450 | It consists of a list of lists of the form | 35450 | It consists of a list of lists of the form |
| 35451 | @code{(@var{MAJOR-MODE} @var{OPEN-PLAIN-STRING} | 35451 | @code{(@var{MAJOR-MODE} @var{OPEN-PLAIN-STRING} |
| 35452 | @var{CLOSE-PLAIN-STRING})}, and its default value is | 35452 | @var{CLOSE-PLAIN-STRING})}, and its default value is |
| 35453 | @example | 35453 | @example |
| @@ -35490,7 +35490,7 @@ The variable @code{calc-embedded-open-close-new-formula-alist} is used to | |||
| 35490 | set @code{calc-embedded-open-new-formula} and | 35490 | set @code{calc-embedded-open-new-formula} and |
| 35491 | @code{calc-embedded-close-new-formula} to different strings | 35491 | @code{calc-embedded-close-new-formula} to different strings |
| 35492 | depending on the major mode of the editing buffer. | 35492 | depending on the major mode of the editing buffer. |
| 35493 | It consists of a list of lists of the form | 35493 | It consists of a list of lists of the form |
| 35494 | @code{(@var{MAJOR-MODE} @var{OPEN-NEW-FORMULA-STRING} | 35494 | @code{(@var{MAJOR-MODE} @var{OPEN-NEW-FORMULA-STRING} |
| 35495 | @var{CLOSE-NEW-FORMULA-STRING})}, and its default value is | 35495 | @var{CLOSE-NEW-FORMULA-STRING})}, and its default value is |
| 35496 | @code{nil}. | 35496 | @code{nil}. |
| @@ -35508,7 +35508,7 @@ necessary to add them to user-written annotations. | |||
| 35508 | 35508 | ||
| 35509 | The default value of @code{calc-embedded-open-mode} is @code{"% "} | 35509 | The default value of @code{calc-embedded-open-mode} is @code{"% "} |
| 35510 | and the default value of @code{calc-embedded-close-mode} is | 35510 | and the default value of @code{calc-embedded-close-mode} is |
| 35511 | @code{"\n"}. | 35511 | @code{"\n"}. |
| 35512 | If you change the value of @code{calc-embedded-close-mode}, it is a good | 35512 | If you change the value of @code{calc-embedded-close-mode}, it is a good |
| 35513 | idea still to end with a newline so that mode annotations will appear on | 35513 | idea still to end with a newline so that mode annotations will appear on |
| 35514 | lines by themselves. | 35514 | lines by themselves. |
| @@ -35517,7 +35517,7 @@ The variable @code{calc-embedded-open-close-mode-alist} is used to | |||
| 35517 | set @code{calc-embedded-open-mode} and | 35517 | set @code{calc-embedded-open-mode} and |
| 35518 | @code{calc-embedded-close-mode} to different strings | 35518 | @code{calc-embedded-close-mode} to different strings |
| 35519 | expressions depending on the major mode of the editing buffer. | 35519 | expressions depending on the major mode of the editing buffer. |
| 35520 | It consists of a list of lists of the form | 35520 | It consists of a list of lists of the form |
| 35521 | @code{(@var{MAJOR-MODE} @var{OPEN-MODE-STRING} | 35521 | @code{(@var{MAJOR-MODE} @var{OPEN-MODE-STRING} |
| 35522 | @var{CLOSE-MODE-STRING})}, and its default value is | 35522 | @var{CLOSE-MODE-STRING})}, and its default value is |
| 35523 | @example | 35523 | @example |
| @@ -35548,7 +35548,7 @@ units. | |||
| 35548 | 35548 | ||
| 35549 | The default value of @code{calc-lu-power-reference} is @code{"mW"} | 35549 | The default value of @code{calc-lu-power-reference} is @code{"mW"} |
| 35550 | and the default value of @code{calc-lu-field-reference} is | 35550 | and the default value of @code{calc-lu-field-reference} is |
| 35551 | @code{"20 uPa"}. | 35551 | @code{"20 uPa"}. |
| 35552 | @end defvar | 35552 | @end defvar |
| 35553 | 35553 | ||
| 35554 | @defvar calc-note-threshold | 35554 | @defvar calc-note-threshold |
| @@ -35564,15 +35564,15 @@ The default value of @code{calc-note-threshold} is 1. | |||
| 35564 | @defvarx calc-selected-face | 35564 | @defvarx calc-selected-face |
| 35565 | @defvarx calc-nonselected-face | 35565 | @defvarx calc-nonselected-face |
| 35566 | See @ref{Displaying Selections}.@* | 35566 | See @ref{Displaying Selections}.@* |
| 35567 | The variable @code{calc-highlight-selections-with-faces} | 35567 | The variable @code{calc-highlight-selections-with-faces} |
| 35568 | determines how selected sub-formulas are distinguished. | 35568 | determines how selected sub-formulas are distinguished. |
| 35569 | If @code{calc-highlight-selections-with-faces} is nil, then | 35569 | If @code{calc-highlight-selections-with-faces} is nil, then |
| 35570 | a selected sub-formula is distinguished either by changing every | 35570 | a selected sub-formula is distinguished either by changing every |
| 35571 | character not part of the sub-formula with a dot or by changing every | 35571 | character not part of the sub-formula with a dot or by changing every |
| 35572 | character in the sub-formula with a @samp{#} sign. | 35572 | character in the sub-formula with a @samp{#} sign. |
| 35573 | If @code{calc-highlight-selections-with-faces} is t, | 35573 | If @code{calc-highlight-selections-with-faces} is t, |
| 35574 | then a selected sub-formula is distinguished either by displaying the | 35574 | then a selected sub-formula is distinguished either by displaying the |
| 35575 | non-selected portion of the formula with @code{calc-nonselected-face} | 35575 | non-selected portion of the formula with @code{calc-nonselected-face} |
| 35576 | or by displaying the selected sub-formula with | 35576 | or by displaying the selected sub-formula with |
| 35577 | @code{calc-nonselected-face}. | 35577 | @code{calc-nonselected-face}. |
| 35578 | @end defvar | 35578 | @end defvar |
| @@ -36651,9 +36651,9 @@ input data set. Each entry may be a single value or a vector of values. | |||
| 36651 | 36651 | ||
| 36652 | @c 20 | 36652 | @c 20 |
| 36653 | @item | 36653 | @item |
| 36654 | With a prefix argument of 1, take a single | 36654 | With a prefix argument of 1, take a single |
| 36655 | @texline @var{n}@math{\times2} | 36655 | @texline @var{n}@math{\times2} |
| 36656 | @infoline @mathit{@var{N}x2} | 36656 | @infoline @mathit{@var{N}x2} |
| 36657 | matrix from the stack instead of two separate data vectors. | 36657 | matrix from the stack instead of two separate data vectors. |
| 36658 | 36658 | ||
| 36659 | @c 21 | 36659 | @c 21 |
| @@ -36754,7 +36754,7 @@ Variable name may be a single digit or a full name. | |||
| 36754 | 36754 | ||
| 36755 | @c 30 | 36755 | @c 30 |
| 36756 | @item | 36756 | @item |
| 36757 | Editing occurs in a separate buffer. Press @kbd{C-c C-c} (or | 36757 | Editing occurs in a separate buffer. Press @kbd{C-c C-c} (or |
| 36758 | @key{LFD}, or in some cases @key{RET}) to finish the edit, or kill the | 36758 | @key{LFD}, or in some cases @key{RET}) to finish the edit, or kill the |
| 36759 | buffer with @kbd{C-x k} to cancel the edit. The @key{LFD} key prevents evaluation | 36759 | buffer with @kbd{C-x k} to cancel the edit. The @key{LFD} key prevents evaluation |
| 36760 | of the result of the edit. | 36760 | of the result of the edit. |
| @@ -36854,7 +36854,7 @@ to evaluate variables. | |||
| 36854 | @item | 36854 | @item |
| 36855 | The variable is replaced by the formula shown on the right. The | 36855 | The variable is replaced by the formula shown on the right. The |
| 36856 | Inverse flag reverses the order of the operands, e.g., @kbd{I s - x} | 36856 | Inverse flag reverses the order of the operands, e.g., @kbd{I s - x} |
| 36857 | assigns | 36857 | assigns |
| 36858 | @texline @math{x \coloneq a-x}. | 36858 | @texline @math{x \coloneq a-x}. |
| 36859 | @infoline @expr{x := a-x}. | 36859 | @infoline @expr{x := a-x}. |
| 36860 | 36860 | ||
diff --git a/doc/misc/cc-mode.texi b/doc/misc/cc-mode.texi index 55c2c4c0ae8..d5f403e5cdb 100644 --- a/doc/misc/cc-mode.texi +++ b/doc/misc/cc-mode.texi | |||
| @@ -912,7 +912,7 @@ construct, should the point start inside it. If @ccmode fails to find | |||
| 912 | function beginnings or ends inside the current declaration scope, it | 912 | function beginnings or ends inside the current declaration scope, it |
| 913 | will search the enclosing scopes. If you want @ccmode to recognize | 913 | will search the enclosing scopes. If you want @ccmode to recognize |
| 914 | functions only at the top level@footnote{this was @ccmode{}'s | 914 | functions only at the top level@footnote{this was @ccmode{}'s |
| 915 | behavior prior to version 5.32.}, set @code{c-defun-tatic} to | 915 | behavior prior to version 5.32.}, set @code{c-defun-tactic} to |
| 916 | @code{t}. | 916 | @code{t}. |
| 917 | 917 | ||
| 918 | These functions are analogous to the Emacs built-in commands | 918 | These functions are analogous to the Emacs built-in commands |
diff --git a/doc/misc/dbus.texi b/doc/misc/dbus.texi index 79c7ada3b0b..88b068ccd5b 100644 --- a/doc/misc/dbus.texi +++ b/doc/misc/dbus.texi | |||
| @@ -332,7 +332,7 @@ Example: | |||
| 332 | @code{method}, @code{signal}, and @code{property} elements. Unlike | 332 | @code{method}, @code{signal}, and @code{property} elements. Unlike |
| 333 | properties, which can change their values during lifetime of a D-Bus | 333 | properties, which can change their values during lifetime of a D-Bus |
| 334 | object, annotations are static. Often they are used for code | 334 | object, annotations are static. Often they are used for code |
| 335 | generators of D-Bus langugae bindings. Example: | 335 | generators of D-Bus language bindings. Example: |
| 336 | 336 | ||
| 337 | @example | 337 | @example |
| 338 | <annotation name="de.berlios.Pinot.GetStatistics" value="pinotDBus"/> | 338 | <annotation name="de.berlios.Pinot.GetStatistics" value="pinotDBus"/> |
diff --git a/doc/misc/dired-x.texi b/doc/misc/dired-x.texi index 99530e6356d..a026c63e25b 100644 --- a/doc/misc/dired-x.texi +++ b/doc/misc/dired-x.texi | |||
| @@ -476,7 +476,7 @@ in your @code{dired-mode-hook}. | |||
| 476 | This Dired-X feature is obsolete as of Emacs 24.1. The standard Emacs | 476 | This Dired-X feature is obsolete as of Emacs 24.1. The standard Emacs |
| 477 | directory local variables mechanism (@pxref{Directory | 477 | directory local variables mechanism (@pxref{Directory |
| 478 | Variables,,,emacs,The Gnu Emacs manual}) replaces it. For an example of | 478 | Variables,,,emacs,The Gnu Emacs manual}) replaces it. For an example of |
| 479 | the new mechanims, @pxref{Omitting Variables}. | 479 | the new mechanisms, @pxref{Omitting Variables}. |
| 480 | 480 | ||
| 481 | When Dired visits a directory, it looks for a file whose name is the | 481 | When Dired visits a directory, it looks for a file whose name is the |
| 482 | value of variable @code{dired-local-variables-file} (default: @file{.dired}). | 482 | value of variable @code{dired-local-variables-file} (default: @file{.dired}). |
diff --git a/doc/misc/ede.texi b/doc/misc/ede.texi index 55dc7f9a822..f8d757c2d87 100644 --- a/doc/misc/ede.texi +++ b/doc/misc/ede.texi | |||
| @@ -3526,7 +3526,7 @@ use the same autoconf form. | |||
| 3526 | @item :objectextention | 3526 | @item :objectextention |
| 3527 | Type: @code{string} | 3527 | Type: @code{string} |
| 3528 | 3528 | ||
| 3529 | A string which is the extention used for object files. | 3529 | A string which is the extension used for object files. |
| 3530 | For example, C code uses .o on unix, and Emacs Lisp uses .elc. | 3530 | For example, C code uses .o on unix, and Emacs Lisp uses .elc. |
| 3531 | @refill | 3531 | @refill |
| 3532 | 3532 | ||
| @@ -3634,7 +3634,7 @@ it's rule definition. | |||
| 3634 | @item :objectextention | 3634 | @item :objectextention |
| 3635 | Type: @code{string} | 3635 | Type: @code{string} |
| 3636 | 3636 | ||
| 3637 | A string which is the extention used for object files. | 3637 | A string which is the extension used for object files. |
| 3638 | For example, C code uses .o on unix, and Emacs Lisp uses .elc. | 3638 | For example, C code uses .o on unix, and Emacs Lisp uses .elc. |
| 3639 | @refill | 3639 | @refill |
| 3640 | 3640 | ||
| @@ -3782,7 +3782,7 @@ it's rule definition. | |||
| 3782 | @item :objectextention | 3782 | @item :objectextention |
| 3783 | Type: @code{string} | 3783 | Type: @code{string} |
| 3784 | 3784 | ||
| 3785 | A string which is the extention used for object files. | 3785 | A string which is the extension used for object files. |
| 3786 | For example, C code uses .o on unix, and Emacs Lisp uses .elc. | 3786 | For example, C code uses .o on unix, and Emacs Lisp uses .elc. |
| 3787 | @refill | 3787 | @refill |
| 3788 | 3788 | ||
diff --git a/doc/misc/eieio.texi b/doc/misc/eieio.texi index 8ee40288fe0..7b4945027d3 100644 --- a/doc/misc/eieio.texi +++ b/doc/misc/eieio.texi | |||
| @@ -1212,9 +1212,9 @@ This method does nothing by default, but that may change in the future. | |||
| 1212 | This would be the best way to make your objects persistent when using | 1212 | This would be the best way to make your objects persistent when using |
| 1213 | in-place editing. | 1213 | in-place editing. |
| 1214 | 1214 | ||
| 1215 | @section Widget extention | 1215 | @section Widget extension |
| 1216 | 1216 | ||
| 1217 | When widgets are being created, one new widget extention has been added, | 1217 | When widgets are being created, one new widget extension has been added, |
| 1218 | called the @code{:slotofchoices}. When this occurs in a widget | 1218 | called the @code{:slotofchoices}. When this occurs in a widget |
| 1219 | definition, all elements after it are removed, and the slot is specifies | 1219 | definition, all elements after it are removed, and the slot is specifies |
| 1220 | is queried and converted into a series of constants. | 1220 | is queried and converted into a series of constants. |
diff --git a/doc/misc/eshell.texi b/doc/misc/eshell.texi index d2705155887..b0090f0fb84 100644 --- a/doc/misc/eshell.texi +++ b/doc/misc/eshell.texi | |||
| @@ -61,7 +61,7 @@ developing GNU and promoting software freedom.'' | |||
| 61 | @node Top, What is Eshell?, (dir), (dir) | 61 | @node Top, What is Eshell?, (dir), (dir) |
| 62 | @top Eshell | 62 | @top Eshell |
| 63 | 63 | ||
| 64 | Eshell is a shell-like command interpretor | 64 | Eshell is a shell-like command interpreter |
| 65 | implemented in Emacs Lisp. It invokes no external processes except for | 65 | implemented in Emacs Lisp. It invokes no external processes except for |
| 66 | those requested by the user. It is intended to be a functional | 66 | those requested by the user. It is intended to be a functional |
| 67 | replacement for command shells such as @command{bash}, @command{zsh}, | 67 | replacement for command shells such as @command{bash}, @command{zsh}, |
diff --git a/doc/misc/faq.texi b/doc/misc/faq.texi index 262c3d734fe..15c9232d4b6 100644 --- a/doc/misc/faq.texi +++ b/doc/misc/faq.texi | |||
| @@ -627,7 +627,7 @@ translations of the reference card into several languages; look for | |||
| 627 | files named @file{etc/refcards/@var{lang}-refcard.*}, where @var{lang} | 627 | files named @file{etc/refcards/@var{lang}-refcard.*}, where @var{lang} |
| 628 | is a two-letter code of the language. For example, the German version | 628 | is a two-letter code of the language. For example, the German version |
| 629 | of the reference card is in the files @file{etc/refcards/de-refcard.tex} | 629 | of the reference card is in the files @file{etc/refcards/de-refcard.tex} |
| 630 | and @file{etc/recards/de-refcard.pdf}. | 630 | and @file{etc/refcards/de-refcard.pdf}. |
| 631 | 631 | ||
| 632 | @item | 632 | @item |
| 633 | There are many other commands in Emacs for getting help and | 633 | There are many other commands in Emacs for getting help and |
diff --git a/doc/misc/gnus-coding.texi b/doc/misc/gnus-coding.texi index ab9c0232d3d..a79c68f0123 100644 --- a/doc/misc/gnus-coding.texi +++ b/doc/misc/gnus-coding.texi | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | \input texinfo | 1 | \input texinfo |
| 2 | 2 | ||
| 3 | @setfilename gnus-coding | 3 | @setfilename gnus-coding |
| 4 | @settitle Gnus Coding Style and Maintainance Guide | 4 | @settitle Gnus Coding Style and Maintenance Guide |
| 5 | @syncodeindex fn cp | 5 | @syncodeindex fn cp |
| 6 | @syncodeindex vr cp | 6 | @syncodeindex vr cp |
| 7 | @syncodeindex pg cp | 7 | @syncodeindex pg cp |
| @@ -45,7 +45,7 @@ license to the document, as described in section 6 of the license. | |||
| 45 | 45 | ||
| 46 | @ifnottex | 46 | @ifnottex |
| 47 | @node Top | 47 | @node Top |
| 48 | @top Gnus Coding Style and Maintainance Guide | 48 | @top Gnus Coding Style and Maintenance Guide |
| 49 | This manual describes @dots{} | 49 | This manual describes @dots{} |
| 50 | 50 | ||
| 51 | @insertcopying | 51 | @insertcopying |
| @@ -53,7 +53,7 @@ This manual describes @dots{} | |||
| 53 | 53 | ||
| 54 | @menu | 54 | @menu |
| 55 | * Gnus Coding Style:: Gnus Coding Style | 55 | * Gnus Coding Style:: Gnus Coding Style |
| 56 | * Gnus Maintainance Guide:: Gnus Maintainance Guide | 56 | * Gnus Maintenance Guide:: Gnus Maintenance Guide |
| 57 | @end menu | 57 | @end menu |
| 58 | 58 | ||
| 59 | @c @ref{Gnus Reference Guide, ,Gnus Reference Guide, gnus, The Gnus Newsreader} | 59 | @c @ref{Gnus Reference Guide, ,Gnus Reference Guide, gnus, The Gnus Newsreader} |
| @@ -250,8 +250,8 @@ Emacs 20.7 and up. | |||
| 250 | XEmacs 21.1 and up. | 250 | XEmacs 21.1 and up. |
| 251 | @end itemize | 251 | @end itemize |
| 252 | 252 | ||
| 253 | @node Gnus Maintainance Guide | 253 | @node Gnus Maintenance Guide |
| 254 | @chapter Gnus Maintainance Guide | 254 | @chapter Gnus Maintenance Guide |
| 255 | 255 | ||
| 256 | @section Stable and development versions | 256 | @section Stable and development versions |
| 257 | 257 | ||
diff --git a/doc/misc/gnus-news.texi b/doc/misc/gnus-news.texi index 62c1663508b..612ea14e2cf 100644 --- a/doc/misc/gnus-news.texi +++ b/doc/misc/gnus-news.texi | |||
| @@ -107,7 +107,7 @@ EasyPG is included in Emacs 23 and available separately as well. | |||
| 107 | @itemize @bullet | 107 | @itemize @bullet |
| 108 | 108 | ||
| 109 | @item | 109 | @item |
| 110 | Symbols like @code{gcc-self} now has the same presedence rules in | 110 | Symbols like @code{gcc-self} now have the same precedence rules in |
| 111 | @code{gnus-parameters} as other ``real'' variables: The last match | 111 | @code{gnus-parameters} as other ``real'' variables: The last match |
| 112 | wins instead of the first match. | 112 | wins instead of the first match. |
| 113 | 113 | ||
diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi index a3a93c6ef61..f099dfd36d0 100644 --- a/doc/misc/gnus.texi +++ b/doc/misc/gnus.texi | |||
| @@ -4491,23 +4491,6 @@ news. | |||
| 4491 | @table @kbd | 4491 | @table @kbd |
| 4492 | 4492 | ||
| 4493 | 4493 | ||
| 4494 | @item H f | ||
| 4495 | @kindex H f (Group) | ||
| 4496 | @findex gnus-group-fetch-faq | ||
| 4497 | @vindex gnus-group-faq-directory | ||
| 4498 | @cindex FAQ | ||
| 4499 | @cindex ange-ftp | ||
| 4500 | Try to fetch the @acronym{FAQ} for the current group | ||
| 4501 | (@code{gnus-group-fetch-faq}). Gnus will try to get the @acronym{FAQ} | ||
| 4502 | from @code{gnus-group-faq-directory}, which is usually a directory on | ||
| 4503 | a remote machine. This variable can also be a list of directories. | ||
| 4504 | In that case, giving a prefix to this command will allow you to choose | ||
| 4505 | between the various sites. @code{ange-ftp} (or @code{efs}) will be | ||
| 4506 | used for fetching the file. | ||
| 4507 | |||
| 4508 | If fetching from the first site is unsuccessful, Gnus will attempt to go | ||
| 4509 | through @code{gnus-group-faq-directory} and try to open them one by one. | ||
| 4510 | |||
| 4511 | @item H d | 4494 | @item H d |
| 4512 | @itemx C-c C-d | 4495 | @itemx C-c C-d |
| 4513 | @c @icon{gnus-group-describe-group} | 4496 | @c @icon{gnus-group-describe-group} |
| @@ -8992,7 +8975,7 @@ apostrophe or quotation mark, then try this wash. | |||
| 8992 | Translate many non-@acronym{ASCII} characters into their | 8975 | Translate many non-@acronym{ASCII} characters into their |
| 8993 | @acronym{ASCII} equivalents (@code{gnus-article-treat-non-ascii}). | 8976 | @acronym{ASCII} equivalents (@code{gnus-article-treat-non-ascii}). |
| 8994 | This is mostly useful if you're on a terminal that has a limited font | 8977 | This is mostly useful if you're on a terminal that has a limited font |
| 8995 | and does't show accented characters, ``advanced'' punctuation, and the | 8978 | and doesn't show accented characters, ``advanced'' punctuation, and the |
| 8996 | like. For instance, @samp{»} is tranlated into @samp{>>}, and so on. | 8979 | like. For instance, @samp{»} is tranlated into @samp{>>}, and so on. |
| 8997 | 8980 | ||
| 8998 | @item W Y f | 8981 | @item W Y f |
| @@ -21228,7 +21211,7 @@ features (inspired by the Google search input language): | |||
| 21228 | AND, OR, and NOT are supported, and parentheses can be used to control | 21211 | AND, OR, and NOT are supported, and parentheses can be used to control |
| 21229 | operator precedence, e.g. (emacs OR xemacs) AND linux. Note that | 21212 | operator precedence, e.g. (emacs OR xemacs) AND linux. Note that |
| 21230 | operators must be written with all capital letters to be | 21213 | operators must be written with all capital letters to be |
| 21231 | recognised. Also preceding a term with a - sign is equivalent to NOT | 21214 | recognized. Also preceding a term with a - sign is equivalent to NOT |
| 21232 | term. | 21215 | term. |
| 21233 | 21216 | ||
| 21234 | @item Automatic AND queries | 21217 | @item Automatic AND queries |
| @@ -21273,7 +21256,7 @@ Gmane queries follow a simple query language: | |||
| 21273 | AND, OR, NOT (or AND NOT), and XOR are supported, and brackets can be | 21256 | AND, OR, NOT (or AND NOT), and XOR are supported, and brackets can be |
| 21274 | used to control operator precedence, e.g. (emacs OR xemacs) AND linux. | 21257 | used to control operator precedence, e.g. (emacs OR xemacs) AND linux. |
| 21275 | Note that operators must be written with all capital letters to be | 21258 | Note that operators must be written with all capital letters to be |
| 21276 | recognised. | 21259 | recognized. |
| 21277 | 21260 | ||
| 21278 | @item Required and excluded terms | 21261 | @item Required and excluded terms |
| 21279 | + and - can be used to require or exclude terms, e.g. football -american | 21262 | + and - can be used to require or exclude terms, e.g. football -american |
| @@ -25471,7 +25454,7 @@ Write @code{spam-check-blackbox} if Blackbox can check incoming mail. | |||
| 25471 | 25454 | ||
| 25472 | Write @code{spam-blackbox-register-routine} and | 25455 | Write @code{spam-blackbox-register-routine} and |
| 25473 | @code{spam-blackbox-unregister-routine} using the bogofilter | 25456 | @code{spam-blackbox-unregister-routine} using the bogofilter |
| 25474 | register/unregister routines as a start, or other restister/unregister | 25457 | register/unregister routines as a start, or other register/unregister |
| 25475 | routines more appropriate to Blackbox, if Blackbox can | 25458 | routines more appropriate to Blackbox, if Blackbox can |
| 25476 | register/unregister spam and ham. | 25459 | register/unregister spam and ham. |
| 25477 | 25460 | ||
| @@ -30030,7 +30013,7 @@ this: | |||
| 30030 | @subsection Score File Syntax | 30013 | @subsection Score File Syntax |
| 30031 | 30014 | ||
| 30032 | Score files are meant to be easily parseable, but yet extremely | 30015 | Score files are meant to be easily parseable, but yet extremely |
| 30033 | mallable. It was decided that something that had the same read syntax | 30016 | malleable. It was decided that something that had the same read syntax |
| 30034 | as an Emacs Lisp list would fit that spec. | 30017 | as an Emacs Lisp list would fit that spec. |
| 30035 | 30018 | ||
| 30036 | Here's a typical score file: | 30019 | Here's a typical score file: |
diff --git a/doc/misc/message.texi b/doc/misc/message.texi index 48d0028e452..4d828f69bbd 100644 --- a/doc/misc/message.texi +++ b/doc/misc/message.texi | |||
| @@ -2120,7 +2120,7 @@ follows this line--} by default. | |||
| 2120 | 2120 | ||
| 2121 | @item message-directory | 2121 | @item message-directory |
| 2122 | @vindex message-directory | 2122 | @vindex message-directory |
| 2123 | Directory used by many mailey things. The default is @file{~/Mail/}. | 2123 | Directory used by many mailish things. The default is @file{~/Mail/}. |
| 2124 | All other mail file variables are derived from @code{message-directory}. | 2124 | All other mail file variables are derived from @code{message-directory}. |
| 2125 | 2125 | ||
| 2126 | @item message-auto-save-directory | 2126 | @item message-auto-save-directory |
diff --git a/doc/misc/org.texi b/doc/misc/org.texi index cc925906c28..34a4ba4f8f3 100644 --- a/doc/misc/org.texi +++ b/doc/misc/org.texi | |||
| @@ -15533,7 +15533,7 @@ chapter about publishing. | |||
| 15533 | @i{Jambunathan K} contributed the OpenDocumentText exporter. | 15533 | @i{Jambunathan K} contributed the OpenDocumentText exporter. |
| 15534 | @item | 15534 | @item |
| 15535 | @i{Sebastien Vauban} reported many issues with LaTeX and BEAMER export and | 15535 | @i{Sebastien Vauban} reported many issues with LaTeX and BEAMER export and |
| 15536 | enabled source code highlighling in Gnus. | 15536 | enabled source code highlighting in Gnus. |
| 15537 | @item | 15537 | @item |
| 15538 | @i{Stefan Vollmar} organized a video-recorded talk at the | 15538 | @i{Stefan Vollmar} organized a video-recorded talk at the |
| 15539 | Max-Planck-Institute for Neurology. He also inspired the creation of a | 15539 | Max-Planck-Institute for Neurology. He also inspired the creation of a |
diff --git a/doc/misc/sem-user.texi b/doc/misc/sem-user.texi index 7a363523aa6..28d1cdb6eb8 100644 --- a/doc/misc/sem-user.texi +++ b/doc/misc/sem-user.texi | |||
| @@ -880,7 +880,7 @@ command, like this: | |||
| 880 | @end example | 880 | @end example |
| 881 | @end defun | 881 | @end defun |
| 882 | 882 | ||
| 883 | These commands are often more accurate than than the @code{find-tag} | 883 | These commands are often more accurate than the @code{find-tag} |
| 884 | command (@pxref{Tags,,,emacs,Emacs manual}), because the Semantic | 884 | command (@pxref{Tags,,,emacs,Emacs manual}), because the Semantic |
| 885 | Analyzer is context-sensitive. | 885 | Analyzer is context-sensitive. |
| 886 | 886 | ||
diff --git a/doc/misc/semantic.texi b/doc/misc/semantic.texi index ad6159feb1a..55b60937fb6 100644 --- a/doc/misc/semantic.texi +++ b/doc/misc/semantic.texi | |||
| @@ -421,7 +421,7 @@ local variables, and tag lists in scope for various reasons, such as | |||
| 421 | C++ using statements. | 421 | C++ using statements. |
| 422 | 422 | ||
| 423 | @item semanticdb-typecache.el | 423 | @item semanticdb-typecache.el |
| 424 | The typecache is part of @code{semanticdb}, but is used primarilly by | 424 | The typecache is part of @code{semanticdb}, but is used primarily by |
| 425 | the analyzer to look up datatypes and complex names. The typecache is | 425 | the analyzer to look up datatypes and complex names. The typecache is |
| 426 | bound across source files and builds a master lookup table for data | 426 | bound across source files and builds a master lookup table for data |
| 427 | type names. | 427 | type names. |
diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi index 0accc6fac43..e6b0f4fa235 100644 --- a/doc/misc/tramp.texi +++ b/doc/misc/tramp.texi | |||
| @@ -3180,7 +3180,7 @@ names: | |||
| 3180 | '("^/xy" . "@trampfn{ssh, news, news.my.domain, /opt/news/etc/}")) | 3180 | '("^/xy" . "@trampfn{ssh, news, news.my.domain, /opt/news/etc/}")) |
| 3181 | @end lisp | 3181 | @end lisp |
| 3182 | 3182 | ||
| 3183 | This shortens the file openening command to @kbd{C-x C-f /xy | 3183 | This shortens the file opening command to @kbd{C-x C-f /xy |
| 3184 | @key{RET}}. The disadvantage is, again, that you cannot edit the file | 3184 | @key{RET}}. The disadvantage is, again, that you cannot edit the file |
| 3185 | name, because the expansion happens after entering the file name only. | 3185 | name, because the expansion happens after entering the file name only. |
| 3186 | 3186 | ||
diff --git a/etc/ChangeLog b/etc/ChangeLog index 1db595b3175..64479f7987f 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | 2011-11-20 Bill Wohler <wohler@newt.com> | ||
| 2 | |||
| 3 | Release MH-E version 8.3.1. | ||
| 4 | |||
| 5 | * NEWS, MH-E-NEWS: Update for MH-E release 8.3.1. | ||
| 6 | |||
| 1 | 2011-11-14 Juanma Barranquero <lekktu@gmail.com> | 7 | 2011-11-14 Juanma Barranquero <lekktu@gmail.com> |
| 2 | 8 | ||
| 3 | * MAILINGLISTS: Fix typo. | 9 | * MAILINGLISTS: Fix typo. |
| @@ -1413,7 +1419,7 @@ | |||
| 1413 | 1419 | ||
| 1414 | 2008-02-01 Kenichi Handa <handa@m17n.org> | 1420 | 2008-02-01 Kenichi Handa <handa@m17n.org> |
| 1415 | 1421 | ||
| 1416 | * HELLO: Remove non-unicode character from Tibetan text. | 1422 | * HELLO: Remove non-Unicode character from Tibetan text. |
| 1417 | 1423 | ||
| 1418 | 2008-02-01 Miles Bader <miles@gnu.org> | 1424 | 2008-02-01 Miles Bader <miles@gnu.org> |
| 1419 | 1425 | ||
| @@ -4107,7 +4113,7 @@ | |||
| 4107 | 4113 | ||
| 4108 | 2002-02-01 ShengHuo ZHU <zsh@cs.rochester.edu> | 4114 | 2002-02-01 ShengHuo ZHU <zsh@cs.rochester.edu> |
| 4109 | 4115 | ||
| 4110 | * gnus.xpm: Remove garbages. | 4116 | * gnus.xpm: Remove garbage. |
| 4111 | 4117 | ||
| 4112 | 2002-01-27 Pavel JanÃk <Pavel@Janik.cz> | 4118 | 2002-01-27 Pavel JanÃk <Pavel@Janik.cz> |
| 4113 | 4119 | ||
diff --git a/etc/ERC-NEWS b/etc/ERC-NEWS index 04084b58488..14d2a22e9f9 100644 --- a/etc/ERC-NEWS +++ b/etc/ERC-NEWS | |||
| @@ -1279,7 +1279,7 @@ in XEmacs. | |||
| 1279 | ** The module system has again changed a lot. You can now customize | 1279 | ** The module system has again changed a lot. You can now customize |
| 1280 | the variable `erc-modules' and define once and for all which | 1280 | the variable `erc-modules' and define once and for all which |
| 1281 | extension modules you want to use. This unfortunately may require | 1281 | extension modules you want to use. This unfortunately may require |
| 1282 | you to change your current erc initialisation code a bit, if you | 1282 | you to change your current erc initialization code a bit, if you |
| 1283 | have some existing customizations. On the other hand, this change | 1283 | have some existing customizations. On the other hand, this change |
| 1284 | makes the configuration of extension modules a lot easier for new | 1284 | makes the configuration of extension modules a lot easier for new |
| 1285 | users. In theory, you should be able to configure all aspects of | 1285 | users. In theory, you should be able to configure all aspects of |
diff --git a/etc/MH-E-NEWS b/etc/MH-E-NEWS index 2e93b5c3f42..4ab75dcfc45 100644 --- a/etc/MH-E-NEWS +++ b/etc/MH-E-NEWS | |||
| @@ -3,6 +3,11 @@ | |||
| 3 | Copyright (C) 2001-2011 Free Software Foundation, Inc. | 3 | Copyright (C) 2001-2011 Free Software Foundation, Inc. |
| 4 | See the end of the file for license conditions. | 4 | See the end of the file for license conditions. |
| 5 | 5 | ||
| 6 | * Changes in MH-E 8.3.1 | ||
| 7 | |||
| 8 | This version of MH-E fixes typos in the documentation and is packaged | ||
| 9 | with GNU Emacs 24.1 | ||
| 10 | |||
| 6 | * Changes in MH-E 8.3 | 11 | * Changes in MH-E 8.3 |
| 7 | 12 | ||
| 8 | In 2010, the version control system (VCS) of Emacs was upgraded from | 13 | In 2010, the version control system (VCS) of Emacs was upgraded from |
| @@ -27,8 +32,6 @@ from SourceForge and explicitly load MH-E will have to be change their | |||
| 27 | `load-path' to "/path/to/mh-e/emacs/trunk/lisp/mh-e" instead. Note the | 32 | `load-path' to "/path/to/mh-e/emacs/trunk/lisp/mh-e" instead. Note the |
| 28 | addition of "trunk." | 33 | addition of "trunk." |
| 29 | 34 | ||
| 30 | This version of MH-E is packaged with GNU Emacs 24.1 | ||
| 31 | |||
| 32 | ** Bug Fixes in MH-E 8.3 | 35 | ** Bug Fixes in MH-E 8.3 |
| 33 | 36 | ||
| 34 | *** Make mh-showing a legitimate minor mode | 37 | *** Make mh-showing a legitimate minor mode |
| @@ -2666,7 +2669,7 @@ consistent mnemonics were realized that should make it easier to | |||
| 2666 | remember key bindings. | 2669 | remember key bindings. |
| 2667 | 2670 | ||
| 2668 | Added new sub-keymaps for folder commands, sequence commands, | 2671 | Added new sub-keymaps for folder commands, sequence commands, |
| 2669 | extraction commands, and digest commands which begin with with F, S, | 2672 | extraction commands, and digest commands which begin with F, S, |
| 2670 | X, and D, respectively. These sub-keymaps allowed some consistency | 2673 | X, and D, respectively. These sub-keymaps allowed some consistency |
| 2671 | (e.g., especially with l(ist) and k(ill)). | 2674 | (e.g., especially with l(ist) and k(ill)). |
| 2672 | 2675 | ||
| @@ -147,7 +147,7 @@ then the equivalent line in ~/.authinfo would be | |||
| 147 | 147 | ||
| 148 | **** The variable `smtpmail-starttls-credentials' has been removed. | 148 | **** The variable `smtpmail-starttls-credentials' has been removed. |
| 149 | 149 | ||
| 150 | If you had that set, then then you need to put | 150 | If you had that set, then you need to put |
| 151 | 151 | ||
| 152 | machine smtp.whatever.foo port 25 key "~/.my_smtp_tls.key" cert "~/.my_smtp_tls.cert" | 152 | machine smtp.whatever.foo port 25 key "~/.my_smtp_tls.key" cert "~/.my_smtp_tls.cert" |
| 153 | 153 | ||
| @@ -417,7 +417,7 @@ of the window will resize all windows in the same combination as well. | |||
| 417 | 417 | ||
| 418 | +++ | 418 | +++ |
| 419 | *** New commands `maximize-window' and `minimize-window'. | 419 | *** New commands `maximize-window' and `minimize-window'. |
| 420 | These maximize and minize the size of a window within its frame. | 420 | These maximize and minimize the size of a window within its frame. |
| 421 | 421 | ||
| 422 | +++ | 422 | +++ |
| 423 | *** New commands `switch-to-prev-buffer' and `switch-to-next-buffer'. | 423 | *** New commands `switch-to-prev-buffer' and `switch-to-next-buffer'. |
| @@ -709,7 +709,7 @@ consult. | |||
| 709 | 709 | ||
| 710 | ** The Landmark game is now invoked with `landmark', not `lm'. | 710 | ** The Landmark game is now invoked with `landmark', not `lm'. |
| 711 | 711 | ||
| 712 | ** MH-E has been upgraded to MH-E version 8.3. | 712 | ** MH-E has been upgraded to MH-E version 8.3.1. |
| 713 | See MH-E-NEWS for details. | 713 | See MH-E-NEWS for details. |
| 714 | 714 | ||
| 715 | ** Modula-2 mode provides auto-indentation. | 715 | ** Modula-2 mode provides auto-indentation. |
| @@ -1126,7 +1126,7 @@ state before the last buffer display operation in that window. | |||
| 1126 | 1126 | ||
| 1127 | +++ | 1127 | +++ |
| 1128 | *** The new option `frame-auto-hide-function' lets you choose between | 1128 | *** The new option `frame-auto-hide-function' lets you choose between |
| 1129 | iconfying or deleting a frame when burying a buffer shown in a dedicated | 1129 | iconifying or deleting a frame when burying a buffer shown in a dedicated |
| 1130 | frame or quitting a window showing a buffer in a frame of its own. | 1130 | frame or quitting a window showing a buffer in a frame of its own. |
| 1131 | 1131 | ||
| 1132 | ** Completion | 1132 | ** Completion |
diff --git a/etc/NEWS.1-17 b/etc/NEWS.1-17 index b1da9122934..dc9922ed989 100644 --- a/etc/NEWS.1-17 +++ b/etc/NEWS.1-17 | |||
| @@ -775,7 +775,7 @@ to the value of `minibuffer-help-form'. | |||
| 775 | 775 | ||
| 776 | `help-form' is expected at all times to contain either `nil' | 776 | `help-form' is expected at all times to contain either `nil' |
| 777 | or an expression to be executed when C-h is typed (overriding | 777 | or an expression to be executed when C-h is typed (overriding |
| 778 | teh definition of C-h as a command). `minibuffer-help-form' | 778 | the definition of C-h as a command). `minibuffer-help-form' |
| 779 | can be used to provide a different default way of handling | 779 | can be used to provide a different default way of handling |
| 780 | C-h while in the minibuffer. | 780 | C-h while in the minibuffer. |
| 781 | 781 | ||
| @@ -1382,7 +1382,7 @@ Changes in Emacs 15 | |||
| 1382 | specify the tag table file name initially, or to switch | 1382 | specify the tag table file name initially, or to switch |
| 1383 | to a new tag table. | 1383 | to a new tag table. |
| 1384 | 1384 | ||
| 1385 | * If truncate-partial-width-windows is non-nil (as it intially is), | 1385 | * If truncate-partial-width-windows is non-nil (as it initially is), |
| 1386 | all windows less than the full screen width (that is, | 1386 | all windows less than the full screen width (that is, |
| 1387 | made by side-by-side splitting) truncate lines rather than continuing | 1387 | made by side-by-side splitting) truncate lines rather than continuing |
| 1388 | them. | 1388 | them. |
| @@ -1870,7 +1870,7 @@ Changes in Emacs 1.9 | |||
| 1870 | 1870 | ||
| 1871 | * The variable global-minor-modes is used to display | 1871 | * The variable global-minor-modes is used to display |
| 1872 | strings in the mode line of all buffers. It should be | 1872 | strings in the mode line of all buffers. It should be |
| 1873 | a list of elements thaht are conses whose cdrs are strings | 1873 | a list of elements that are conses whose cdrs are strings |
| 1874 | to be displayed. This complements the variable | 1874 | to be displayed. This complements the variable |
| 1875 | minor-modes, which has the same effect but has a separate | 1875 | minor-modes, which has the same effect but has a separate |
| 1876 | value in each buffer. | 1876 | value in each buffer. |
| @@ -2019,7 +2019,7 @@ Changes in Emacs 1.6 | |||
| 2019 | * save-buffers-kill-emacs is now on C-x C-c | 2019 | * save-buffers-kill-emacs is now on C-x C-c |
| 2020 | while C-x C-z does suspend-emacs. This is to make | 2020 | while C-x C-z does suspend-emacs. This is to make |
| 2021 | C-x C-c like the normal Unix meaning of C-c | 2021 | C-x C-c like the normal Unix meaning of C-c |
| 2022 | and C-x C-z linke the normal Unix meaning of C-z. | 2022 | and C-x C-z like the normal Unix meaning of C-z. |
| 2023 | 2023 | ||
| 2024 | * M-ESC (eval-expression) is now a disabled command by default. | 2024 | * M-ESC (eval-expression) is now a disabled command by default. |
| 2025 | This prevents users who type ESC ESC accidentally from | 2025 | This prevents users who type ESC ESC accidentally from |
| @@ -2423,7 +2423,7 @@ Changes in Emacs 1.1 | |||
| 2423 | or show the text or subheadings under each heading line | 2423 | or show the text or subheadings under each heading line |
| 2424 | independently. Hidden text or subheadings are invisibly | 2424 | independently. Hidden text or subheadings are invisibly |
| 2425 | attached to the end of the preceding heading line, so that | 2425 | attached to the end of the preceding heading line, so that |
| 2426 | if you kill the hading line and yank it back elsewhere | 2426 | if you kill the heading line and yank it back elsewhere |
| 2427 | all the invisible lines accompany it. | 2427 | all the invisible lines accompany it. |
| 2428 | 2428 | ||
| 2429 | All editing commands treat hidden outline-mode lines | 2429 | All editing commands treat hidden outline-mode lines |
diff --git a/etc/NEWS.18 b/etc/NEWS.18 index 6bf854d8b33..820103e3110 100644 --- a/etc/NEWS.18 +++ b/etc/NEWS.18 | |||
| @@ -519,7 +519,7 @@ exist to customize these feature for different Lisp implementations. | |||
| 519 | 519 | ||
| 520 | ** C-x p now disabled. | 520 | ** C-x p now disabled. |
| 521 | 521 | ||
| 522 | The command C-x p, a nonrecomended command which narrows to the current | 522 | The command C-x p, a nonrecommended command which narrows to the current |
| 523 | page, is now initially disabled like C-x n. | 523 | page, is now initially disabled like C-x n. |
| 524 | 524 | ||
| 525 | * Dealing with files. | 525 | * Dealing with files. |
| @@ -1303,7 +1303,7 @@ changing the file's uid or gid. | |||
| 1303 | 1303 | ||
| 1304 | The default value of this variable is `nil', because usually it is | 1304 | The default value of this variable is `nil', because usually it is |
| 1305 | useful to have the uid of a file change according to who edited it | 1305 | useful to have the uid of a file change according to who edited it |
| 1306 | last. I recommend thet this variable be left normally `nil' and | 1306 | last. I recommend that this variable be left normally `nil' and |
| 1307 | changed with a local variables list in those particular files where | 1307 | changed with a local variables list in those particular files where |
| 1308 | the uid needs to be preserved. | 1308 | the uid needs to be preserved. |
| 1309 | 1309 | ||
| @@ -1620,4 +1620,3 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. | |||
| 1620 | Local variables: | 1620 | Local variables: |
| 1621 | mode: text | 1621 | mode: text |
| 1622 | end: | 1622 | end: |
| 1623 | |||
diff --git a/etc/NEWS.19 b/etc/NEWS.19 index 6c1c5483809..16a9d9dc4cb 100644 --- a/etc/NEWS.19 +++ b/etc/NEWS.19 | |||
| @@ -1828,7 +1828,7 @@ c-fill-paragraph's behavior. | |||
| 1828 | containing an open brace just after a case/default label. | 1828 | containing an open brace just after a case/default label. |
| 1829 | 1829 | ||
| 1830 | *** New variable, c-progress-interval, which controls minibuffer update | 1830 | *** New variable, c-progress-interval, which controls minibuffer update |
| 1831 | message displays during long re-indention. This is a new feature | 1831 | message displays during long re-indentation. This is a new feature |
| 1832 | which prints percentage complete messages at specified intervals. | 1832 | which prints percentage complete messages at specified intervals. |
| 1833 | 1833 | ||
| 1834 | ** Makefile mode changes. | 1834 | ** Makefile mode changes. |
| @@ -4288,7 +4288,7 @@ filename completion in comint mode apply, together with a variable | |||
| 4288 | controlling whether to restrict possible completions to only files | 4288 | controlling whether to restrict possible completions to only files |
| 4289 | that are executable (`shell-command-execonly'). | 4289 | that are executable (`shell-command-execonly'). |
| 4290 | 4290 | ||
| 4291 | The input history is initialised from the file name given in the | 4291 | The input history is initialized from the file name given in the |
| 4292 | variable `shell-input-ring-file-name'--normally `.history' in your | 4292 | variable `shell-input-ring-file-name'--normally `.history' in your |
| 4293 | home directory. | 4293 | home directory. |
| 4294 | 4294 | ||
| @@ -5484,7 +5484,7 @@ non-nil. | |||
| 5484 | ** M-x revert-buffer no longer offers to revert from a recent auto-save | 5484 | ** M-x revert-buffer no longer offers to revert from a recent auto-save |
| 5485 | file unless you give it a prefix argument. Otherwise it always | 5485 | file unless you give it a prefix argument. Otherwise it always |
| 5486 | reverts from the real file regardless of whether there has been an | 5486 | reverts from the real file regardless of whether there has been an |
| 5487 | auto-save since thenm. (Reverting from the auto-save file is no longer | 5487 | auto-save since then. (Reverting from the auto-save file is no longer |
| 5488 | very useful now that the undo capacity is larger.) | 5488 | very useful now that the undo capacity is larger.) |
| 5489 | 5489 | ||
| 5490 | ** M-x recover-file no longer turns off Auto Save mode when it reads | 5490 | ** M-x recover-file no longer turns off Auto Save mode when it reads |
diff --git a/etc/NEWS.21 b/etc/NEWS.21 index c3c54d8bb01..c018567c40d 100644 --- a/etc/NEWS.21 +++ b/etc/NEWS.21 | |||
| @@ -1678,7 +1678,7 @@ current file, or you can use C-x v r RET to get an update for an | |||
| 1678 | entire directory tree. | 1678 | entire directory tree. |
| 1679 | 1679 | ||
| 1680 | The new user option `vc-cvs-use-edit' indicates whether VC should call | 1680 | The new user option `vc-cvs-use-edit' indicates whether VC should call |
| 1681 | "cvs edit" to make files writeable; it defaults to `t'. (This option | 1681 | "cvs edit" to make files writable; it defaults to `t'. (This option |
| 1682 | is only meaningful if the CVSREAD variable is set, or if files are | 1682 | is only meaningful if the CVSREAD variable is set, or if files are |
| 1683 | "watched" by other developers.) | 1683 | "watched" by other developers.) |
| 1684 | 1684 | ||
diff --git a/etc/NEWS.22 b/etc/NEWS.22 index 3920f59fefa..5e95e40b04c 100644 --- a/etc/NEWS.22 +++ b/etc/NEWS.22 | |||
| @@ -1275,7 +1275,7 @@ coding system. | |||
| 1275 | of a file. | 1275 | of a file. |
| 1276 | 1276 | ||
| 1277 | *** New command `ucs-insert' inserts a character specified by its | 1277 | *** New command `ucs-insert' inserts a character specified by its |
| 1278 | unicode. | 1278 | Unicode code point or character name. |
| 1279 | 1279 | ||
| 1280 | *** New command quail-show-key shows what key (or key sequence) to type | 1280 | *** New command quail-show-key shows what key (or key sequence) to type |
| 1281 | in the current input method to input a character at point. | 1281 | in the current input method to input a character at point. |
| @@ -3356,7 +3356,7 @@ contracts or expands the line under the cursor. | |||
| 3356 | *** The new commands `speedbar-expand-line-descendants' and | 3356 | *** The new commands `speedbar-expand-line-descendants' and |
| 3357 | `speedbar-contract-line-descendants', bound to `[' and `]' | 3357 | `speedbar-contract-line-descendants', bound to `[' and `]' |
| 3358 | respectively, expand and contract the line under cursor with all of | 3358 | respectively, expand and contract the line under cursor with all of |
| 3359 | its descendents. | 3359 | its descendants. |
| 3360 | 3360 | ||
| 3361 | *** The new user option `speedbar-use-tool-tips-flag', if non-nil, | 3361 | *** The new user option `speedbar-use-tool-tips-flag', if non-nil, |
| 3362 | means to display tool-tips for speedbar items. | 3362 | means to display tool-tips for speedbar items. |
diff --git a/etc/NEWS.23 b/etc/NEWS.23 index 3a222d50d4c..9b8909d794a 100644 --- a/etc/NEWS.23 +++ b/etc/NEWS.23 | |||
| @@ -843,7 +843,7 @@ shared with older Emacsen. | |||
| 843 | 843 | ||
| 844 | *** There is a new charset implementation with many new charsets. | 844 | *** There is a new charset implementation with many new charsets. |
| 845 | See M-x list-character-sets. New charsets can be defined conveniently | 845 | See M-x list-character-sets. New charsets can be defined conveniently |
| 846 | as tables of unicodes. | 846 | as tables of Unicode code points. |
| 847 | 847 | ||
| 848 | *** There are new language environments for Chinese-GBK, | 848 | *** There are new language environments for Chinese-GBK, |
| 849 | Chinese-GB18030, Khmer, Bengali, Punjabi, Gujarati, Oriya, Telugu, | 849 | Chinese-GB18030, Khmer, Bengali, Punjabi, Gujarati, Oriya, Telugu, |
| @@ -1837,7 +1837,7 @@ for the list of extra keys that are available. | |||
| 1837 | 1837 | ||
| 1838 | ** BDF fonts no longer supported on MS-Windows. | 1838 | ** BDF fonts no longer supported on MS-Windows. |
| 1839 | The font backend was completely rewritten for this release. The focus | 1839 | The font backend was completely rewritten for this release. The focus |
| 1840 | on Windows has been getting acceptable performance and full unicode | 1840 | on Windows has been getting acceptable performance and full Unicode |
| 1841 | support, including complex script shaping for native Windows fonts. A | 1841 | support, including complex script shaping for native Windows fonts. A |
| 1842 | rewrite of the BDF font support has not happened due to lack of time | 1842 | rewrite of the BDF font support has not happened due to lack of time |
| 1843 | and developers. If demand still exists for such a backend even with | 1843 | and developers. If demand still exists for such a backend even with |
diff --git a/etc/THE-GNU-PROJECT b/etc/THE-GNU-PROJECT index 80dde864901..f3d554e45bf 100644 --- a/etc/THE-GNU-PROJECT +++ b/etc/THE-GNU-PROJECT | |||
| @@ -762,7 +762,7 @@ | |||
| 762 | Those of us who value free software for freedom's sake will stay with | 762 | Those of us who value free software for freedom's sake will stay with |
| 763 | free software anyway. We will manage to get work done without the | 763 | free software anyway. We will manage to get work done without the |
| 764 | patented features. But those who value free software because they | 764 | patented features. But those who value free software because they |
| 765 | expect it to be techically superior are likely to call it a failure | 765 | expect it to be technically superior are likely to call it a failure |
| 766 | when a patent holds it back. Thus, while it is useful to talk about the | 766 | when a patent holds it back. Thus, while it is useful to talk about the |
| 767 | practical effectiveness of the "cathedral" model of development (1), | 767 | practical effectiveness of the "cathedral" model of development (1), |
| 768 | and the reliability and power of some free software, we must not stop | 768 | and the reliability and power of some free software, we must not stop |
| @@ -205,7 +205,7 @@ of the scroll bar itself. That depends on to what extent toolkit | |||
| 205 | scroll bars are extensible. | 205 | scroll bars are extensible. |
| 206 | 206 | ||
| 207 | ** Provide user-friendly ways to list all available font families, | 207 | ** Provide user-friendly ways to list all available font families, |
| 208 | list fonts, display a font as a sample, etc. [fx is looking at | 208 | list fonts, display a font as a sample, etc. [fx is looking at |
| 209 | multilingual font selection for the Unicode branch of Emacs.] | 209 | multilingual font selection for the Unicode branch of Emacs.] |
| 210 | 210 | ||
| 211 | ** Provide a convenient way to select a color with the mouse. | 211 | ** Provide a convenient way to select a color with the mouse. |
| @@ -635,7 +635,7 @@ up on top of all others | |||
| 635 | 635 | ||
| 636 | *** Other / Low Priority: | 636 | *** Other / Low Priority: |
| 637 | 637 | ||
| 638 | **** Better recognition of unicode scripts / Greek / composition. | 638 | **** Better recognition of Unicode scripts / Greek / composition. |
| 639 | 639 | ||
| 640 | **** Undo for color-drag face customization. | 640 | **** Undo for color-drag face customization. |
| 641 | 641 | ||
diff --git a/etc/gnus/news-server.ast b/etc/gnus/news-server.ast index 432f71a50f0..df0bab4519b 100644 --- a/etc/gnus/news-server.ast +++ b/etc/gnus/news-server.ast | |||
| @@ -7,7 +7,7 @@ | |||
| 7 | @validate (or (assistant-validate-connect-to-server server port) (y-or-n-p "Do you want to use the server anyway, although you can't confirm it's valid?")) | 7 | @validate (or (assistant-validate-connect-to-server server port) (y-or-n-p "Do you want to use the server anyway, although you can't confirm it's valid?")) |
| 8 | @result gnus-select-method (list 'nntp server (list 'nntp-server port)) | 8 | @result gnus-select-method (list 'nntp server (list 'nntp-server port)) |
| 9 | @text | 9 | @text |
| 10 | Usenet news is usually read from your Internet service prodider's news | 10 | Usenet news is usually read from your Internet service provider's news |
| 11 | server. If you don't know the name of this server, contact your ISP. | 11 | server. If you don't know the name of this server, contact your ISP. |
| 12 | 12 | ||
| 13 | As a guess, the name of the server might be news.yourisp.com. | 13 | As a guess, the name of the server might be news.yourisp.com. |
| @@ -61,4 +61,3 @@ Password: @variable{user-name} | |||
| 61 | @c End: | 61 | @c End: |
| 62 | 62 | ||
| 63 | @c arch tag is missing | 63 | @c arch tag is missing |
| 64 | |||
diff --git a/etc/srecode/test.srt b/etc/srecode/test.srt index b296f9dc515..d3dad33a5a2 100644 --- a/etc/srecode/test.srt +++ b/etc/srecode/test.srt | |||
| @@ -81,7 +81,7 @@ template gapsomething :blank | |||
| 81 | ---- | 81 | ---- |
| 82 | 82 | ||
| 83 | template inlinetext | 83 | template inlinetext |
| 84 | "Insert text that has no nelines" | 84 | "Insert text that has no newlines" |
| 85 | ---- | 85 | ---- |
| 86 | *In the middle* | 86 | *In the middle* |
| 87 | ---- | 87 | ---- |
diff --git a/etc/themes/manoj-dark-theme.el b/etc/themes/manoj-dark-theme.el index 55b07e6eaef..b06678636c7 100644 --- a/etc/themes/manoj-dark-theme.el +++ b/etc/themes/manoj-dark-theme.el | |||
| @@ -37,7 +37,7 @@ | |||
| 37 | ;; (blueish) or mail (greenish), have states (large number of under | 37 | ;; (blueish) or mail (greenish), have states (large number of under |
| 38 | ;; messages, normal, and empty). The large number unread groups have | 38 | ;; messages, normal, and empty). The large number unread groups have |
| 39 | ;; highest luminance (appear brighter), and the empty one have lower | 39 | ;; highest luminance (appear brighter), and the empty one have lower |
| 40 | ;; luminance (appear greyer), but have the same chroma and saturation. | 40 | ;; luminance (appear grayer), but have the same chroma and saturation. |
| 41 | ;; Sub states and group priorities are rendered using a color series | 41 | ;; Sub states and group priorities are rendered using a color series |
| 42 | ;; which has constant luminance and saturation, and vary in hue by a | 42 | ;; which has constant luminance and saturation, and vary in hue by a |
| 43 | ;; constant separation -- so all the related groups have the same | 43 | ;; constant separation -- so all the related groups have the same |
| @@ -53,7 +53,7 @@ | |||
| 53 | 53 | ||
| 54 | ;; In the message itself, quoted mail messages from different people | 54 | ;; In the message itself, quoted mail messages from different people |
| 55 | ;; are color coordinated, with high contrast between citations that are | 55 | ;; are color coordinated, with high contrast between citations that are |
| 56 | ;; close to each other in the heirarchy, so it is less likely that one | 56 | ;; close to each other in the hierarchy, so it is less likely that one |
| 57 | ;; misunderstands who said what in a long conversation. | 57 | ;; misunderstands who said what in a long conversation. |
| 58 | 58 | ||
| 59 | ;; The following scheme covers programming languages, Gnus, Erc, mail, | 59 | ;; The following scheme covers programming languages, Gnus, Erc, mail, |
diff --git a/leim/CXTERM-DIC/CCDOSPY.tit b/leim/CXTERM-DIC/CCDOSPY.tit index 8c67c3bdfac..97dfe89f1a1 100644 --- a/leim/CXTERM-DIC/CCDOSPY.tit +++ b/leim/CXTERM-DIC/CCDOSPY.tit | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | # Header added for Emacs | 2 | # Header added for Emacs |
| 3 | # | 3 | # |
| 4 | # This file is included in the directory contrib/clients/cxterm of the | 4 | # This file is included in the directory contrib/clients/cxterm of the |
| 5 | # distribution of X11R6. As the file itself does't contain copyright | 5 | # distribution of X11R6. As the file itself doesn't contain copyright |
| 6 | # and license notices, the following statements in the section 6 of | 6 | # and license notices, the following statements in the section 6 of |
| 7 | # the file .../cxterm/README covers it. | 7 | # the file .../cxterm/README covers it. |
| 8 | # | 8 | # |
diff --git a/leim/CXTERM-DIC/PY-b5.tit b/leim/CXTERM-DIC/PY-b5.tit index 72c20fe70ca..7a8d68aa755 100644 --- a/leim/CXTERM-DIC/PY-b5.tit +++ b/leim/CXTERM-DIC/PY-b5.tit | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | # Header added for Emacs | 2 | # Header added for Emacs |
| 3 | # | 3 | # |
| 4 | # This file is included in the directory contrib/clients/cxterm of the | 4 | # This file is included in the directory contrib/clients/cxterm of the |
| 5 | # distribution of X11R6. As the file itself does't contain copyright | 5 | # distribution of X11R6. As the file itself doesn't contain copyright |
| 6 | # and license notices, the following statements in the section 6 of | 6 | # and license notices, the following statements in the section 6 of |
| 7 | # the file .../cxterm/README covers it. | 7 | # the file .../cxterm/README covers it. |
| 8 | # | 8 | # |
diff --git a/leim/CXTERM-DIC/SW.tit b/leim/CXTERM-DIC/SW.tit index a30dcf01090..5e8fadfba42 100644 --- a/leim/CXTERM-DIC/SW.tit +++ b/leim/CXTERM-DIC/SW.tit | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | # Header added for Emacs | 2 | # Header added for Emacs |
| 3 | # | 3 | # |
| 4 | # This file is included in the directory contrib/clients/cxterm of the | 4 | # This file is included in the directory contrib/clients/cxterm of the |
| 5 | # distribution of X11R6. As the file itself does't contain copyright | 5 | # distribution of X11R6. As the file itself doesn't contain copyright |
| 6 | # and license notices, the following statements in the section 6 of | 6 | # and license notices, the following statements in the section 6 of |
| 7 | # the file .../cxterm/README covers it. | 7 | # the file .../cxterm/README covers it. |
| 8 | # | 8 | # |
diff --git a/leim/CXTERM-DIC/TONEPY.tit b/leim/CXTERM-DIC/TONEPY.tit index 4b97ce8f0b1..ddba1d378d1 100644 --- a/leim/CXTERM-DIC/TONEPY.tit +++ b/leim/CXTERM-DIC/TONEPY.tit | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | # Header added for Emacs | 2 | # Header added for Emacs |
| 3 | # | 3 | # |
| 4 | # This file is included in the directory contrib/clients/cxterm of the | 4 | # This file is included in the directory contrib/clients/cxterm of the |
| 5 | # distribution of X11R6. As the file itself does't contain copyright | 5 | # distribution of X11R6. As the file itself doesn't contain copyright |
| 6 | # and license notices, the following statements in the section 6 of | 6 | # and license notices, the following statements in the section 6 of |
| 7 | # the file .../cxterm/README covers it. | 7 | # the file .../cxterm/README covers it. |
| 8 | # | 8 | # |
diff --git a/leim/ChangeLog b/leim/ChangeLog index 75dde2bcd18..ed8aec0b16d 100644 --- a/leim/ChangeLog +++ b/leim/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2011-11-20 Juanma Barranquero <lekktu@gmail.com> | ||
| 2 | |||
| 3 | * quail/hangul.el (hangul-character): Fix typo. | ||
| 4 | |||
| 1 | 2011-09-27 Jambunathan K <kjambunathan@gmail.com> | 5 | 2011-09-27 Jambunathan K <kjambunathan@gmail.com> |
| 2 | 6 | ||
| 3 | * quail/indian.el (quail-tamil-itrans-misc-table): Delete it. | 7 | * quail/indian.el (quail-tamil-itrans-misc-table): Delete it. |
diff --git a/leim/quail/cyrillic.el b/leim/quail/cyrillic.el index 88be0a3b7d0..eb5a0a00ade 100644 --- a/leim/quail/cyrillic.el +++ b/leim/quail/cyrillic.el | |||
| @@ -608,7 +608,7 @@ | |||
| 608 | ;; layout. In fact, Microsoft shipped for a while a layout that was lacking | 608 | ;; layout. In fact, Microsoft shipped for a while a layout that was lacking |
| 609 | ;; two characters, precisely the "GHE_WITH_UPTURN" and the apostrophe. The | 609 | ;; two characters, precisely the "GHE_WITH_UPTURN" and the apostrophe. The |
| 610 | ;; latest versions of Windows software do have the "GHE_WITH_UPTURN" in the | 610 | ;; latest versions of Windows software do have the "GHE_WITH_UPTURN" in the |
| 611 | ;; ukrainian keyborad layout but the apostrophe is still not there, whereas | 611 | ;; ukrainian keyboard layout but the apostrophe is still not there, whereas |
| 612 | ;; there is one letter, "Cyrillic_YO", not used in ukrainian. Ukrainians | 612 | ;; there is one letter, "Cyrillic_YO", not used in ukrainian. Ukrainians |
| 613 | ;; normally replace the "Cyrillic_YO" by the apostrophe sign and live | 613 | ;; normally replace the "Cyrillic_YO" by the apostrophe sign and live |
| 614 | ;; happily with this little change. [See "ukrainian-computer" below.] | 614 | ;; happily with this little change. [See "ukrainian-computer" below.] |
diff --git a/leim/quail/hangul.el b/leim/quail/hangul.el index 660e7763626..d3071d628e0 100644 --- a/leim/quail/hangul.el +++ b/leim/quail/hangul.el | |||
| @@ -112,7 +112,7 @@ | |||
| 112 | 112 | ||
| 113 | (defun hangul-character (cho jung jong) | 113 | (defun hangul-character (cho jung jong) |
| 114 | "Convert CHO, JUNG, JONG to the precomposed `Hangul Syllables' character. | 114 | "Convert CHO, JUNG, JONG to the precomposed `Hangul Syllables' character. |
| 115 | CHO, JUNG, JONG are relative indices in `Hangul Compatibility Jamo' of unicode. | 115 | CHO, JUNG, JONG are relative indices in `Hangul Compatibility Jamo' of Unicode. |
| 116 | Return a zero-length string if the conversion fails." | 116 | Return a zero-length string if the conversion fails." |
| 117 | (or | 117 | (or |
| 118 | (decode-char | 118 | (decode-char |
diff --git a/leim/quail/ipa.el b/leim/quail/ipa.el index 559841e8905..4c15be2bf42 100644 --- a/leim/quail/ipa.el +++ b/leim/quail/ipa.el | |||
| @@ -183,7 +183,7 @@ incorrectly, as separate from the modified glyphs.") | |||
| 183 | "Ëš"]) ;; +Unexploded modifier U+02DA | 183 | "Ëš"]) ;; +Unexploded modifier U+02DA |
| 184 | ("<r>" "ʳ") ;; +Rhotacized modifier U+02B3 | 184 | ("<r>" "ʳ") ;; +Rhotacized modifier U+02B3 |
| 185 | ("<w>" "Ê·") ;; +Labialized modifier U+02B7 | 185 | ("<w>" "Ê·") ;; +Labialized modifier U+02B7 |
| 186 | ("<?>" "ʱ") ;; +Murmured modififer U+02B1 | 186 | ("<?>" "ʱ") ;; +Murmured modifier U+02B1 |
| 187 | 187 | ||
| 188 | ("b<trl>" "Ê™") ;; Bilabial trill U+0299 | 188 | ("b<trl>" "Ê™") ;; Bilabial trill U+0299 |
| 189 | ("b`" "É“") ;; Bilabial implosive U+0253 | 189 | ("b`" "É“") ;; Bilabial implosive U+0253 |
| @@ -465,8 +465,8 @@ displays them, incorrectly, as separate from the modified glyphs.") | |||
| 465 | ("_}" "Ìš") ;; No audible release U+031A | 465 | ("_}" "Ìš") ;; No audible release U+031A |
| 466 | ;; ` is alternatively; retroflexion in consonants | 466 | ;; ` is alternatively; retroflexion in consonants |
| 467 | ("`" "Ëž") ;; Rhotacization in vowels U+02DE | 467 | ("`" "Ëž") ;; Rhotacization in vowels U+02DE |
| 468 | ("_~" "̃") ;; Nasalisation U+0303 | 468 | ("_~" "̃") ;; Nasalization U+0303 |
| 469 | ("~" "̃") ;; Nasalisation U+0303 | 469 | ("~" "̃") ;; Nasalization U+0303 |
| 470 | ("_A" "̘") ;; Advanced tongue root U+0318 | 470 | ("_A" "̘") ;; Advanced tongue root U+0318 |
| 471 | ("_a" "̺") ;; Apical U+033A | 471 | ("_a" "̺") ;; Apical U+033A |
| 472 | ("_B" "Ì") ;; Extra low tone U+030F | 472 | ("_B" "Ì") ;; Extra low tone U+030F |
diff --git a/leim/quail/sgml-input.el b/leim/quail/sgml-input.el index 3b569879404..a8c335afa33 100644 --- a/leim/quail/sgml-input.el +++ b/leim/quail/sgml-input.el | |||
| @@ -916,7 +916,7 @@ E.g.: á -> á" | |||
| 916 | ("θ" ?\θ) ;; GREEK SMALL LETTER THETA | 916 | ("θ" ?\θ) ;; GREEK SMALL LETTER THETA |
| 917 | ("Θ" ?\Θ) ;; GREEK CAPITAL LETTER THETA | 917 | ("Θ" ?\Θ) ;; GREEK CAPITAL LETTER THETA |
| 918 | ("&thetas;" ?\θ) ;; GREEK SMALL LETTER THETA | 918 | ("&thetas;" ?\θ) ;; GREEK SMALL LETTER THETA |
| 919 | ("&thetasyLsymbol;" ?\Ï‘) ;; GREEK THETA SYMBOL | 919 | ("ϑ" ?\Ï‘) ;; GREEK THETA SYMBOL |
| 920 | ("ϑ" ?\Ï‘) ;; GREEK THETA SYMBOL | 920 | ("ϑ" ?\Ï‘) ;; GREEK THETA SYMBOL |
| 921 | ("&THgr;" ?\Θ) ;; GREEK CAPITAL LETTER THETA | 921 | ("&THgr;" ?\Θ) ;; GREEK CAPITAL LETTER THETA |
| 922 | ("&thgr;" ?\θ) ;; GREEK SMALL LETTER THETA | 922 | ("&thgr;" ?\θ) ;; GREEK SMALL LETTER THETA |
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index d043f41962e..983754eb1c3 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog | |||
| @@ -2032,7 +2032,7 @@ | |||
| 2032 | * etags.c [ETAGS_REGEXPS]: Now is unconditionally defined. | 2032 | * etags.c [ETAGS_REGEXPS]: Now is unconditionally defined. |
| 2033 | [LONG_OPTIONS]: Changed to NO_LONG_OPTIONS, which is undefined. | 2033 | [LONG_OPTIONS]: Changed to NO_LONG_OPTIONS, which is undefined. |
| 2034 | (Objc_suffixes): Suggest using --lang=c for full help. | 2034 | (Objc_suffixes): Suggest using --lang=c for full help. |
| 2035 | (C_entries): Initialise savetoken to 0 to shut up the compiler. | 2035 | (C_entries): Initialize savetoken to 0 to shut up the compiler. |
| 2036 | 2036 | ||
| 2037 | 2006-07-20 Andreas Schwab <schwab@suse.de> | 2037 | 2006-07-20 Andreas Schwab <schwab@suse.de> |
| 2038 | 2038 | ||
| @@ -2738,7 +2738,7 @@ | |||
| 2738 | (add_regex, regex_tag_multiline, readline): Use it. | 2738 | (add_regex, regex_tag_multiline, readline): Use it. |
| 2739 | (main): Free some global structures. | 2739 | (main): Free some global structures. |
| 2740 | (fdesc): New member `written'. | 2740 | (fdesc): New member `written'. |
| 2741 | (readline, process_file): Initialise it. | 2741 | (readline, process_file): Initialize it. |
| 2742 | (put_entries): Set it. | 2742 | (put_entries): Set it. |
| 2743 | (main): Use it to create entries for files without tags. | 2743 | (main): Use it to create entries for files without tags. |
| 2744 | (total_size_of_entries): Do not count invalid tags. | 2744 | (total_size_of_entries): Do not count invalid tags. |
| @@ -2849,7 +2849,7 @@ | |||
| 2849 | (find_entries): Rewind unconditionally. | 2849 | (find_entries): Rewind unconditionally. |
| 2850 | (find_entries): Do not call language functions directly, now calls | 2850 | (find_entries): Do not call language functions directly, now calls |
| 2851 | itself. | 2851 | itself. |
| 2852 | (find_entries): Do general initialisations here. | 2852 | (find_entries): Do general initializations here. |
| 2853 | (CNL_SAVE_DEFINEDEF, C_entries, LOOP_ON_INPUT_LINES, F_getit) | 2853 | (CNL_SAVE_DEFINEDEF, C_entries, LOOP_ON_INPUT_LINES, F_getit) |
| 2854 | (Ada_getit, Pascal_functions, Pascal_functions) | 2854 | (Ada_getit, Pascal_functions, Pascal_functions) |
| 2855 | (prolog_skip_comment): Do not do them here. | 2855 | (prolog_skip_comment): Do not do them here. |
| @@ -3085,7 +3085,7 @@ | |||
| 3085 | (TeX_commands): Name tags. Correction of old disabled code. | 3085 | (TeX_commands): Name tags. Correction of old disabled code. |
| 3086 | 3086 | ||
| 3087 | * etags.c (curfiledir, curtagfname): New global variables. | 3087 | * etags.c (curfiledir, curtagfname): New global variables. |
| 3088 | (process_file): Initialise them. | 3088 | (process_file): Initialize them. |
| 3089 | (readline): Canonicalize the name found in #line directive. | 3089 | (readline): Canonicalize the name found in #line directive. |
| 3090 | 3090 | ||
| 3091 | 2002-03-06 Jason Rumney <jasonr@gnu.org> | 3091 | 2002-03-06 Jason Rumney <jasonr@gnu.org> |
| @@ -3175,7 +3175,7 @@ | |||
| 3175 | (L_getit): Simplify by using get_tag. | 3175 | (L_getit): Simplify by using get_tag. |
| 3176 | (Perl_functions, Postscript_functions, erlang_attribute): Use the | 3176 | (Perl_functions, Postscript_functions, erlang_attribute): Use the |
| 3177 | modified LOOKING_AT. | 3177 | modified LOOKING_AT. |
| 3178 | (notinname): Remove '[' and added ')' to the recognised chars. | 3178 | (notinname): Remove '[' and added ')' to the recognized chars. |
| 3179 | (LOOKING_AT, get_tag, PHP_functions): Use notinname. | 3179 | (LOOKING_AT, get_tag, PHP_functions): Use notinname. |
| 3180 | (Ada_getit, Ada_funcs, Python_functions, Scheme_functions): | 3180 | (Ada_getit, Ada_funcs, Python_functions, Scheme_functions): |
| 3181 | Clarified, using strneq or notinname. | 3181 | Clarified, using strneq or notinname. |
| @@ -3242,7 +3242,7 @@ | |||
| 3242 | (Scheme_functions, Texinfo_nodes): Use it. | 3242 | (Scheme_functions, Texinfo_nodes): Use it. |
| 3243 | (Perl_functions): Use strneq. | 3243 | (Perl_functions): Use strneq. |
| 3244 | (prolog_pred): Rename to prolog_pr. | 3244 | (prolog_pred): Rename to prolog_pr. |
| 3245 | (prolog_pr): Recognise Prolog rules in addition to predicates. | 3245 | (prolog_pr): Recognize Prolog rules in addition to predicates. |
| 3246 | [ETAGS_REGEXPS] [!HAVE_CONFIG_H] [__CYGWIN__]: Prevent | 3246 | [ETAGS_REGEXPS] [!HAVE_CONFIG_H] [__CYGWIN__]: Prevent |
| 3247 | unmodified compile, as Cygwin's regex.h is incompatible with us. | 3247 | unmodified compile, as Cygwin's regex.h is incompatible with us. |
| 3248 | [!HAVE_CONFIG_H] [!__STDC__]: #define const as the empty string. | 3248 | [!HAVE_CONFIG_H] [!__STDC__]: #define const as the empty string. |
| @@ -3516,7 +3516,7 @@ | |||
| 3516 | * etags.c (enum sym_type): New label st_C_template. | 3516 | * etags.c (enum sym_type): New label st_C_template. |
| 3517 | (gperf input): Use it for switching to C++ from C. | 3517 | (gperf input): Use it for switching to C++ from C. |
| 3518 | (consider_token): Do it. | 3518 | (consider_token): Do it. |
| 3519 | (C_entries): Initialise typdefcblev to quiet compilers. | 3519 | (C_entries): Initialize typdefcblev to quiet compilers. |
| 3520 | [!HAVE_CONFIG_H] [!__STDC__]: #define static as nothing. | 3520 | [!HAVE_CONFIG_H] [!__STDC__]: #define static as nothing. |
| 3521 | 3521 | ||
| 3522 | 2001-02-22 Andrew Innes <andrewi@gnu.org> | 3522 | 2001-02-22 Andrew Innes <andrewi@gnu.org> |
| @@ -3967,7 +3967,7 @@ | |||
| 3967 | 3967 | ||
| 3968 | * etags.c (C_entries, consider_token): C++ `operator' now is | 3968 | * etags.c (C_entries, consider_token): C++ `operator' now is |
| 3969 | tagged in most cases. | 3969 | tagged in most cases. |
| 3970 | As before, :: is not recognised if surrounded by spaces. | 3970 | As before, :: is not recognized if surrounded by spaces. |
| 3971 | 3971 | ||
| 3972 | * etags.c (relative_filename): Account for DOS file names such | 3972 | * etags.c (relative_filename): Account for DOS file names such |
| 3973 | that is impossible to make one relative to another. | 3973 | that is impossible to make one relative to another. |
| @@ -4576,7 +4576,7 @@ | |||
| 4576 | * etags.c (C_entries): Use "." instead of "::" for Java. | 4576 | * etags.c (C_entries): Use "." instead of "::" for Java. |
| 4577 | (consider_token): is_func renamed to is_func_or_var. | 4577 | (consider_token): is_func renamed to is_func_or_var. |
| 4578 | (C_entries): is_func renamed to funorvar. | 4578 | (C_entries): is_func renamed to funorvar. |
| 4579 | (C_entries): Initialise tok.named. | 4579 | (C_entries): Initialize tok.named. |
| 4580 | (sym_type, C_stab_entry, consider_token): st_C_ignore is used to | 4580 | (sym_type, C_stab_entry, consider_token): st_C_ignore is used to |
| 4581 | get rid of "import", "package" and "friend". | 4581 | get rid of "import", "package" and "friend". |
| 4582 | (fvdef): Rename from funcdef. Also some constants renamed. | 4582 | (fvdef): Rename from funcdef. Also some constants renamed. |
| @@ -4630,7 +4630,7 @@ | |||
| 4630 | (lang_names): Add Java. | 4630 | (lang_names): Add Java. |
| 4631 | (sym_type): Add st_C_javastruct for Java. | 4631 | (sym_type): Add st_C_javastruct for Java. |
| 4632 | (C_stab_entry): Add `extends' and `implements' keywords. | 4632 | (C_stab_entry): Add `extends' and `implements' keywords. |
| 4633 | (consider_token, C_entries): Recognise Java structures. | 4633 | (consider_token, C_entries): Recognize Java structures. |
| 4634 | 4634 | ||
| 4635 | 1997-05-12 Francesco Potortì <F.Potorti@cnuce.cnr.it> | 4635 | 1997-05-12 Francesco Potortì <F.Potorti@cnuce.cnr.it> |
| 4636 | 4636 | ||
| @@ -4678,7 +4678,7 @@ | |||
| 4678 | 4678 | ||
| 4679 | * etags.c (xnew): Add support for debugging with chkmalloc. | 4679 | * etags.c (xnew): Add support for debugging with chkmalloc. |
| 4680 | (error): Use this instead of printf whenever possible. | 4680 | (error): Use this instead of printf whenever possible. |
| 4681 | (main): Only call xnew after having initialised progname. | 4681 | (main): Only call xnew after having initialized progname. |
| 4682 | (substitute): Bad memory corruption error corrected. | 4682 | (substitute): Bad memory corruption error corrected. |
| 4683 | 4683 | ||
| 4684 | 1997-04-08 Francesco Potortì <F.Potorti@cnuce.cnr.it> | 4684 | 1997-04-08 Francesco Potortì <F.Potorti@cnuce.cnr.it> |
| @@ -5596,8 +5596,8 @@ | |||
| 5596 | 5596 | ||
| 5597 | 1995-02-22 Francesco Potortì (pot@cnuce.cnr.it) | 5597 | 1995-02-22 Francesco Potortì (pot@cnuce.cnr.it) |
| 5598 | 5598 | ||
| 5599 | * etags.c (C_entries): token_saved removed. Initialise tok.valid and | 5599 | * etags.c (C_entries): token_saved removed. Initialize tok.valid and |
| 5600 | savetok.valid. Mark token as valid when it is initialised. | 5600 | savetok.valid. Mark token as valid when it is initialized. |
| 5601 | (make_tag): Make token only if token is valid and reset validity. | 5601 | (make_tag): Make token only if token is valid and reset validity. |
| 5602 | (CNL_SAVE_DEFINEDEF): Test for savetok.valid instead of token_saved. | 5602 | (CNL_SAVE_DEFINEDEF): Test for savetok.valid instead of token_saved. |
| 5603 | (TOKEN): Add a new member: valid. | 5603 | (TOKEN): Add a new member: valid. |
| @@ -5609,15 +5609,15 @@ | |||
| 5609 | 5609 | ||
| 5610 | 1995-02-14 Francesco Potortì (pot@cnuce.cnr.it) | 5610 | 1995-02-14 Francesco Potortì (pot@cnuce.cnr.it) |
| 5611 | 5611 | ||
| 5612 | * etags.c (C_entries): Initialise the new members of TOKEN. | 5612 | * etags.c (C_entries): Initialize the new members of TOKEN. |
| 5613 | (C_entries): Do not allocate a new space for each token found by | 5613 | (C_entries): Do not allocate a new space for each token found by |
| 5614 | consider_token. Let make_tag do that instead. | 5614 | consider_token. Let make_tag do that instead. |
| 5615 | (make_tag): Since now TOKEN has memory of where it is taken from, | 5615 | (make_tag): Since now TOKEN has memory of where it is taken from, |
| 5616 | this new macro substitutes both make_tag_from_new_lb and | 5616 | this new macro substitutes both make_tag_from_new_lb and |
| 5617 | make_tag_from_oth_lb. All callers changed. | 5617 | make_tag_from_oth_lb. All callers changed. |
| 5618 | (TOKEN): Add linepos and buffer members. | 5618 | (TOKEN): Add linepos and buffer members. |
| 5619 | (main): Initialise token_str. | 5619 | (main): Initialize token_str. |
| 5620 | (lang_extensions): Recognise .c++ and .h++ as C++ file suffixes. | 5620 | (lang_extensions): Recognize .c++ and .h++ as C++ file suffixes. |
| 5621 | (token_str): New global variable used by C_entries. | 5621 | (token_str): New global variable used by C_entries. |
| 5622 | 5622 | ||
| 5623 | 1995-02-07 Richard Stallman <rms@pogo.gnu.ai.mit.edu> | 5623 | 1995-02-07 Richard Stallman <rms@pogo.gnu.ai.mit.edu> |
| @@ -5626,7 +5626,7 @@ | |||
| 5626 | 5626 | ||
| 5627 | 1995-02-01 Francesco Potortì (pot@cnuce.cnr.it) | 5627 | 1995-02-01 Francesco Potortì (pot@cnuce.cnr.it) |
| 5628 | 5628 | ||
| 5629 | * etags.c (pfnote): Initialise been_warned in the node. | 5629 | * etags.c (pfnote): Initialize been_warned in the node. |
| 5630 | (C_entries): Remove a speed hack for the sake of clarity. | 5630 | (C_entries): Remove a speed hack for the sake of clarity. |
| 5631 | 5631 | ||
| 5632 | 1995-01-18 Francesco Potortì (pot@cnuce.cnr.it) | 5632 | 1995-01-18 Francesco Potortì (pot@cnuce.cnr.it) |
| @@ -5911,8 +5911,8 @@ | |||
| 5911 | 5911 | ||
| 5912 | 1994-09-29 Francesco Potortì (pot@cnuce.cnr.it) | 5912 | 1994-09-29 Francesco Potortì (pot@cnuce.cnr.it) |
| 5913 | 5913 | ||
| 5914 | * etags.c (C_entries): Recognise typedef of ANSI style functions. | 5914 | * etags.c (C_entries): Recognize typedef of ANSI style functions. |
| 5915 | (C_entries): Recognise #define inside a struct. | 5915 | (C_entries): Recognize #define inside a struct. |
| 5916 | (C_entries): ANSI tells that preprocessor commands do not have to | 5916 | (C_entries): ANSI tells that preprocessor commands do not have to |
| 5917 | start on the first column. | 5917 | start on the first column. |
| 5918 | (print_help): Documentation corrected for -d and -D. | 5918 | (print_help): Documentation corrected for -d and -D. |
| @@ -6026,7 +6026,7 @@ | |||
| 6026 | 6026 | ||
| 6027 | 1994-07-08 Dave Love (d.love@dl.ac.uk) | 6027 | 1994-07-08 Dave Love (d.love@dl.ac.uk) |
| 6028 | 6028 | ||
| 6029 | * etags.c (takeprec): Recognise `character*(*) function'. | 6029 | * etags.c (takeprec): Recognize `character*(*) function'. |
| 6030 | 6030 | ||
| 6031 | 1994-07-08 Francesco Potortì (pot@cnuce.cnr.it) | 6031 | 1994-07-08 Francesco Potortì (pot@cnuce.cnr.it) |
| 6032 | 6032 | ||
| @@ -6219,7 +6219,7 @@ | |||
| 6219 | TeX_functions, Prolog_functions. | 6219 | TeX_functions, Prolog_functions. |
| 6220 | (inf): No more a global variable. | 6220 | (inf): No more a global variable. |
| 6221 | (C_entries): Take 2nd parameter `inf' instead of using the global one. | 6221 | (C_entries): Take 2nd parameter `inf' instead of using the global one. |
| 6222 | (find_entries): Add the cp1 var for optimisation. | 6222 | (find_entries): Add the cp1 var for optimization. |
| 6223 | (find_entries): Add more suffixes for assembler files. | 6223 | (find_entries): Add more suffixes for assembler files. |
| 6224 | (Asm_funcs): Now finds labels even without an ending colon. | 6224 | (Asm_funcs): Now finds labels even without an ending colon. |
| 6225 | 6225 | ||
| @@ -6247,7 +6247,7 @@ | |||
| 6247 | functions added to compute filenames in tags files. | 6247 | functions added to compute filenames in tags files. |
| 6248 | (process_file): Filenames in tags file are relative to the | 6248 | (process_file): Filenames in tags file are relative to the |
| 6249 | directory where the tags file is (useful with the -o option). | 6249 | directory where the tags file is (useful with the -o option). |
| 6250 | (main): Initialise the outfiledir var. | 6250 | (main): Initialize the outfiledir var. |
| 6251 | (TYPEDST): Add the `tignore' value. | 6251 | (TYPEDST): Add the `tignore' value. |
| 6252 | (C_entries): Corrected various small bugs. | 6252 | (C_entries): Corrected various small bugs. |
| 6253 | 6253 | ||
| @@ -6553,7 +6553,7 @@ | |||
| 6553 | 6553 | ||
| 6554 | 1993-09-20 Francesco Potortì (pot@fly) | 6554 | 1993-09-20 Francesco Potortì (pot@fly) |
| 6555 | 6555 | ||
| 6556 | * etags.c (C_entries): is_func is initialised here instead of in | 6556 | * etags.c (C_entries): is_func is initialized here instead of in |
| 6557 | consider_token for the sake of the yacc rules section. | 6557 | consider_token for the sake of the yacc rules section. |
| 6558 | (C_entries): Now class, struct, enum, union and typedef produce | 6558 | (C_entries): Now class, struct, enum, union and typedef produce |
| 6559 | named tags. | 6559 | named tags. |
| @@ -6607,7 +6607,7 @@ | |||
| 6607 | 6607 | ||
| 6608 | 1993-08-04 Francesco Potortì (pot@spiff.gnu.ai.mit.edu) | 6608 | 1993-08-04 Francesco Potortì (pot@spiff.gnu.ai.mit.edu) |
| 6609 | 6609 | ||
| 6610 | * etags.c (L_isdef, L_isquote, L_getit): Small optimisations. | 6610 | * etags.c (L_isdef, L_isquote, L_getit): Small optimizations. |
| 6611 | (L_funcs): The (foo::defmumble stuff now should work. | 6611 | (L_funcs): The (foo::defmumble stuff now should work. |
| 6612 | (consider_token): Function returned random value--corrected. | 6612 | (consider_token): Function returned random value--corrected. |
| 6613 | (C_entries): Corrected == versus = typo. | 6613 | (C_entries): Corrected == versus = typo. |
| @@ -6629,7 +6629,7 @@ | |||
| 6629 | (C_entries, consider_token): Make use of fignore. | 6629 | (C_entries, consider_token): Make use of fignore. |
| 6630 | (consider_token): Reset funcdef when next_token_is_func: when in | 6630 | (consider_token): Reset funcdef when next_token_is_func: when in |
| 6631 | ctags mode makes DEFVAR and others work better. | 6631 | ctags mode makes DEFVAR and others work better. |
| 6632 | (L_isquote): Function that recognises the "(quote" string. | 6632 | (L_isquote): Function that recognizes the "(quote" string. |
| 6633 | (L_getit): Ignore quoting via "'" or "(quote". Useful for defalias. | 6633 | (L_getit): Ignore quoting via "'" or "(quote". Useful for defalias. |
| 6634 | 6634 | ||
| 6635 | 1993-07-29 Paul Eggert (eggert@twinsun.com) | 6635 | 1993-07-29 Paul Eggert (eggert@twinsun.com) |
| @@ -6976,7 +6976,7 @@ | |||
| 6976 | (TOKEN): Member linestart removed. | 6976 | (TOKEN): Member linestart removed. |
| 6977 | (linepos, prev_linepos, lb1): Deleted. | 6977 | (linepos, prev_linepos, lb1): Deleted. |
| 6978 | (main): Call initbuffer on lbs array instead of lb1. | 6978 | (main): Call initbuffer on lbs array instead of lb1. |
| 6979 | (init): Remove the initialisation of the logical _gd array. | 6979 | (init): Remove the initialization of the logical _gd array. |
| 6980 | (find_entries): A .sa suffix means assembler file. | 6980 | (find_entries): A .sa suffix means assembler file. |
| 6981 | (C_create_stab): "auto", "void", "extern", "static" are st_C_typespec. | 6981 | (C_create_stab): "auto", "void", "extern", "static" are st_C_typespec. |
| 6982 | All C state machines rewritten. | 6982 | All C state machines rewritten. |
diff --git a/lib-src/etags.c b/lib-src/etags.c index b739e8f00c5..30d90e9d911 100644 --- a/lib-src/etags.c +++ b/lib-src/etags.c | |||
| @@ -326,7 +326,7 @@ typedef struct regexp | |||
| 326 | struct re_pattern_buffer *pat; /* the compiled pattern */ | 326 | struct re_pattern_buffer *pat; /* the compiled pattern */ |
| 327 | struct re_registers regs; /* re registers */ | 327 | struct re_registers regs; /* re registers */ |
| 328 | bool error_signaled; /* already signaled for this regexp */ | 328 | bool error_signaled; /* already signaled for this regexp */ |
| 329 | bool force_explicit_name; /* do not allow implict tag name */ | 329 | bool force_explicit_name; /* do not allow implicit tag name */ |
| 330 | bool ignore_case; /* ignore case when matching */ | 330 | bool ignore_case; /* ignore case when matching */ |
| 331 | bool multi_line; /* do a multi-line match on the whole file */ | 331 | bool multi_line; /* do a multi-line match on the whole file */ |
| 332 | } regexp; | 332 | } regexp; |
| @@ -1862,10 +1862,10 @@ find_entries (FILE *inf) | |||
| 1862 | 1862 | ||
| 1863 | assert (parser != NULL); | 1863 | assert (parser != NULL); |
| 1864 | 1864 | ||
| 1865 | /* Generic initialisations before reading from file. */ | 1865 | /* Generic initializations before reading from file. */ |
| 1866 | linebuffer_setlen (&filebuf, 0); /* reset the file buffer */ | 1866 | linebuffer_setlen (&filebuf, 0); /* reset the file buffer */ |
| 1867 | 1867 | ||
| 1868 | /* Generic initialisations before parsing file with readline. */ | 1868 | /* Generic initializations before parsing file with readline. */ |
| 1869 | lineno = 0; /* reset global line number */ | 1869 | lineno = 0; /* reset global line number */ |
| 1870 | charno = 0; /* reset global char number */ | 1870 | charno = 0; /* reset global char number */ |
| 1871 | linecharno = 0; /* reset global char number of line start */ | 1871 | linecharno = 0; /* reset global char number of line start */ |
| @@ -1895,7 +1895,7 @@ find_entries (FILE *inf) | |||
| 1895 | * 4. the character, if any, immediately after NAME in LINESTART must | 1895 | * 4. the character, if any, immediately after NAME in LINESTART must |
| 1896 | * also be a character in NONAM. | 1896 | * also be a character in NONAM. |
| 1897 | * | 1897 | * |
| 1898 | * The implementation uses the notinname() macro, which recognises the | 1898 | * The implementation uses the notinname() macro, which recognizes the |
| 1899 | * characters stored in the string `nonam'. | 1899 | * characters stored in the string `nonam'. |
| 1900 | * etags.el needs to use the same characters that are in NONAM. | 1900 | * etags.el needs to use the same characters that are in NONAM. |
| 1901 | */ | 1901 | */ |
| @@ -3057,7 +3057,7 @@ make_C_tag (int isfun) | |||
| 3057 | make_tag (token_name.buffer, token_name.len, isfun, token.line, | 3057 | make_tag (token_name.buffer, token_name.len, isfun, token.line, |
| 3058 | token.offset+token.length+1, token.lineno, token.linepos); | 3058 | token.offset+token.length+1, token.lineno, token.linepos); |
| 3059 | else if (DEBUG) | 3059 | else if (DEBUG) |
| 3060 | { /* this branch is optimised away if !DEBUG */ | 3060 | { /* this branch is optimized away if !DEBUG */ |
| 3061 | make_tag (concat ("INVALID TOKEN:-->", token_name.buffer, ""), | 3061 | make_tag (concat ("INVALID TOKEN:-->", token_name.buffer, ""), |
| 3062 | token_name.len + 17, isfun, token.line, | 3062 | token_name.len + 17, isfun, token.line, |
| 3063 | token.offset+token.length+1, token.lineno, token.linepos); | 3063 | token.offset+token.length+1, token.lineno, token.linepos); |
| @@ -3304,7 +3304,7 @@ C_entries (int c_ext, FILE *inf) | |||
| 3304 | if (c == ':' && *lp == ':' && begtoken (lp[1])) | 3304 | if (c == ':' && *lp == ':' && begtoken (lp[1])) |
| 3305 | /* This handles :: in the middle, | 3305 | /* This handles :: in the middle, |
| 3306 | but not at the beginning of an identifier. | 3306 | but not at the beginning of an identifier. |
| 3307 | Also, space-separated :: is not recognised. */ | 3307 | Also, space-separated :: is not recognized. */ |
| 3308 | { | 3308 | { |
| 3309 | if (c_ext & C_AUTO) /* automatic detection of C++ */ | 3309 | if (c_ext & C_AUTO) /* automatic detection of C++ */ |
| 3310 | c_ext = (c_ext | C_PLPL) & ~C_AUTO; | 3310 | c_ext = (c_ext | C_PLPL) & ~C_AUTO; |
| @@ -5900,7 +5900,7 @@ regex_tag_multiline (void) | |||
| 5900 | if (!rp->multi_line) | 5900 | if (!rp->multi_line) |
| 5901 | continue; /* skip normal regexps */ | 5901 | continue; /* skip normal regexps */ |
| 5902 | 5902 | ||
| 5903 | /* Generic initialisations before parsing file from memory. */ | 5903 | /* Generic initializations before parsing file from memory. */ |
| 5904 | lineno = 1; /* reset global line number */ | 5904 | lineno = 1; /* reset global line number */ |
| 5905 | charno = 0; /* reset global char number */ | 5905 | charno = 0; /* reset global char number */ |
| 5906 | linecharno = 0; /* reset global char number of line start */ | 5906 | linecharno = 0; /* reset global char number of line start */ |
diff --git a/lib/sha256.c b/lib/sha256.c index c125542248b..4dbb5e91291 100644 --- a/lib/sha256.c +++ b/lib/sha256.c | |||
| @@ -51,7 +51,7 @@ static const unsigned char fillbuf[64] = { 0x80, 0 /* , 0, 0, ... */ }; | |||
| 51 | 51 | ||
| 52 | /* | 52 | /* |
| 53 | Takes a pointer to a 256 bit block of data (eight 32 bit ints) and | 53 | Takes a pointer to a 256 bit block of data (eight 32 bit ints) and |
| 54 | intializes it to the start constants of the SHA256 algorithm. This | 54 | initializes it to the start constants of the SHA256 algorithm. This |
| 55 | must be called before using hash in the call to sha256_hash | 55 | must be called before using hash in the call to sha256_hash |
| 56 | */ | 56 | */ |
| 57 | void | 57 | void |
diff --git a/lib/sha512.c b/lib/sha512.c index c0bed95758f..5c2e3ab9f81 100644 --- a/lib/sha512.c +++ b/lib/sha512.c | |||
| @@ -58,7 +58,7 @@ static const unsigned char fillbuf[128] = { 0x80, 0 /* , 0, 0, ... */ }; | |||
| 58 | 58 | ||
| 59 | /* | 59 | /* |
| 60 | Takes a pointer to a 512 bit block of data (eight 64 bit ints) and | 60 | Takes a pointer to a 512 bit block of data (eight 64 bit ints) and |
| 61 | intializes it to the start constants of the SHA512 algorithm. This | 61 | initializes it to the start constants of the SHA512 algorithm. This |
| 62 | must be called before using hash in the call to sha512_hash | 62 | must be called before using hash in the call to sha512_hash |
| 63 | */ | 63 | */ |
| 64 | void | 64 | void |
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 45a115ec566..37ecd3e6852 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,177 @@ | |||
| 1 | 2011-11-22 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * mail/rmailmm.el (test-rmail-mime-handler) | ||
| 4 | (test-rmail-mime-bulk-handler) | ||
| 5 | (test-rmail-mime-multipart-handler): Move tests to test/ directory. | ||
| 6 | |||
| 7 | 2011-11-21 Juri Linkov <juri@jurta.org> | ||
| 8 | |||
| 9 | * calc/calc.el (calc-read-key-sequence): Let-bind `input-method-function' | ||
| 10 | to nil. (Bug#10018) | ||
| 11 | |||
| 12 | 2011-11-21 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 13 | |||
| 14 | * emacs-lisp/cl-indent.el (common-lisp-loop-part-indentation): | ||
| 15 | Tell the caller that the next line needs recomputation, even | ||
| 16 | though it doesn't start a sexp (bug#10094). | ||
| 17 | |||
| 18 | 2011-11-21 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 19 | |||
| 20 | * emacs-lisp/autoload.el (autoload-generate-file-autoloads): Simplify. | ||
| 21 | |||
| 22 | 2011-11-20 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 23 | |||
| 24 | * vc/pcvs-util.el (cvs-pop-to-buffer-same-frame): | ||
| 25 | Use force-same-window. | ||
| 26 | |||
| 27 | 2011-11-20 Juanma Barranquero <lekktu@gmail.com> | ||
| 28 | |||
| 29 | * descr-text.el (describe-char-unicode-data): | ||
| 30 | * json.el (json-string-escape): | ||
| 31 | * mail/footnote.el (footnote-unicode-string, footnote-unicode-regexp) | ||
| 32 | (Footnote-unicode, Footnote-style-p): | ||
| 33 | * net/ntlm.el (ntlm-get-password-hashes): Fix typos. | ||
| 34 | |||
| 35 | 2011-11-20 Chong Yidong <cyd@gnu.org> | ||
| 36 | |||
| 37 | * window.el (replace-buffer-in-windows): Restore interactive spec. | ||
| 38 | |||
| 39 | 2011-11-20 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 40 | |||
| 41 | * electric.el (electric-indent-mode): Fix last change (too optimistic). | ||
| 42 | |||
| 43 | * emacs-lisp/bytecomp.el: Silence obsolete warnings more reliably. | ||
| 44 | (byte-compile-global-not-obsolete-vars): New var. | ||
| 45 | (byte-compile-check-variable, byte-compile-make-obsolete-variable): | ||
| 46 | Use it. | ||
| 47 | (byte-compile-warn-obsolete): Align text with the one in *Help*. | ||
| 48 | |||
| 49 | 2011-11-20 Juanma Barranquero <lekktu@gmail.com> | ||
| 50 | |||
| 51 | * progmodes/cwarn.el (cwarn-is-enabled, cwarn-font-lock-keywords): | ||
| 52 | * progmodes/pascal.el (electric-pascal-equal): | ||
| 53 | * textmodes/reftex-dcr.el (reftex-view-crossref-from-bibtex): | ||
| 54 | * xml.el (xml-substitute-special): Fix typos. | ||
| 55 | |||
| 56 | 2011-11-20 Glenn Morris <rgm@gnu.org> | ||
| 57 | |||
| 58 | * mail/rmail.el (rmail-enable-mime-composing): Make it a defcustom. | ||
| 59 | (rmail-insert-mime-forwarded-message-function, rmail-mime-feature): | ||
| 60 | Doc fixes. | ||
| 61 | (rmail-decode-mime-charset): Mark as obsolete. | ||
| 62 | |||
| 63 | * mail/rmailsum.el (rmail-message-regexp-p-1): | ||
| 64 | * mail/rmail.el (rmail-search-message, rmail-forward, rmail-resend): | ||
| 65 | Before using mime functions, check they are set. (Bug#10077) | ||
| 66 | |||
| 67 | 2011-11-19 Juri Linkov <juri@jurta.org> | ||
| 68 | |||
| 69 | * info.el (Info-finder-find-node): Use `package--builtins' instead | ||
| 70 | of `package-alist'. Use node names formed by the pattern "Keyword " | ||
| 71 | and the keyword name. | ||
| 72 | |||
| 73 | 2011-11-19 Andreas Schwab <schwab@linux-m68k.org> | ||
| 74 | |||
| 75 | * progmodes/sh-script.el (sh-assignment-regexp): Add entry for | ||
| 76 | bash. | ||
| 77 | |||
| 78 | 2011-11-19 Juri Linkov <juri@jurta.org> | ||
| 79 | |||
| 80 | * info.el (Info-hide-note-references): Add `:set' tag to `defcustom' | ||
| 81 | that calls `revert-buffer' on all Info buffers. (Bug#9915) | ||
| 82 | (Info-revert-find-node): Remove let-bindings `old-buffer-name', | ||
| 83 | `old-history', `old-history-forward'. Add let-binding | ||
| 84 | `window-selected'. Remove calls to `kill-buffer', | ||
| 85 | `switch-to-buffer' and `Info-mode'. Set `Info-current-file' to nil | ||
| 86 | before calling `Info-find-node', so `Info-find-node-2' will reread | ||
| 87 | the Info file. Restore window positions only when `window-selected' | ||
| 88 | is non-nil. | ||
| 89 | |||
| 90 | 2011-11-19 Juri Linkov <juri@jurta.org> | ||
| 91 | |||
| 92 | * isearch.el (isearch-lazy-highlight-new-loop): | ||
| 93 | Remove condition `(not isearch-error)'. (Bug#9918) | ||
| 94 | |||
| 95 | * misearch.el (multi-isearch-search-fun): Add condition | ||
| 96 | `(not bound)' to ignore lazy-highlighting search. | ||
| 97 | Add the search-failed message "end of multi" when the end of | ||
| 98 | multi-sequence is reached. Uncapitalize the search-failed | ||
| 99 | message "Repeat for next buffer". | ||
| 100 | |||
| 101 | * info.el (Info-search): Add the search-failed message | ||
| 102 | "end of the manual" when the end of the manual is reached | ||
| 103 | in Isearch mode. | ||
| 104 | |||
| 105 | 2011-11-19 Juri Linkov <juri@jurta.org> | ||
| 106 | |||
| 107 | * info.el (Info-find-node-2, Info-select-node, Info-history-find-node): | ||
| 108 | Use non-destructive `remove' instead of `delete' because | ||
| 109 | `Info-history-list' stored to `Info-isearch-initial-history-list' in | ||
| 110 | `Info-isearch-start' might need to be restored in `Info-isearch-end'. | ||
| 111 | |||
| 112 | 2011-11-19 Juri Linkov <juri@jurta.org> | ||
| 113 | |||
| 114 | * isearch.el (isearch-edit-string): Let-bind `history-add-new-input' | ||
| 115 | to nil instead of binding `search-ring' and `regexp-search-ring'. | ||
| 116 | (Bug#9185) | ||
| 117 | |||
| 118 | 2011-11-19 Eli Zaretskii <eliz@gnu.org> | ||
| 119 | |||
| 120 | * simple.el (line-move): Force movement by logical lines for any | ||
| 121 | hscrolled window, not only when auto-hscroll-mode is on. | ||
| 122 | (line-move-visual): Update doc string to that effect. (Bug#10076) | ||
| 123 | |||
| 124 | 2011-11-19 Andreas Schwab <schwab@linux-m68k.org> | ||
| 125 | |||
| 126 | * language/european.el (macintosh): Define as alias for mac-roman. | ||
| 127 | |||
| 128 | 2011-11-19 Eli Zaretskii <eliz@gnu.org> | ||
| 129 | |||
| 130 | * mail/rmailmm.el (rmail-mime-display-header) | ||
| 131 | (rmail-mime-display-tagline, rmail-mime-display-body): New defsubsts. | ||
| 132 | (rmail-mime-entity-segment, rmail-mime-toggle-raw) | ||
| 133 | (rmail-mime-toggle-hidden, rmail-mime-insert-text) | ||
| 134 | (rmail-mime-insert-bulk, rmail-mime-insert-multipart) | ||
| 135 | (rmail-mime-insert, rmail-mime-insert-tagline): Use them instead | ||
| 136 | of a raw aref. | ||
| 137 | (rmail-mime-entity-segment): To get past the tagline, move forward | ||
| 138 | 2 more lines, to account for the 2 empty lines that precede and | ||
| 139 | follow the line with the buttons. | ||
| 140 | (rmail-mime-update-tagline): Move one more line, to get past the | ||
| 141 | empty line that follows the buttons in the tagline. (Bug#9520) | ||
| 142 | |||
| 143 | 2011-11-19 Martin Rudalics <rudalics@gmx.at> | ||
| 144 | |||
| 145 | * window.el (window-max-delta-1, window-min-delta-1) | ||
| 146 | (window-min-size-1, window-state-get-1, window-state-put-1) | ||
| 147 | (window-state-put-2): Use "window--" prefix. | ||
| 148 | |||
| 149 | 2011-11-18 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 150 | |||
| 151 | * emacs-lisp/smie.el: Improve warnings and conflict detection. | ||
| 152 | (smie-warning-count): New var. | ||
| 153 | (smie-set-prec2tab): Use it. | ||
| 154 | (smie-bnf->prec2): Improve warnings. Add docstring. | ||
| 155 | (smie-bnf--closer-alist): Rename from smie-bnf-closer-alist. | ||
| 156 | (smie-bnf--set-class): New function. | ||
| 157 | (smie-bnf--classify): Rename from smie-bnf-classify. Rewrite to fix | ||
| 158 | corner case. | ||
| 159 | |||
| 160 | * progmodes/compile.el: Obey compilation-first-column in dest buffer. | ||
| 161 | (compilation-error-properties, compilation-move-to-column): | ||
| 162 | Handle compilation-first-column while in the target buffer. | ||
| 163 | |||
| 164 | * progmodes/cc-engine.el (c-remove-stale-state-cache-backwards): | ||
| 165 | Don't hardcode point-min==1. | ||
| 166 | |||
| 167 | * eshell/esh-cmd.el (eshell-do-eval): Handle `setq' (bug#9907). | ||
| 168 | (eshell-rewrite-for-command): Remove workaround. | ||
| 169 | (eshell-do-pipelines, eshell-do-pipelines-synchronously) | ||
| 170 | (eshell-do-eval, eshell-exec-lisp): Avoid gratuitous setq. | ||
| 171 | * eshell/esh-util.el (eshell-condition-case, eshell-for): Use declare. | ||
| 172 | |||
| 173 | * files-x.el (modify-file-local-variable): Obey commenting conventions. | ||
| 174 | |||
| 1 | 2011-11-17 Glenn Morris <rgm@gnu.org> | 175 | 2011-11-17 Glenn Morris <rgm@gnu.org> |
| 2 | 176 | ||
| 3 | * emacs-lisp/autoload.el (autoload-generate-file-autoloads): | 177 | * emacs-lisp/autoload.el (autoload-generate-file-autoloads): |
| @@ -2914,7 +3088,7 @@ | |||
| 2914 | more people. | 3088 | more people. |
| 2915 | 3089 | ||
| 2916 | * cus-edit.el (custom-file): When running under emacs -q, always | 3090 | * cus-edit.el (custom-file): When running under emacs -q, always |
| 2917 | refuse to save the customisations, even if the .emacs file doesn't | 3091 | refuse to save the customizations, even if the .emacs file doesn't |
| 2918 | exist. | 3092 | exist. |
| 2919 | 3093 | ||
| 2920 | * info.el: Remove the `Info-beginning-of-buffer' function | 3094 | * info.el: Remove the `Info-beginning-of-buffer' function |
diff --git a/lisp/ChangeLog.10 b/lisp/ChangeLog.10 index 0cf64cf36e9..cb1d1af577b 100644 --- a/lisp/ChangeLog.10 +++ b/lisp/ChangeLog.10 | |||
| @@ -374,7 +374,7 @@ | |||
| 374 | the function is advised in cc-defs. However, that advice | 374 | the function is advised in cc-defs. However, that advice |
| 375 | doesn't help if the autoloads are updated in an old (X)Emacs | 375 | doesn't help if the autoloads are updated in an old (X)Emacs |
| 376 | with this version of CC Mode, but I believe it's unlikely that | 376 | with this version of CC Mode, but I believe it's unlikely that |
| 377 | anyone does that when CC Mode isn't distributed with with it. | 377 | anyone does that when CC Mode isn't distributed with it. |
| 378 | 378 | ||
| 379 | * progmodes/cc-defs.el (add-to-list): Add advice to get the | 379 | * progmodes/cc-defs.el (add-to-list): Add advice to get the |
| 380 | optional third append argument in older (X)Emacsen. | 380 | optional third append argument in older (X)Emacsen. |
| @@ -1036,13 +1036,13 @@ | |||
| 1036 | 1036 | ||
| 1037 | 2003-06-29 Nick Roberts <nick@nick.uklinux.net> | 1037 | 2003-06-29 Nick Roberts <nick@nick.uklinux.net> |
| 1038 | 1038 | ||
| 1039 | * gdb-ui.el (gdb-display-number-end): Don't re-initialise local | 1039 | * gdb-ui.el (gdb-display-number-end): Don't re-initialize local |
| 1040 | variables to preserve array slices. | 1040 | variables to preserve array slices. |
| 1041 | (gdb-array-slice): Rename gdb-mouse-array-slice. | 1041 | (gdb-array-slice): Rename gdb-mouse-array-slice. |
| 1042 | (gdb-array-slice): Interactive function bound to "\r" for text | 1042 | (gdb-array-slice): Interactive function bound to "\r" for text |
| 1043 | terminals. | 1043 | terminals. |
| 1044 | (gdb-view-source): Rename gdb-view-source-function. | 1044 | (gdb-view-source): Rename gdb-view-source-function. |
| 1045 | Set uninitialised variables (defvars) to nil. | 1045 | Set uninitialized variables (defvars) to nil. |
| 1046 | 1046 | ||
| 1047 | 2003-06-29 Kai Großjohann <kai.grossjohann@gmx.net> | 1047 | 2003-06-29 Kai Großjohann <kai.grossjohann@gmx.net> |
| 1048 | 1048 | ||
| @@ -2016,7 +2016,7 @@ | |||
| 2016 | 2003-05-28 Andreas Schwab <schwab@suse.de> | 2016 | 2003-05-28 Andreas Schwab <schwab@suse.de> |
| 2017 | 2017 | ||
| 2018 | * descr-text.el (describe-char): Use `char' instead of | 2018 | * descr-text.el (describe-char): Use `char' instead of |
| 2019 | `(char-after)'. Fix display of unicode. | 2019 | `(char-after)'. Fix display of Unicode. |
| 2020 | 2020 | ||
| 2021 | 2003-05-28 Nick Roberts <nick@nick.uklinux.net> | 2021 | 2003-05-28 Nick Roberts <nick@nick.uklinux.net> |
| 2022 | 2022 | ||
| @@ -2149,7 +2149,7 @@ | |||
| 2149 | 2149 | ||
| 2150 | 2003-05-25 Kevin Ryde <user42@zip.com.au> | 2150 | 2003-05-25 Kevin Ryde <user42@zip.com.au> |
| 2151 | 2151 | ||
| 2152 | * info-look.el (autoconf-mode setups): Recognise AH_ and AU_ entries | 2152 | * info-look.el (autoconf-mode setups): Recognize AH_ and AU_ entries |
| 2153 | in "(autoconf)Autoconf Macro Index". Add "(autoconf)M4 Macro Index" | 2153 | in "(autoconf)Autoconf Macro Index". Add "(autoconf)M4 Macro Index" |
| 2154 | and "(autoconf)Autotest Macro Index". Remove duplicate copy of | 2154 | and "(autoconf)Autotest Macro Index". Remove duplicate copy of |
| 2155 | "(automake)Macro and Variable Index". Keep automake after all | 2155 | "(automake)Macro and Variable Index". Keep automake after all |
| @@ -2429,8 +2429,8 @@ | |||
| 2429 | 2003-05-21 Dave Love <fx@gnu.org> | 2429 | 2003-05-21 Dave Love <fx@gnu.org> |
| 2430 | 2430 | ||
| 2431 | * descr-text.el (unicodedata-file): New. | 2431 | * descr-text.el (unicodedata-file): New. |
| 2432 | (unicode-data): New (adapted from unicode branch). | 2432 | (unicode-data): New (adapted from Unicode branch). |
| 2433 | (describe-char): Use it. Print char's unicode differently. | 2433 | (describe-char): Use it. Print char's Unicode code point differently. |
| 2434 | Avoid elements with null cadr when formatting list. Clarify error | 2434 | Avoid elements with null cadr when formatting list. Clarify error |
| 2435 | message when used in Help buffer. | 2435 | message when used in Help buffer. |
| 2436 | (button): Require when compiling. | 2436 | (button): Require when compiling. |
| @@ -2440,7 +2440,7 @@ | |||
| 2440 | 2440 | ||
| 2441 | * gdb-ui.el (gud-gdba-command-name): Use -noasync option for Gdb | 2441 | * gdb-ui.el (gud-gdba-command-name): Use -noasync option for Gdb |
| 2442 | with MS windows. | 2442 | with MS windows. |
| 2443 | (gdb-display-end): Only make buffer writeable temporarily. | 2443 | (gdb-display-end): Only make buffer writable temporarily. |
| 2444 | Move "View" submenu up one level. | 2444 | Move "View" submenu up one level. |
| 2445 | 2445 | ||
| 2446 | 2003-05-21 Nick Roberts <nick@nick.uklinux.net> | 2446 | 2003-05-21 Nick Roberts <nick@nick.uklinux.net> |
| @@ -9827,7 +9827,7 @@ | |||
| 9827 | (uniquify-delay-rationalize-file-buffer-names): Remove useless check. | 9827 | (uniquify-delay-rationalize-file-buffer-names): Remove useless check. |
| 9828 | (kill-buffer-hook): Don't change globally. | 9828 | (kill-buffer-hook): Don't change globally. |
| 9829 | 9829 | ||
| 9830 | 2002-09-27 Stefan Monnier <monnier@cs.yale.edu>. | 9830 | 2002-09-27 Stefan Monnier <monnier@cs.yale.edu> |
| 9831 | 9831 | ||
| 9832 | * calc/calc.el (calc-bug-address, calc-scan-for-dels, calc-stack) | 9832 | * calc/calc.el (calc-bug-address, calc-scan-for-dels, calc-stack) |
| 9833 | (calc-stack-top, calc-always-load-extensions) | 9833 | (calc-stack-top, calc-always-load-extensions) |
| @@ -11680,7 +11680,7 @@ | |||
| 11680 | 2002-08-27 Francesco Potortì <pot@gnu.org> | 11680 | 2002-08-27 Francesco Potortì <pot@gnu.org> |
| 11681 | 11681 | ||
| 11682 | * net/ange-ftp.el (ange-ftp-skip-msgs): Skip the 530 response | 11682 | * net/ange-ftp.el (ange-ftp-skip-msgs): Skip the 530 response |
| 11683 | given by vsFTPd when accessed with a kerberised FTP client. | 11683 | given by vsFTPd when accessed with a kerberized FTP client. |
| 11684 | 11684 | ||
| 11685 | 2002-08-27 Richard M. Stallman <rms@gnu.org> | 11685 | 2002-08-27 Richard M. Stallman <rms@gnu.org> |
| 11686 | 11686 | ||
| @@ -14917,7 +14917,7 @@ | |||
| 14917 | 14917 | ||
| 14918 | 2002-05-14 Francesco Potortì <pot@gnu.org> | 14918 | 2002-05-14 Francesco Potortì <pot@gnu.org> |
| 14919 | 14919 | ||
| 14920 | * shell.el (shell-mode): Make second part of initialisation | 14920 | * shell.el (shell-mode): Make second part of initialization |
| 14921 | depend on whether comint-input-ring is empty, rather than depend | 14921 | depend on whether comint-input-ring is empty, rather than depend |
| 14922 | on it being nil. | 14922 | on it being nil. |
| 14923 | 14923 | ||
| @@ -17991,7 +17991,7 @@ | |||
| 17991 | * international/ucs-tables.el (ucs-unify-8859, ucs-fragment-8859): | 17991 | * international/ucs-tables.el (ucs-unify-8859, ucs-fragment-8859): |
| 17992 | Use unify-8859-on-decoding-mode. | 17992 | Use unify-8859-on-decoding-mode. |
| 17993 | (unify-8859-on-decoding-mode): Also set translation-table-for-input. | 17993 | (unify-8859-on-decoding-mode): Also set translation-table-for-input. |
| 17994 | (ucs-insert): Give an error if the unicode char can't be created. | 17994 | (ucs-insert): Give an error if the Unicode char can't be created. |
| 17995 | 17995 | ||
| 17996 | * pcvs-parse.el (cvs-parse-table): Be a bit more lenient. | 17996 | * pcvs-parse.el (cvs-parse-table): Be a bit more lenient. |
| 17997 | (cvs-parse-status): Handle the "used to have a conflict" marker. | 17997 | (cvs-parse-status): Handle the "used to have a conflict" marker. |
| @@ -19206,7 +19206,7 @@ | |||
| 19206 | * language/cyril-util.el (cyrillic-encode-koi8-r-char) | 19206 | * language/cyril-util.el (cyrillic-encode-koi8-r-char) |
| 19207 | (cyrillic-encode-alternativnyj-char): Get translation tables from | 19207 | (cyrillic-encode-alternativnyj-char): Get translation tables from |
| 19208 | symbol properties, not as variables. | 19208 | symbol properties, not as variables. |
| 19209 | (standard-display-cyrillic-translit): Include unicodes. | 19209 | (standard-display-cyrillic-translit): Include Unicode characters. |
| 19210 | 19210 | ||
| 19211 | 2002-02-06 Kim F. Storm <storm@cua.dk> | 19211 | 2002-02-06 Kim F. Storm <storm@cua.dk> |
| 19212 | 19212 | ||
| @@ -20778,7 +20778,7 @@ | |||
| 20778 | * Makefile.in (distclean): Remove Makefile in the build | 20778 | * Makefile.in (distclean): Remove Makefile in the build |
| 20779 | directory, not in the source directory. | 20779 | directory, not in the source directory. |
| 20780 | 20780 | ||
| 20781 | 2001-12-21 Simon Josefsson <jas@extundo.com>. | 20781 | 2001-12-21 Simon Josefsson <jas@extundo.com> |
| 20782 | 20782 | ||
| 20783 | * mail/smtpmail.el (smtpmail-send-queued-mail): | 20783 | * mail/smtpmail.el (smtpmail-send-queued-mail): |
| 20784 | Use with-temp-buffer instead of find-file-noselect, and bind | 20784 | Use with-temp-buffer instead of find-file-noselect, and bind |
| @@ -22669,7 +22669,7 @@ | |||
| 22669 | 22669 | ||
| 22670 | Suggested by Kalle Olavi Niemitalo <kon@iki.fi>: | 22670 | Suggested by Kalle Olavi Niemitalo <kon@iki.fi>: |
| 22671 | 22671 | ||
| 22672 | * vc-hooks.el (vc-error-occured): Backquotified. | 22672 | * vc-hooks.el (vc-error-occurred): Backquotified. |
| 22673 | (vc-file-prop-obarray): Use prime length for better efficiency. | 22673 | (vc-file-prop-obarray): Use prime length for better efficiency. |
| 22674 | 22674 | ||
| 22675 | * vc.el (vc-clear-context): Fill obarray with 0, not nil. | 22675 | * vc.el (vc-clear-context): Fill obarray with 0, not nil. |
diff --git a/lisp/ChangeLog.11 b/lisp/ChangeLog.11 index 08bd70926b4..c80091e4657 100644 --- a/lisp/ChangeLog.11 +++ b/lisp/ChangeLog.11 | |||
| @@ -6884,7 +6884,7 @@ | |||
| 6884 | 6884 | ||
| 6885 | 2004-05-22 Richard M. Stallman <rms@gnu.org> | 6885 | 2004-05-22 Richard M. Stallman <rms@gnu.org> |
| 6886 | 6886 | ||
| 6887 | * textmodes/paragraphs.el (sentence-end): Match unicode curly quotes | 6887 | * textmodes/paragraphs.el (sentence-end): Match Unicode curly quotes |
| 6888 | as a close quote. | 6888 | as a close quote. |
| 6889 | 6889 | ||
| 6890 | * textmodes/bibtex.el: Use assoc-string, not assoc-ignore-case. | 6890 | * textmodes/bibtex.el: Use assoc-string, not assoc-ignore-case. |
| @@ -7074,7 +7074,7 @@ | |||
| 7074 | 2004-05-14 Stefan Monnier <monnier@iro.umontreal.ca> | 7074 | 2004-05-14 Stefan Monnier <monnier@iro.umontreal.ca> |
| 7075 | 7075 | ||
| 7076 | * descr-text.el (describe-char-unicode-data) | 7076 | * descr-text.el (describe-char-unicode-data) |
| 7077 | (describe-char-unicodedata-file): Re-enable the unicode code now that | 7077 | (describe-char-unicodedata-file): Re-enable the Unicode code now that |
| 7078 | the licensing issues have been cleared in the unicode-4 license. | 7078 | the licensing issues have been cleared in the unicode-4 license. |
| 7079 | (describe-text-properties-1): Remove unused `overlay' var. | 7079 | (describe-text-properties-1): Remove unused `overlay' var. |
| 7080 | (describe-char): Remove unused var `buffer'. | 7080 | (describe-char): Remove unused var `buffer'. |
diff --git a/lisp/ChangeLog.12 b/lisp/ChangeLog.12 index e916db64f05..1660009aba7 100644 --- a/lisp/ChangeLog.12 +++ b/lisp/ChangeLog.12 | |||
| @@ -1741,8 +1741,8 @@ | |||
| 1741 | 1741 | ||
| 1742 | * outline.el (hide-sublevels): Keep empty last line, if available. | 1742 | * outline.el (hide-sublevels): Keep empty last line, if available. |
| 1743 | 1743 | ||
| 1744 | * buff-menu.el (list-buffers-noselect): Use explicit unicode code | 1744 | * buff-menu.el (list-buffers-noselect): Use explicit Unicode code |
| 1745 | rather than the corresponding unicode char, to make the code | 1745 | rather than the corresponding Unicode char, to make the code |
| 1746 | more readable. | 1746 | more readable. |
| 1747 | 1747 | ||
| 1748 | 2007-02-19 Juanma Barranquero <lekktu@gmail.com> | 1748 | 2007-02-19 Juanma Barranquero <lekktu@gmail.com> |
| @@ -2823,7 +2823,7 @@ | |||
| 2823 | 2007-01-01 Alan Mackenzie <acm@muc.de> | 2823 | 2007-01-01 Alan Mackenzie <acm@muc.de> |
| 2824 | 2824 | ||
| 2825 | * progmodes/cc-engine.el (c-guess-basic-syntax, case 5N): | 2825 | * progmodes/cc-engine.el (c-guess-basic-syntax, case 5N): |
| 2826 | Check the format of c-state-cache is valid for an optimisation before | 2826 | Check the format of c-state-cache is valid for an optimization before |
| 2827 | using it. | 2827 | using it. |
| 2828 | 2828 | ||
| 2829 | * progmodes/cc-engine.el (c-guess-basic-syntax): New case 5Q "we | 2829 | * progmodes/cc-engine.el (c-guess-basic-syntax): New case 5Q "we |
| @@ -2840,11 +2840,11 @@ | |||
| 2840 | * progmodes/cc-cmds.el (c-context-line-break): Don't indent the | 2840 | * progmodes/cc-cmds.el (c-context-line-break): Don't indent the |
| 2841 | new line after an escaped EOL in a string. | 2841 | new line after an escaped EOL in a string. |
| 2842 | 2842 | ||
| 2843 | * progmodes/cc-engine.el (c-forward-label): Recognise "foo:" as a | 2843 | * progmodes/cc-engine.el (c-forward-label): Recognize "foo:" as a |
| 2844 | label when it directly follows "else", "do", .... | 2844 | label when it directly follows "else", "do", .... |
| 2845 | 2845 | ||
| 2846 | * progmodes/cc-engine.el (c-backward-<>-arglist): Tolerate empty | 2846 | * progmodes/cc-engine.el (c-backward-<>-arglist): Tolerate empty |
| 2847 | angle brackets (as seen in "explicit specialisations" of C++ | 2847 | angle brackets (as seen in "explicit specializations" of C++ |
| 2848 | templates). | 2848 | templates). |
| 2849 | 2849 | ||
| 2850 | * progmodes/cc-vars.el (c-indentation-style): Mention c-file-style | 2850 | * progmodes/cc-vars.el (c-indentation-style): Mention c-file-style |
| @@ -2871,7 +2871,7 @@ | |||
| 2871 | * progmodes/cc-cmds.el (c-electric-slash): Extend the handling of | 2871 | * progmodes/cc-cmds.el (c-electric-slash): Extend the handling of |
| 2872 | clean-up comment-close-slash also to work when there's a comment | 2872 | clean-up comment-close-slash also to work when there's a comment |
| 2873 | terminator on the line. | 2873 | terminator on the line. |
| 2874 | (c-beginning-of-defun, c-end-of-defun): Refactor and optimise | 2874 | (c-beginning-of-defun, c-end-of-defun): Refactor and optimize |
| 2875 | these for large arg - only take account of top level {..}, except | 2875 | these for large arg - only take account of top level {..}, except |
| 2876 | for initial and final adjustments. M-- C-M-[ae] now go to the | 2876 | for initial and final adjustments. M-- C-M-[ae] now go to the |
| 2877 | right defuns when the starting point is between defuns. They use | 2877 | right defuns when the starting point is between defuns. They use |
| @@ -3257,7 +3257,7 @@ | |||
| 3257 | 3257 | ||
| 3258 | 2006-12-17 Alan Mackenzie <acm@muc.de> | 3258 | 2006-12-17 Alan Mackenzie <acm@muc.de> |
| 3259 | 3259 | ||
| 3260 | * emacs-lisp/lisp.el (beginning-of-defun-raw): Optimise (for | 3260 | * emacs-lisp/lisp.el (beginning-of-defun-raw): Optimize (for |
| 3261 | speed) the case when open-paren-in-column-0-is-defun-start is nil. | 3261 | speed) the case when open-paren-in-column-0-is-defun-start is nil. |
| 3262 | Based on code by Martin Rudalics. | 3262 | Based on code by Martin Rudalics. |
| 3263 | 3263 | ||
| @@ -4124,7 +4124,7 @@ | |||
| 4124 | 2006-11-15 Simon Marshall <simon@gnu.org> | 4124 | 2006-11-15 Simon Marshall <simon@gnu.org> |
| 4125 | 4125 | ||
| 4126 | * progmodes/cc-fonts.el (c-font-lock-declarators): Use c-at-toplevel-p | 4126 | * progmodes/cc-fonts.el (c-font-lock-declarators): Use c-at-toplevel-p |
| 4127 | to recognise "T t()" as a function declaration, rather than a | 4127 | to recognize "T t()" as a function declaration, rather than a |
| 4128 | variable instantiation, iff at the top-level or inside a class | 4128 | variable instantiation, iff at the top-level or inside a class |
| 4129 | declaration. Suggested by Feng Li <fengli@gmail.com>. | 4129 | declaration. Suggested by Feng Li <fengli@gmail.com>. |
| 4130 | 4130 | ||
| @@ -8722,7 +8722,7 @@ | |||
| 8722 | 8722 | ||
| 8723 | * progmodes/gdb-ui.el (gdb-same-frame): New option. | 8723 | * progmodes/gdb-ui.el (gdb-same-frame): New option. |
| 8724 | (gud-old-arrow, gdb-frame-begin, gdb-printing): New variables. | 8724 | (gud-old-arrow, gdb-frame-begin, gdb-printing): New variables. |
| 8725 | (gdb-init-1): Initialise them. | 8725 | (gdb-init-1): Initialize them. |
| 8726 | (gdb-starting): Reset gdb-printing. | 8726 | (gdb-starting): Reset gdb-printing. |
| 8727 | (gdb-starting): Save value of gud-overlay-arrow-position. | 8727 | (gdb-starting): Save value of gud-overlay-arrow-position. |
| 8728 | (gdb-frame-begin): Set gdb-frame-begin, gdb-printing. | 8728 | (gdb-frame-begin): Set gdb-frame-begin, gdb-printing. |
| @@ -10937,7 +10937,7 @@ | |||
| 10937 | 10937 | ||
| 10938 | 2006-04-10 Nick Roberts <nickrob@snap.net.nz> | 10938 | 2006-04-10 Nick Roberts <nickrob@snap.net.nz> |
| 10939 | 10939 | ||
| 10940 | * progmodes/gdb-ui.el (gdb-init-1): Re-initialise gdb-main-file to nil. | 10940 | * progmodes/gdb-ui.el (gdb-init-1): Re-initialize gdb-main-file to nil. |
| 10941 | (gdb-get-version): Make it work for pre "interpreter mi" (GDB 5.3?). | 10941 | (gdb-get-version): Make it work for pre "interpreter mi" (GDB 5.3?). |
| 10942 | (gdb-setup-windows): Put something in source window if we can't find | 10942 | (gdb-setup-windows): Put something in source window if we can't find |
| 10943 | the source file. | 10943 | the source file. |
| @@ -16153,7 +16153,7 @@ | |||
| 16153 | much cruft in cc-awk.el, cc-cmds.el and cc-engine.el to clear out. | 16153 | much cruft in cc-awk.el, cc-cmds.el and cc-engine.el to clear out. |
| 16154 | * progmodes/cc-cmds.el: | 16154 | * progmodes/cc-cmds.el: |
| 16155 | (c-ascertain-adjacent-literal): In the backwards direction, now | 16155 | (c-ascertain-adjacent-literal): In the backwards direction, now |
| 16156 | recognises AWK regexp delimiters as string delimiters. | 16156 | recognizes AWK regexp delimiters as string delimiters. |
| 16157 | (c-after-statement-terminator-p): Adapt for virtual semicolons; | 16157 | (c-after-statement-terminator-p): Adapt for virtual semicolons; |
| 16158 | check more rigorously for "end of macro". | 16158 | check more rigorously for "end of macro". |
| 16159 | (c-back-over-illiterals, c-forward-over-illiterals): Adapt for | 16159 | (c-back-over-illiterals, c-forward-over-illiterals): Adapt for |
| @@ -16280,7 +16280,7 @@ | |||
| 16280 | 16280 | ||
| 16281 | * progmodes/cc-cmds.el, cc-styles.el, cc-vars.el: New variables | 16281 | * progmodes/cc-cmds.el, cc-styles.el, cc-vars.el: New variables |
| 16282 | c-string-par-start/separate c-sentence-end-with-esc-eol, | 16282 | c-string-par-start/separate c-sentence-end-with-esc-eol, |
| 16283 | initialised in c-setup-paragraph-variables, used in string | 16283 | initialized in c-setup-paragraph-variables, used in string |
| 16284 | scanning subroutines of c-beginning-of-statement. | 16284 | scanning subroutines of c-beginning-of-statement. |
| 16285 | 16285 | ||
| 16286 | * progmodes/cc-cmds.el (c-electric-brace): Don't delete a comment | 16286 | * progmodes/cc-cmds.el (c-electric-brace): Don't delete a comment |
| @@ -22315,7 +22315,7 @@ | |||
| 22315 | * ibuf-ext.el (ibuffer-auto-update-changed): | 22315 | * ibuf-ext.el (ibuffer-auto-update-changed): |
| 22316 | Use `frame-or-buffer-changed-p' to check whether we need to update. | 22316 | Use `frame-or-buffer-changed-p' to check whether we need to update. |
| 22317 | (ibuffer-auto-mode): Don't advise `get-buffer-create' and | 22317 | (ibuffer-auto-mode): Don't advise `get-buffer-create' and |
| 22318 | `kill-buffer'. Initialise `ibuffer-auto-buffers-changed' | 22318 | `kill-buffer'. Initialize `ibuffer-auto-buffers-changed' |
| 22319 | as a `frame-or-buffer-changed-p' state vector instead. | 22319 | as a `frame-or-buffer-changed-p' state vector instead. |
| 22320 | 22320 | ||
| 22321 | 2005-08-27 Romain Francoise <romain@orebokech.com> | 22321 | 2005-08-27 Romain Francoise <romain@orebokech.com> |
diff --git a/lisp/ChangeLog.13 b/lisp/ChangeLog.13 index 319cdb14b9b..bfe0f4a7a51 100644 --- a/lisp/ChangeLog.13 +++ b/lisp/ChangeLog.13 | |||
| @@ -36,7 +36,7 @@ | |||
| 36 | 2008-02-01 Vinicius Jose Latorre <viniciusjl@ig.com.br> | 36 | 2008-02-01 Vinicius Jose Latorre <viniciusjl@ig.com.br> |
| 37 | 37 | ||
| 38 | * ps-print.el: Some face attributes (like :strike-through) were not | 38 | * ps-print.el: Some face attributes (like :strike-through) were not |
| 39 | being recognised. Reported by Leo <sdl.web@gmail.com>. | 39 | being recognized. Reported by Leo <sdl.web@gmail.com>. |
| 40 | (ps-print-version): New version 7.3.2. | 40 | (ps-print-version): New version 7.3.2. |
| 41 | (ps-screen-to-bit-face): Fix code. Call ps-face-strikeout-p, | 41 | (ps-screen-to-bit-face): Fix code. Call ps-face-strikeout-p, |
| 42 | ps-face-overline-p and ps-face-box-p functions. | 42 | ps-face-overline-p and ps-face-box-p functions. |
| @@ -315,7 +315,7 @@ | |||
| 315 | * language/ethio-util.el: | 315 | * language/ethio-util.el: |
| 316 | * international/characters.el: Use utf-8 rather than utf-8-emacs | 316 | * international/characters.el: Use utf-8 rather than utf-8-emacs |
| 317 | since it works as well and has the advantage of working with | 317 | since it works as well and has the advantage of working with |
| 318 | non-unicode versions of Emacs. | 318 | non-Unicode versions of Emacs. |
| 319 | 319 | ||
| 320 | * international/encoded-kb.el (encoded-kbd-setup-display): Use the new | 320 | * international/encoded-kb.el (encoded-kbd-setup-display): Use the new |
| 321 | multi-tty code, which includes the previous local change. | 321 | multi-tty code, which includes the previous local change. |
| @@ -1171,7 +1171,7 @@ | |||
| 1171 | 1171 | ||
| 1172 | * international/encoded-kb.el (encoded-kbd-self-insert-charset) | 1172 | * international/encoded-kb.el (encoded-kbd-self-insert-charset) |
| 1173 | (encoded-kbd-self-insert-utf-8, encoded-kbd-setup-keymap) | 1173 | (encoded-kbd-self-insert-utf-8, encoded-kbd-setup-keymap) |
| 1174 | (encoded-kbd-mode): Adjust code merged from trunk for unicode branch. | 1174 | (encoded-kbd-mode): Adjust code merged from trunk for Unicode branch. |
| 1175 | 1175 | ||
| 1176 | 2008-02-01 Kenichi Handa <handa@m17n.org> | 1176 | 2008-02-01 Kenichi Handa <handa@m17n.org> |
| 1177 | 1177 | ||
| @@ -1668,7 +1668,7 @@ | |||
| 1668 | 2008-02-01 Kenichi Handa <handa@m17n.org> | 1668 | 2008-02-01 Kenichi Handa <handa@m17n.org> |
| 1669 | 1669 | ||
| 1670 | * international/fontset.el: Enable the default fontset to use | 1670 | * international/fontset.el: Enable the default fontset to use |
| 1671 | unicode fonts for ASCII characters. | 1671 | Unicode fonts for ASCII characters. |
| 1672 | (x-decompose-font-name): Don't try to resolve PATTERN by | 1672 | (x-decompose-font-name): Don't try to resolve PATTERN by |
| 1673 | x-resolve-font-name. | 1673 | x-resolve-font-name. |
| 1674 | (x-complement-fontset-spec): Never prepend an ASCII font. | 1674 | (x-complement-fontset-spec): Never prepend an ASCII font. |
| @@ -2331,9 +2331,9 @@ | |||
| 2331 | New coding systems. | 2331 | New coding systems. |
| 2332 | ("Chinese-GBK"): New environment. | 2332 | ("Chinese-GBK"): New environment. |
| 2333 | 2333 | ||
| 2334 | * language/thai-util.el: Remove redundant unicodes in category-setting. | 2334 | * language/thai-util.el: |
| 2335 | 2335 | * language/lao-util.el: Remove redundant Unicode characters | |
| 2336 | * language/lao-util.el: Remove redundant unicodes in category-setting. | 2336 | in category-setting. |
| 2337 | 2337 | ||
| 2338 | * international/mule-conf.el (japanese-jisx0213-1) | 2338 | * international/mule-conf.el (japanese-jisx0213-1) |
| 2339 | (japanese-jisx0213-2): Add unify-map. | 2339 | (japanese-jisx0213-2): Add unify-map. |
| @@ -2358,7 +2358,8 @@ | |||
| 2358 | 2358 | ||
| 2359 | * language/cyril-util.el (cyrillic-encode-koi8-r-char) | 2359 | * language/cyril-util.el (cyrillic-encode-koi8-r-char) |
| 2360 | (cyrillic-encode-alternativnyj-char): Fix. | 2360 | (cyrillic-encode-alternativnyj-char): Fix. |
| 2361 | (standard-display-cyrillic-translit): Remove redundant unicodes. | 2361 | (standard-display-cyrillic-translit): |
| 2362 | Remove redundant Unicode characters. | ||
| 2362 | 2363 | ||
| 2363 | 2008-02-01 Dave Love <fx@gnu.org> | 2364 | 2008-02-01 Dave Love <fx@gnu.org> |
| 2364 | 2365 | ||
| @@ -2417,7 +2418,7 @@ | |||
| 2417 | lengths of the pair. | 2418 | lengths of the pair. |
| 2418 | 2419 | ||
| 2419 | * international/characters.el: Add Vietnamese category to | 2420 | * international/characters.el: Add Vietnamese category to |
| 2420 | equivalent unicodes. | 2421 | equivalent Unicode characters. |
| 2421 | 2422 | ||
| 2422 | 2008-02-01 Dave Love <fx@gnu.org> | 2423 | 2008-02-01 Dave Love <fx@gnu.org> |
| 2423 | 2424 | ||
| @@ -2518,7 +2519,7 @@ | |||
| 2518 | (print-designation): Partial re-write. | 2519 | (print-designation): Partial re-write. |
| 2519 | (describe-coding-system): Deal with iso-2022 designations, flags. | 2520 | (describe-coding-system): Deal with iso-2022 designations, flags. |
| 2520 | Fix shift_jis case. | 2521 | Fix shift_jis case. |
| 2521 | (describe-char-after): Use characterp. Print explicit unicode. | 2522 | (describe-char-after): Use characterp. Print explicit Unicode code point. |
| 2522 | Remove some obsolete code. | 2523 | Remove some obsolete code. |
| 2523 | (print-coding-system-briefly): Fix printing aliases. | 2524 | (print-coding-system-briefly): Fix printing aliases. |
| 2524 | (print-coding-system): Use coding-system-aliases. | 2525 | (print-coding-system): Use coding-system-aliases. |
| @@ -2587,7 +2588,7 @@ | |||
| 2587 | 2588 | ||
| 2588 | * Makefile.in: Cancel the 2008-02-01 change of mine. | 2589 | * Makefile.in: Cancel the 2008-02-01 change of mine. |
| 2589 | 2590 | ||
| 2590 | * international/fontset.el: Add setting for unicode font at the | 2591 | * international/fontset.el: Add setting for Unicode font at the |
| 2591 | end of the default fontset. | 2592 | end of the default fontset. |
| 2592 | 2593 | ||
| 2593 | 2008-02-01 Dave Love <fx@gnu.org> | 2594 | 2008-02-01 Dave Love <fx@gnu.org> |
| @@ -2742,7 +2743,7 @@ | |||
| 2742 | 2743 | ||
| 2743 | * international/ja-dic-utl.el (skkdic-jisx0208-hiragana-block): | 2744 | * international/ja-dic-utl.el (skkdic-jisx0208-hiragana-block): |
| 2744 | Fix the initial value to specify character range of | 2745 | Fix the initial value to specify character range of |
| 2745 | japanese-jisx0208, not unicode. | 2746 | japanese-jisx0208, not Unicode. |
| 2746 | 2747 | ||
| 2747 | * international/characters.el: Set syntax/category for | 2748 | * international/characters.el: Set syntax/category for |
| 2748 | japanese-jisx0208. | 2749 | japanese-jisx0208. |
| @@ -4137,7 +4138,7 @@ | |||
| 4137 | 2008-01-14 Alan Mackenzie <acm@muc.de> | 4138 | 2008-01-14 Alan Mackenzie <acm@muc.de> |
| 4138 | 4139 | ||
| 4139 | * progmodes/cc-engine.el (c-guess-basic-syntax): Prevent a macro | 4140 | * progmodes/cc-engine.el (c-guess-basic-syntax): Prevent a macro |
| 4140 | call inside a struct being recognised as a K&R argument. | 4141 | call inside a struct being recognized as a K&R argument. |
| 4141 | 4142 | ||
| 4142 | 2008-01-14 Stefan Monnier <monnier@iro.umontreal.ca> | 4143 | 2008-01-14 Stefan Monnier <monnier@iro.umontreal.ca> |
| 4143 | 4144 | ||
| @@ -6265,7 +6266,7 @@ | |||
| 6265 | delete .elc files. | 6266 | delete .elc files. |
| 6266 | 6267 | ||
| 6267 | * nxml/char-name/unicode: Move to etc/nxml/. | 6268 | * nxml/char-name/unicode: Move to etc/nxml/. |
| 6268 | * nxml/nxml-uchnm.el (top-level): Adapt for moved unicode files. | 6269 | * nxml/nxml-uchnm.el (top-level): Adapt for moved Unicode files. |
| 6269 | 6270 | ||
| 6270 | * nxml/nxml-enc.el (xmltok-get-declared-encoding-position): | 6271 | * nxml/nxml-enc.el (xmltok-get-declared-encoding-position): |
| 6271 | Declare as a function. | 6272 | Declare as a function. |
| @@ -12544,7 +12545,7 @@ | |||
| 12544 | a weird set-buffer&prog1 combination. | 12545 | a weird set-buffer&prog1 combination. |
| 12545 | 12546 | ||
| 12546 | * emacs-lisp/byte-opt.el (byte-optimize-if): Move `progn' out of the | 12547 | * emacs-lisp/byte-opt.el (byte-optimize-if): Move `progn' out of the |
| 12547 | test so as to optimise cases where the `progn's result is constant. | 12548 | test so as to optimize cases where the `progn's result is constant. |
| 12548 | 12549 | ||
| 12549 | 2007-08-23 Thien-Thi Nguyen <ttn@gnuvola.org> | 12550 | 2007-08-23 Thien-Thi Nguyen <ttn@gnuvola.org> |
| 12550 | 12551 | ||
| @@ -13845,7 +13846,7 @@ | |||
| 13845 | 2007-07-24 Alan Mackenzie <acm@muc.de> | 13846 | 2007-07-24 Alan Mackenzie <acm@muc.de> |
| 13846 | 13847 | ||
| 13847 | * emacs-lisp/bytecomp.el (byte-compile-from-buffer): | 13848 | * emacs-lisp/bytecomp.el (byte-compile-from-buffer): |
| 13848 | Initialise byte-compile-unresolved-functions before rather than | 13849 | Initialize byte-compile-unresolved-functions before rather than |
| 13849 | after a compilation. | 13850 | after a compilation. |
| 13850 | (byte-compile-unresolved-functions): Amplify doc string. | 13851 | (byte-compile-unresolved-functions): Amplify doc string. |
| 13851 | 13852 | ||
| @@ -14943,7 +14944,7 @@ | |||
| 14943 | 2007-07-05 Thien-Thi Nguyen <ttn@gnuvola.org> | 14944 | 2007-07-05 Thien-Thi Nguyen <ttn@gnuvola.org> |
| 14944 | 14945 | ||
| 14945 | * Makefile.in (bootstrap-prepare): When copying from | 14946 | * Makefile.in (bootstrap-prepare): When copying from |
| 14946 | ldefs-boot.el, make sure loaddefs.el is writeable. | 14947 | ldefs-boot.el, make sure loaddefs.el is writable. |
| 14947 | 14948 | ||
| 14948 | (bootstrap-prepare): Make $(lisp)/ps-print.el | 14949 | (bootstrap-prepare): Make $(lisp)/ps-print.el |
| 14949 | and $(lisp)/emacs-lisp/cl-loaddefs.el writable, as well. | 14950 | and $(lisp)/emacs-lisp/cl-loaddefs.el writable, as well. |
| @@ -15910,14 +15911,14 @@ | |||
| 15910 | 2007-06-08 Stefan Monnier <monnier@iro.umontreal.ca> | 15911 | 2007-06-08 Stefan Monnier <monnier@iro.umontreal.ca> |
| 15911 | 15912 | ||
| 15912 | * textmodes/css-mode.el (css-navigation-syntax-table): | 15913 | * textmodes/css-mode.el (css-navigation-syntax-table): |
| 15913 | Use set-char-table-range so it also works in the unicode branch. | 15914 | Use set-char-table-range so it also works in the Unicode branch. |
| 15914 | 15915 | ||
| 15915 | 2007-06-08 Nick Roberts <nickrob@snap.net.nz> | 15916 | 2007-06-08 Nick Roberts <nickrob@snap.net.nz> |
| 15916 | 15917 | ||
| 15917 | * help-mode.el (help-xref-forward-stack) | 15918 | * help-mode.el (help-xref-forward-stack) |
| 15918 | (help-xref-stack-forward-item, help-forward-label): New variables. | 15919 | (help-xref-stack-forward-item, help-forward-label): New variables. |
| 15919 | (help-forward): New button type. | 15920 | (help-forward): New button type. |
| 15920 | (help-setup-xref): Initialise help-xref-forward-stack. | 15921 | (help-setup-xref): Initialize help-xref-forward-stack. |
| 15921 | (help-make-xrefs): Add forward button, if appropriate. | 15922 | (help-make-xrefs): Add forward button, if appropriate. |
| 15922 | (help-xref-go-back): Push item on forward stack. | 15923 | (help-xref-go-back): Push item on forward stack. |
| 15923 | (help-xref-go-forward, help-go-forward): New functions. | 15924 | (help-xref-go-forward, help-go-forward): New functions. |
diff --git a/lisp/ChangeLog.14 b/lisp/ChangeLog.14 index cd91dfad28c..0348a0141a2 100644 --- a/lisp/ChangeLog.14 +++ b/lisp/ChangeLog.14 | |||
| @@ -30,7 +30,7 @@ | |||
| 30 | 2009-06-19 Kenichi Handa <handa@m17n.org> | 30 | 2009-06-19 Kenichi Handa <handa@m17n.org> |
| 31 | 31 | ||
| 32 | * international/fontset.el (setup-default-fontset): Add a spec of | 32 | * international/fontset.el (setup-default-fontset): Add a spec of |
| 33 | non-OTF unicode font for Thai. | 33 | non-OTF Unicode font for Thai. |
| 34 | 34 | ||
| 35 | * fringe.el: Add coding: utf-8 cookie. | 35 | * fringe.el: Add coding: utf-8 cookie. |
| 36 | 36 | ||
| @@ -8483,7 +8483,7 @@ | |||
| 8483 | 8483 | ||
| 8484 | 2008-07-31 Chong Yidong <cyd@stupidchicken.com> | 8484 | 2008-07-31 Chong Yidong <cyd@stupidchicken.com> |
| 8485 | 8485 | ||
| 8486 | * Makefile.in: Avoid maintainer warning for autogenerated unicode | 8486 | * Makefile.in: Avoid maintainer warning for autogenerated Unicode |
| 8487 | files. | 8487 | files. |
| 8488 | 8488 | ||
| 8489 | * apropos.el (apropos-symbol): Don't set button skip by default. | 8489 | * apropos.el (apropos-symbol): Don't set button skip by default. |
| @@ -13629,7 +13629,7 @@ | |||
| 13629 | (completion-emacs22-try-completion): Place cursor after the /, as was | 13629 | (completion-emacs22-try-completion): Place cursor after the /, as was |
| 13630 | done in Emacs-22's minibuffer-complete-word. | 13630 | done in Emacs-22's minibuffer-complete-word. |
| 13631 | Fix bug reported by David Hansen <david.hansen@gmx.net>. | 13631 | Fix bug reported by David Hansen <david.hansen@gmx.net>. |
| 13632 | (completion-emacs22-try-completion): Merge all mergeable text rather | 13632 | (completion-emacs22-try-completion): Merge all mergable text rather |
| 13633 | than just /. | 13633 | than just /. |
| 13634 | (completion-pcm--delim-wild-regex): New var. | 13634 | (completion-pcm--delim-wild-regex): New var. |
| 13635 | (completion-pcm-word-delimiters): New custom. | 13635 | (completion-pcm-word-delimiters): New custom. |
| @@ -14189,7 +14189,7 @@ | |||
| 14189 | 2008-04-19 Nick Roberts <nickrob@snap.net.nz> | 14189 | 2008-04-19 Nick Roberts <nickrob@snap.net.nz> |
| 14190 | 14190 | ||
| 14191 | * progmodes/gdb-ui.el (gdb-thread-indicator): New variable. | 14191 | * progmodes/gdb-ui.el (gdb-thread-indicator): New variable. |
| 14192 | (gdb-init-1): Initialise it. | 14192 | (gdb-init-1): Initialize it. |
| 14193 | (gdb-annotation-rules): New entry for "new-thread". | 14193 | (gdb-annotation-rules): New entry for "new-thread". |
| 14194 | (gdb-thread-identification): New function to customize | 14194 | (gdb-thread-identification): New function to customize |
| 14195 | mode-line-buffer-identification. | 14195 | mode-line-buffer-identification. |
| @@ -15994,11 +15994,11 @@ | |||
| 15994 | 2008-04-02 Alan Mackenzie <acm@muc.de> | 15994 | 2008-04-02 Alan Mackenzie <acm@muc.de> |
| 15995 | 15995 | ||
| 15996 | * progmodes/cc-cmds.el (c-defun-name, c-cpp-define-name): | 15996 | * progmodes/cc-cmds.el (c-defun-name, c-cpp-define-name): |
| 15997 | New optimised functions to get the name of the current defun/macro. | 15997 | New optimized functions to get the name of the current defun/macro. |
| 15998 | 15998 | ||
| 15999 | * add-log.el (add-log-current-defun): Move the functionality which | 15999 | * add-log.el (add-log-current-defun): Move the functionality which |
| 16000 | gets the current function name for C like modes to cc-cmds.el, | 16000 | gets the current function name for C like modes to cc-cmds.el, |
| 16001 | thus optimising for speed. | 16001 | thus optimizing for speed. |
| 16002 | 16002 | ||
| 16003 | 2008-04-02 Chong Yidong <cyd@stupidchicken.com> | 16003 | 2008-04-02 Chong Yidong <cyd@stupidchicken.com> |
| 16004 | 16004 | ||
| @@ -16095,10 +16095,10 @@ | |||
| 16095 | covering IPA (previously Latin), Phonetic Extensions and | 16095 | covering IPA (previously Latin), Phonetic Extensions and |
| 16096 | Phonetic Extensions Supplement (both previously unassigned). | 16096 | Phonetic Extensions Supplement (both previously unassigned). |
| 16097 | 16097 | ||
| 16098 | * international/fontset.el (setup-default-fontset): Use unicode fonts | 16098 | * international/fontset.el (setup-default-fontset): Use Unicode fonts |
| 16099 | that cover bopomofo script for bopomofo. | 16099 | that cover bopomofo script for bopomofo. |
| 16100 | Likewise for braille and mathematical. | 16100 | Likewise for braille and mathematical. |
| 16101 | Use unicode scripts that cover the phonetic script for IPA. | 16101 | Use Unicode scripts that cover the phonetic script for IPA. |
| 16102 | 16102 | ||
| 16103 | 2008-04-01 Johan Bockgård <bojohan@gnu.org> | 16103 | 2008-04-01 Johan Bockgård <bojohan@gnu.org> |
| 16104 | 16104 | ||
| @@ -19392,7 +19392,7 @@ | |||
| 19392 | * progmodes/cc-mode.el (c-basic-common-init): C and ObjC now use | 19392 | * progmodes/cc-mode.el (c-basic-common-init): C and ObjC now use |
| 19393 | syntax-table text properties. | 19393 | syntax-table text properties. |
| 19394 | (c-common-init): Call language specific before/after-change | 19394 | (c-common-init): Call language specific before/after-change |
| 19395 | functions at mode initialisation. | 19395 | functions at mode initialization. |
| 19396 | (c-new-BEG, c-new-END, c-old-BOM, c-old-EOM): New variables. | 19396 | (c-new-BEG, c-new-END, c-old-BOM, c-old-EOM): New variables. |
| 19397 | (c-extend-region-for-CPP, c-neutralize-CPP-line) | 19397 | (c-extend-region-for-CPP, c-neutralize-CPP-line) |
| 19398 | (c-neutralize-syntax-in-CPP): New functions. | 19398 | (c-neutralize-syntax-in-CPP): New functions. |
diff --git a/lisp/ChangeLog.15 b/lisp/ChangeLog.15 index ddd8ad7e7ff..04133f17364 100644 --- a/lisp/ChangeLog.15 +++ b/lisp/ChangeLog.15 | |||
| @@ -2790,13 +2790,13 @@ | |||
| 2790 | * net/tramp-gw.el: | 2790 | * net/tramp-gw.el: |
| 2791 | * net/tramp-imap.el: | 2791 | * net/tramp-imap.el: |
| 2792 | * net/tramp-sh.el: | 2792 | * net/tramp-sh.el: |
| 2793 | * net/tramp-smb.el: Add tramp-autoload cookie for initialisation | 2793 | * net/tramp-smb.el: Add tramp-autoload cookie for initialization |
| 2794 | code of `tramp-default-method-alist' and `tramp-default-user-alist'. | 2794 | code of `tramp-default-method-alist' and `tramp-default-user-alist'. |
| 2795 | 2795 | ||
| 2796 | 2010-12-29 Karl Fogel <kfogel@red-bean.com> | 2796 | 2010-12-29 Karl Fogel <kfogel@red-bean.com> |
| 2797 | 2797 | ||
| 2798 | * saveplace.el (save-place-alist-to-file): Save list sorted and | 2798 | * saveplace.el (save-place-alist-to-file): Save list sorted and |
| 2799 | pretty-printed, so that it is mergeable by line-based text merging, | 2799 | pretty-printed, so that it is mergable by line-based text merging, |
| 2800 | as suggested by Iain Dalton <iain.dalton {_AT_} gmail.com>. | 2800 | as suggested by Iain Dalton <iain.dalton {_AT_} gmail.com>. |
| 2801 | 2801 | ||
| 2802 | 2010-12-28 Ken Manheimer <ken.manheimer@gmail.com> | 2802 | 2010-12-28 Ken Manheimer <ken.manheimer@gmail.com> |
| @@ -5376,7 +5376,7 @@ | |||
| 5376 | 5376 | ||
| 5377 | 2010-10-21 Lars Magne Ingebrigtsen <larsi@gnus.org> | 5377 | 2010-10-21 Lars Magne Ingebrigtsen <larsi@gnus.org> |
| 5378 | 5378 | ||
| 5379 | * newcomment.el (comment-dwim): Fix the intentation in the doc string. | 5379 | * newcomment.el (comment-dwim): Fix the indentation in the doc string. |
| 5380 | 5380 | ||
| 5381 | 2010-10-21 Michael Albinus <michael.albinus@gmx.de> | 5381 | 2010-10-21 Michael Albinus <michael.albinus@gmx.de> |
| 5382 | 5382 | ||
| @@ -7632,7 +7632,7 @@ | |||
| 7632 | (post-self-insert-hook): Use it. | 7632 | (post-self-insert-hook): Use it. |
| 7633 | 7633 | ||
| 7634 | * emacs-lisp/pcase.el (pcase-split-memq): | 7634 | * emacs-lisp/pcase.el (pcase-split-memq): |
| 7635 | Fix overenthusiastic optimisation. | 7635 | Fix overenthusiastic optimization. |
| 7636 | (pcase-u1): Handle the case of a lambda pred. | 7636 | (pcase-u1): Handle the case of a lambda pred. |
| 7637 | 7637 | ||
| 7638 | 2010-08-31 Kenichi Handa <handa@m17n.org> | 7638 | 2010-08-31 Kenichi Handa <handa@m17n.org> |
| @@ -9381,7 +9381,7 @@ | |||
| 9381 | 9381 | ||
| 9382 | Fix an indentation bug: | 9382 | Fix an indentation bug: |
| 9383 | 9383 | ||
| 9384 | * progmodes/cc-mode.el (c-common-init): Initialise c-new-BEG/END. | 9384 | * progmodes/cc-mode.el (c-common-init): Initialize c-new-BEG/END. |
| 9385 | (c-neutralize-syntax-in-and-mark-CPP): c-new-BEG/END: Take account | 9385 | (c-neutralize-syntax-in-and-mark-CPP): c-new-BEG/END: Take account |
| 9386 | of existing values. | 9386 | of existing values. |
| 9387 | 9387 | ||
| @@ -13225,7 +13225,7 @@ | |||
| 13225 | 2010-02-04 Michael Albinus <michael.albinus@gmx.de> | 13225 | 2010-02-04 Michael Albinus <michael.albinus@gmx.de> |
| 13226 | 13226 | ||
| 13227 | * dired.el (dired-revert): If DIRED-DIRECTORY is a cons cell, call | 13227 | * dired.el (dired-revert): If DIRED-DIRECTORY is a cons cell, call |
| 13228 | `dired-uncache' for every elemnt which is an absolute file name. | 13228 | `dired-uncache' for every element which is an absolute file name. |
| 13229 | 13229 | ||
| 13230 | * net/tramp.el (tramp-handle-dired-uncache): When DIR is not a | 13230 | * net/tramp.el (tramp-handle-dired-uncache): When DIR is not a |
| 13231 | directory, handle its directory component. | 13231 | directory, handle its directory component. |
| @@ -14596,7 +14596,7 @@ | |||
| 14596 | 2009-12-05 Kevin Ryde <user42@zip.com.au> | 14596 | 2009-12-05 Kevin Ryde <user42@zip.com.au> |
| 14597 | 14597 | ||
| 14598 | * textmodes/sgml-mode.el (sgml-lexical-context): | 14598 | * textmodes/sgml-mode.el (sgml-lexical-context): |
| 14599 | Recognise comment-start-skip to comment-end-skip as comment (Bug#4781). | 14599 | Recognize comment-start-skip to comment-end-skip as comment (Bug#4781). |
| 14600 | 14600 | ||
| 14601 | 2009-12-05 Juri Linkov <juri@jurta.org> | 14601 | 2009-12-05 Juri Linkov <juri@jurta.org> |
| 14602 | 14602 | ||
diff --git a/lisp/ChangeLog.2 b/lisp/ChangeLog.2 index 36046562653..65005a4ba47 100644 --- a/lisp/ChangeLog.2 +++ b/lisp/ChangeLog.2 | |||
| @@ -1960,7 +1960,7 @@ | |||
| 1960 | window for it. | 1960 | window for it. |
| 1961 | 1961 | ||
| 1962 | * terminal.el (te-filter): | 1962 | * terminal.el (te-filter): |
| 1963 | Save/restore point from te-saved-point to minimise the lossage | 1963 | Save/restore point from te-saved-point to minimize the lossage |
| 1964 | vandals can inflict. | 1964 | vandals can inflict. |
| 1965 | 1965 | ||
| 1966 | 1987-01-09 Richard M. Stallman (rms@prep) | 1966 | 1987-01-09 Richard M. Stallman (rms@prep) |
| @@ -2190,7 +2190,7 @@ | |||
| 2190 | 1986-12-15 Richard Mlynarik (mly@prep) | 2190 | 1986-12-15 Richard Mlynarik (mly@prep) |
| 2191 | 2191 | ||
| 2192 | * fortran.el: | 2192 | * fortran.el: |
| 2193 | Initialise fortran-mode-abbrev-table correctly. | 2193 | Initialize fortran-mode-abbrev-table correctly. |
| 2194 | 2194 | ||
| 2195 | * fortran.el: | 2195 | * fortran.el: |
| 2196 | fortran-comment-indent-char should be a character (a fixnum), not | 2196 | fortran-comment-indent-char should be a character (a fixnum), not |
| @@ -3788,7 +3788,7 @@ | |||
| 3788 | 3788 | ||
| 3789 | 1986-06-17 Richard M. Stallman (rms@prep) | 3789 | 1986-06-17 Richard M. Stallman (rms@prep) |
| 3790 | 3790 | ||
| 3791 | * nroff-mode.el: Add elements to nrofff-brace-table. | 3791 | * nroff-mode.el: Add elements to nroff-brace-table. |
| 3792 | 3792 | ||
| 3793 | 1986-06-16 Richard M. Stallman (rms@prep) | 3793 | 1986-06-16 Richard M. Stallman (rms@prep) |
| 3794 | 3794 | ||
| @@ -4008,4 +4008,3 @@ See ChangeLog.1 for earlier changes. | |||
| 4008 | 4008 | ||
| 4009 | You should have received a copy of the GNU General Public License | 4009 | You should have received a copy of the GNU General Public License |
| 4010 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. | 4010 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |
| 4011 | |||
diff --git a/lisp/ChangeLog.3 b/lisp/ChangeLog.3 index 8cafac2c0c4..2b384d79169 100644 --- a/lisp/ChangeLog.3 +++ b/lisp/ChangeLog.3 | |||
| @@ -1905,7 +1905,7 @@ | |||
| 1905 | 1905 | ||
| 1906 | * Makefile: Created. This exists mainly so developers elsewhere | 1906 | * Makefile: Created. This exists mainly so developers elsewhere |
| 1907 | can unlock the lisp files to accept an update tar, then relock | 1907 | can unlock the lisp files to accept an update tar, then relock |
| 1908 | them without locking the few that should stay writeable. | 1908 | them without locking the few that should stay writable. |
| 1909 | 1909 | ||
| 1910 | * solar.el, ange-ftp.el: Corrected Keywords header | 1910 | * solar.el, ange-ftp.el: Corrected Keywords header |
| 1911 | 1911 | ||
diff --git a/lisp/ChangeLog.4 b/lisp/ChangeLog.4 index f9407ce20d8..b2cdc634f84 100644 --- a/lisp/ChangeLog.4 +++ b/lisp/ChangeLog.4 | |||
| @@ -2462,7 +2462,7 @@ | |||
| 2462 | 1994-03-03 Simon Marshall (Simon.Marshall@mail.esrin.esa.it) | 2462 | 1994-03-03 Simon Marshall (Simon.Marshall@mail.esrin.esa.it) |
| 2463 | 2463 | ||
| 2464 | * cmuscheme.el (inferior-scheme-mode): Removed unnecessary | 2464 | * cmuscheme.el (inferior-scheme-mode): Removed unnecessary |
| 2465 | initialisation of comint-input-sentinel. | 2465 | initialization of comint-input-sentinel. |
| 2466 | 2466 | ||
| 2467 | * shell.el (shell-dynamic-complete-functions): New variable. | 2467 | * shell.el (shell-dynamic-complete-functions): New variable. |
| 2468 | (shell-mode): Use it to set comint-dynamic-complete-functions. | 2468 | (shell-mode): Use it to set comint-dynamic-complete-functions. |
| @@ -4958,7 +4958,7 @@ | |||
| 4958 | 1993-11-08 Simon Marshall (Simon.Marshall@mail.esrin.esa.it) | 4958 | 1993-11-08 Simon Marshall (Simon.Marshall@mail.esrin.esa.it) |
| 4959 | 4959 | ||
| 4960 | * comint.el (comint-preinput-scroll-to-bottom): Added | 4960 | * comint.el (comint-preinput-scroll-to-bottom): Added |
| 4961 | comint-magic-space to list of commands recognised as inserting. | 4961 | comint-magic-space to list of commands recognized as inserting. |
| 4962 | 4962 | ||
| 4963 | * comint.el (comint-output-filter): Corrected check for killed | 4963 | * comint.el (comint-output-filter): Corrected check for killed |
| 4964 | buffer. | 4964 | buffer. |
| @@ -5202,7 +5202,7 @@ | |||
| 5202 | 5202 | ||
| 5203 | * comint.el (comint-last-output-start): New variable to record | 5203 | * comint.el (comint-last-output-start): New variable to record |
| 5204 | where most recent process output started from. | 5204 | where most recent process output started from. |
| 5205 | (comint-mode): Initialise it. | 5205 | (comint-mode): Initialize it. |
| 5206 | (comint-output-filter): Set it. | 5206 | (comint-output-filter): Set it. |
| 5207 | 5207 | ||
| 5208 | * comint.el (comint-previous-matching-input-string): Moved to | 5208 | * comint.el (comint-previous-matching-input-string): Moved to |
| @@ -5220,7 +5220,7 @@ | |||
| 5220 | they move within the buffer rather than do input. | 5220 | they move within the buffer rather than do input. |
| 5221 | 5221 | ||
| 5222 | * comint.el (comint-send-input, comint-after-pmark-p) | 5222 | * comint.el (comint-send-input, comint-after-pmark-p) |
| 5223 | (comint-kill-input, comint-proc-query): Removed serialisation of | 5223 | (comint-kill-input, comint-proc-query): Removed serialization of |
| 5224 | obtaining the process mark's marker-position. | 5224 | obtaining the process mark's marker-position. |
| 5225 | 5225 | ||
| 5226 | * comint.el, shell.el: Commented out comint/shell-load-hooks. | 5226 | * comint.el, shell.el: Commented out comint/shell-load-hooks. |
| @@ -8952,4 +8952,3 @@ See ChangeLog.3 for earlier changes. | |||
| 8952 | 8952 | ||
| 8953 | You should have received a copy of the GNU General Public License | 8953 | You should have received a copy of the GNU General Public License |
| 8954 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. | 8954 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |
| 8955 | |||
diff --git a/lisp/ChangeLog.5 b/lisp/ChangeLog.5 index 2d61f464a29..b536f7f1b66 100644 --- a/lisp/ChangeLog.5 +++ b/lisp/ChangeLog.5 | |||
| @@ -475,8 +475,8 @@ | |||
| 475 | * viper.el (vip-put-back, vip-Put-back): Now emulate Vi's behavior | 475 | * viper.el (vip-put-back, vip-Put-back): Now emulate Vi's behavior |
| 476 | more closely. | 476 | more closely. |
| 477 | 477 | ||
| 478 | * viper.el (vip-line): No longer not bombs out. | 478 | * viper.el (vip-line): No longer bombs out. |
| 479 | (vip-exec-shift) now preserves the point. | 479 | (vip-exec-shift): Now preserves the point. |
| 480 | 480 | ||
| 481 | * viper.el: Fixed the behavior of the Vi commands M, L, G, yw, dg, etc. | 481 | * viper.el: Fixed the behavior of the Vi commands M, L, G, yw, dg, etc. |
| 482 | 482 | ||
| @@ -2880,7 +2880,7 @@ | |||
| 2880 | 2880 | ||
| 2881 | 1995-03-02 Simon Marshall <simon@duality.gnu.ai.mit.edu> | 2881 | 1995-03-02 Simon Marshall <simon@duality.gnu.ai.mit.edu> |
| 2882 | 2882 | ||
| 2883 | * font-lock.el (font-lock-maximum-decoration) New variable. | 2883 | * font-lock.el (font-lock-maximum-decoration): New variable. |
| 2884 | (font-lock-after-fontify-buffer-hook): New variable. | 2884 | (font-lock-after-fontify-buffer-hook): New variable. |
| 2885 | (font-lock-fontify-buffer): Run it after fontifying. | 2885 | (font-lock-fontify-buffer): Run it after fontifying. |
| 2886 | (font-lock-thing-lock-cleanup): New function to turn things off. | 2886 | (font-lock-thing-lock-cleanup): New function to turn things off. |
| @@ -4133,7 +4133,7 @@ | |||
| 4133 | 4133 | ||
| 4134 | * startup.el (command-line-1): Handle -f with kbd macro. | 4134 | * startup.el (command-line-1): Handle -f with kbd macro. |
| 4135 | 4135 | ||
| 4136 | * msb.el (mouse-select-buffer) Handle an aborted selection. | 4136 | * msb.el (mouse-select-buffer): Handle an aborted selection. |
| 4137 | 4137 | ||
| 4138 | 1995-01-11 Richard Stallman <rms@mole.gnu.ai.mit.edu> | 4138 | 1995-01-11 Richard Stallman <rms@mole.gnu.ai.mit.edu> |
| 4139 | 4139 | ||
| @@ -4522,7 +4522,7 @@ | |||
| 4522 | * gud.el (gdb): Correct tbreak doc string. | 4522 | * gud.el (gdb): Correct tbreak doc string. |
| 4523 | (gud-mode): Define a Gud menu. | 4523 | (gud-mode): Define a Gud menu. |
| 4524 | (gdb): Set debugger-specific menu entries. | 4524 | (gdb): Set debugger-specific menu entries. |
| 4525 | (sdb) (dbx) (xdb): Likewise. | 4525 | (sdb, dbx, xdb): Likewise. |
| 4526 | 4526 | ||
| 4527 | 1994-12-22 Richard Stallman <rms@mole.gnu.ai.mit.edu> | 4527 | 1994-12-22 Richard Stallman <rms@mole.gnu.ai.mit.edu> |
| 4528 | 4528 | ||
| @@ -6165,7 +6165,7 @@ | |||
| 6165 | 6165 | ||
| 6166 | 1994-10-05 Simon Marshall <Simon.Marshall@mail.esrin.esa.it> | 6166 | 1994-10-05 Simon Marshall <Simon.Marshall@mail.esrin.esa.it> |
| 6167 | 6167 | ||
| 6168 | * comint.el (comint-check-proc): Recognise `open'. | 6168 | * comint.el (comint-check-proc): Recognize `open'. |
| 6169 | (comint-exec): Use open-network-stream if command is a cons pair. | 6169 | (comint-exec): Use open-network-stream if command is a cons pair. |
| 6170 | 6170 | ||
| 6171 | * font-lock.el (compilation-mode-font-lock-keywords, | 6171 | * font-lock.el (compilation-mode-font-lock-keywords, |
| @@ -6861,7 +6861,7 @@ | |||
| 6861 | (Man-mode-map): Changed the meanings of ",", ".", "q". Added new | 6861 | (Man-mode-map): Changed the meanings of ",", ".", "q". Added new |
| 6862 | keys ">", "<", "k". | 6862 | keys ">", "<", "k". |
| 6863 | (Man-page-mode-string): Function deleted. | 6863 | (Man-page-mode-string): Function deleted. |
| 6864 | (Man-init-defvars): New function used for initialising the system | 6864 | (Man-init-defvars): New function used for initializing the system |
| 6865 | and environment dependent variables Man-fontify-manpage-flag, | 6865 | and environment dependent variables Man-fontify-manpage-flag, |
| 6866 | Man-uses-untabify, Man-sed-script, Man-filter-list. | 6866 | Man-uses-untabify, Man-sed-script, Man-filter-list. |
| 6867 | (Man-delete-trailing-newlines): Function deleted. | 6867 | (Man-delete-trailing-newlines): Function deleted. |
| @@ -6954,7 +6954,7 @@ | |||
| 6954 | 6954 | ||
| 6955 | 1994-09-19 Francesco Potortì <pot@cnuce.cnr.it> | 6955 | 1994-09-19 Francesco Potortì <pot@cnuce.cnr.it> |
| 6956 | 6956 | ||
| 6957 | * rlogin.el (rlogin): Recognise the `-l user' option to rlogin and | 6957 | * rlogin.el (rlogin): Recognize the `-l user' option to rlogin and |
| 6958 | let comint and ange-ftp know about the correct home directory. | 6958 | let comint and ange-ftp know about the correct home directory. |
| 6959 | 6959 | ||
| 6960 | 1994-09-19 Richard Stallman <rms@mole.gnu.ai.mit.edu> | 6960 | 1994-09-19 Richard Stallman <rms@mole.gnu.ai.mit.edu> |
| @@ -8114,9 +8114,9 @@ | |||
| 8114 | Modified to work with remote and compressed files. | 8114 | Modified to work with remote and compressed files. |
| 8115 | 8115 | ||
| 8116 | * ediff.el (ediff-read-file-name, ediff-buffers): Better defaults. | 8116 | * ediff.el (ediff-read-file-name, ediff-buffers): Better defaults. |
| 8117 | (ediff-read-file-name) Handle OS/2. | 8117 | (ediff-read-file-name): Handle OS/2. |
| 8118 | 8118 | ||
| 8119 | * ediff.el (ediff-forward-word-function) New function. | 8119 | * ediff.el (ediff-forward-word-function): New function. |
| 8120 | (ediff-wordify-function): Variable deleted. | 8120 | (ediff-wordify-function): Variable deleted. |
| 8121 | (ediff-toggle-regexp-match, ediff-hide-regexp-matches): New functions. | 8121 | (ediff-toggle-regexp-match, ediff-hide-regexp-matches): New functions. |
| 8122 | (ediff-focus-on-regexp-matches): New function. | 8122 | (ediff-focus-on-regexp-matches): New function. |
| @@ -8813,7 +8813,7 @@ | |||
| 8813 | (gnus-uu-ask-to-save-file): New function. | 8813 | (gnus-uu-ask-to-save-file): New function. |
| 8814 | 8814 | ||
| 8815 | * gnus-uu.el (gnus-uu-interactive-set-up-windows): New function. | 8815 | * gnus-uu.el (gnus-uu-interactive-set-up-windows): New function. |
| 8816 | (gnus-uu-interactive-scan-directory) New function. | 8816 | (gnus-uu-interactive-scan-directory): New function. |
| 8817 | (gnus-uu-interactive-rescan-directory): New function. | 8817 | (gnus-uu-interactive-rescan-directory): New function. |
| 8818 | (gnus-uu-ignore-files-by-name, gnus-uu-ignore-files-by-type): New vars. | 8818 | (gnus-uu-ignore-files-by-name, gnus-uu-ignore-files-by-type): New vars. |
| 8819 | (gnus-uu-interactive-execute): Change directory to work dir before | 8819 | (gnus-uu-interactive-execute): Change directory to work dir before |
| @@ -9280,4 +9280,3 @@ See ChangeLog.4 for earlier changes. | |||
| 9280 | 9280 | ||
| 9281 | You should have received a copy of the GNU General Public License | 9281 | You should have received a copy of the GNU General Public License |
| 9282 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. | 9282 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |
| 9283 | |||
diff --git a/lisp/ChangeLog.6 b/lisp/ChangeLog.6 index 7ba9261ccf0..42c9df84876 100644 --- a/lisp/ChangeLog.6 +++ b/lisp/ChangeLog.6 | |||
| @@ -1491,9 +1491,9 @@ | |||
| 1491 | 1491 | ||
| 1492 | 1996-04-16 Francesco Potortì <F.Potorti@cnuce.cnr.it> | 1492 | 1996-04-16 Francesco Potortì <F.Potorti@cnuce.cnr.it> |
| 1493 | 1493 | ||
| 1494 | * vc.el (vc-comment-ring): Initialise using make-ring. | 1494 | * vc.el (vc-comment-ring): Initialize using make-ring. |
| 1495 | (vc-clear-context): Initialise vc-comment-ring using make-ring. | 1495 | (vc-clear-context): Initialize vc-comment-ring using make-ring. |
| 1496 | (vc-finish-logentry): Don't initialise vc-comment-ring here. | 1496 | (vc-finish-logentry): Don't initialize vc-comment-ring here. |
| 1497 | 1497 | ||
| 1498 | 1996-04-15 Eric Ding <ericding@mit.edu> | 1498 | 1996-04-15 Eric Ding <ericding@mit.edu> |
| 1499 | 1499 | ||
| @@ -3055,7 +3055,7 @@ | |||
| 3055 | (font-lock-mode): Use them. Doc fix. | 3055 | (font-lock-mode): Use them. Doc fix. |
| 3056 | Don't make font-lock-fontified buffer local here. | 3056 | Don't make font-lock-fontified buffer local here. |
| 3057 | (font-lock-set-defaults): Do it here. | 3057 | (font-lock-set-defaults): Do it here. |
| 3058 | (font-lock-compile-keyword): New function. Recognise `eval' keywords. | 3058 | (font-lock-compile-keyword): New function. Recognize `eval' keywords. |
| 3059 | (font-lock-compile-keywords): Use it. | 3059 | (font-lock-compile-keywords): Use it. |
| 3060 | (global-font-lock-mode): New command for Global Font Lock mode. | 3060 | (global-font-lock-mode): New command for Global Font Lock mode. |
| 3061 | (font-lock-global-modes): New variable. | 3061 | (font-lock-global-modes): New variable. |
| @@ -8038,4 +8038,3 @@ See ChangeLog.5 for earlier changes. | |||
| 8038 | 8038 | ||
| 8039 | You should have received a copy of the GNU General Public License | 8039 | You should have received a copy of the GNU General Public License |
| 8040 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. | 8040 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |
| 8041 | |||
diff --git a/lisp/ChangeLog.8 b/lisp/ChangeLog.8 index 6d3d41a5a5c..7aca1b521a2 100644 --- a/lisp/ChangeLog.8 +++ b/lisp/ChangeLog.8 | |||
| @@ -5516,7 +5516,7 @@ | |||
| 5516 | 1999-04-08 Andre Spiegel <spiegel@inf.fu-berlin.de> | 5516 | 1999-04-08 Andre Spiegel <spiegel@inf.fu-berlin.de> |
| 5517 | 5517 | ||
| 5518 | * vc.el (vc-backend-revert): For CVS files that were made | 5518 | * vc.el (vc-backend-revert): For CVS files that were made |
| 5519 | writeable with "cvs edit", call "cvs unedit" to undo that. | 5519 | writable with "cvs edit", call "cvs unedit" to undo that. |
| 5520 | 5520 | ||
| 5521 | 1999-04-08 Dave Love <fx@gnu.org> | 5521 | 1999-04-08 Dave Love <fx@gnu.org> |
| 5522 | 5522 | ||
| @@ -6259,7 +6259,7 @@ | |||
| 6259 | * sql.el: Added keywords from `finder-by-keyword'. | 6259 | * sql.el: Added keywords from `finder-by-keyword'. |
| 6260 | (sql-mode): Made sql-buffer a local variable, changed the | 6260 | (sql-mode): Made sql-buffer a local variable, changed the |
| 6261 | documentation: removed instructions to add *.sql files to | 6261 | documentation: removed instructions to add *.sql files to |
| 6262 | auto-mode-alist, added documentation for having mutliple SQL | 6262 | auto-mode-alist, added documentation for having multiple SQL |
| 6263 | buffers sending their stuff to different SQLi buffers, each | 6263 | buffers sending their stuff to different SQLi buffers, each |
| 6264 | running a different process. | 6264 | running a different process. |
| 6265 | (sql-postgres): Quoted *SQL* in doc string. | 6265 | (sql-postgres): Quoted *SQL* in doc string. |
| @@ -6270,7 +6270,7 @@ | |||
| 6270 | (sql-sybase): Quoted *SQL* in doc string, added comma. | 6270 | (sql-sybase): Quoted *SQL* in doc string, added comma. |
| 6271 | (sql-oracle): Likewise. | 6271 | (sql-oracle): Likewise. |
| 6272 | (sql-interactive-mode): Added extensive documentation for having | 6272 | (sql-interactive-mode): Added extensive documentation for having |
| 6273 | mutliple SQL buffers sending their stuff to different SQLi | 6273 | multiple SQL buffers sending their stuff to different SQLi |
| 6274 | buffers, each running a different process. | 6274 | buffers, each running a different process. |
| 6275 | (sql-buffer): Changed doc from *SQL* to SQLi. | 6275 | (sql-buffer): Changed doc from *SQL* to SQLi. |
| 6276 | (sql-get-login): Doc fix. | 6276 | (sql-get-login): Doc fix. |
diff --git a/lisp/ChangeLog.9 b/lisp/ChangeLog.9 index 4f867c24561..538f3f1d401 100644 --- a/lisp/ChangeLog.9 +++ b/lisp/ChangeLog.9 | |||
| @@ -40,7 +40,7 @@ | |||
| 40 | 2001-10-17 Francesco Potortì <pot@gnu.org> | 40 | 2001-10-17 Francesco Potortì <pot@gnu.org> |
| 41 | 41 | ||
| 42 | * comint.el (comint-password-prompt-regexp): Make it less | 42 | * comint.el (comint-password-prompt-regexp): Make it less |
| 43 | restrictive, letting comint recognise OpenSSH2 passphrase prompts. | 43 | restrictive, letting comint recognize OpenSSH2 passphrase prompts. |
| 44 | 44 | ||
| 45 | 2001-10-17 John Wiegley <johnw@gnu.org> | 45 | 2001-10-17 John Wiegley <johnw@gnu.org> |
| 46 | 46 | ||
| @@ -8638,7 +8638,7 @@ | |||
| 8638 | 2000-11-15 Gerd Moellmann <gerd@gnu.org> | 8638 | 2000-11-15 Gerd Moellmann <gerd@gnu.org> |
| 8639 | 8639 | ||
| 8640 | * faces.el (face-set-after-frame-default): | 8640 | * faces.el (face-set-after-frame-default): |
| 8641 | If `inhibit-default-face-x-resources' is bound, don't intialize the | 8641 | If `inhibit-default-face-x-resources' is bound, don't initialize the |
| 8642 | default face from X resources. | 8642 | default face from X resources. |
| 8643 | 8643 | ||
| 8644 | 2000-11-15 Eli Zaretskii <eliz@is.elta.co.il> | 8644 | 2000-11-15 Eli Zaretskii <eliz@is.elta.co.il> |
diff --git a/lisp/allout-widgets.el b/lisp/allout-widgets.el index 3c2871594fc..dfd9adad2a7 100644 --- a/lisp/allout-widgets.el +++ b/lisp/allout-widgets.el | |||
| @@ -1623,7 +1623,7 @@ We return the item-widget corresponding to the item at point." | |||
| 1623 | 1623 | ||
| 1624 | (set-buffer-modified-p was-modified) | 1624 | (set-buffer-modified-p was-modified) |
| 1625 | (goto-char steady-point) | 1625 | (goto-char steady-point) |
| 1626 | ;; must null the marker or the buffer gets clogged with impedence: | 1626 | ;; must null the marker or the buffer gets clogged with impedance: |
| 1627 | (set-marker steady-point nil) | 1627 | (set-marker steady-point nil) |
| 1628 | 1628 | ||
| 1629 | item-widget))) | 1629 | item-widget))) |
diff --git a/lisp/allout.el b/lisp/allout.el index 8cbdbee7303..e701d9685a1 100644 --- a/lisp/allout.el +++ b/lisp/allout.el | |||
| @@ -170,7 +170,7 @@ respective allout-mode keybinding variables, `allout-command-prefix', | |||
| 170 | ;; the function value keymap of allout-mode-map is used in | 170 | ;; the function value keymap of allout-mode-map is used in |
| 171 | ;; minor-mode-map-alist - update it: | 171 | ;; minor-mode-map-alist - update it: |
| 172 | (fset allout-mode-map allout-mode-map-value)) | 172 | (fset allout-mode-map allout-mode-map-value)) |
| 173 | ;;;_ * intialize the mode map: | 173 | ;;;_ * initialize the mode map: |
| 174 | ;; ensure that allout-mode-map has some setting even if allout-mode hasn't | 174 | ;; ensure that allout-mode-map has some setting even if allout-mode hasn't |
| 175 | ;; been invoked: | 175 | ;; been invoked: |
| 176 | (allout-compose-and-institute-keymap) | 176 | (allout-compose-and-institute-keymap) |
| @@ -612,7 +612,7 @@ headers look like comments in the programming language. It will also use | |||
| 612 | the comment-start string, with an '_' appended, for `allout-primary-bullet'. | 612 | the comment-start string, with an '_' appended, for `allout-primary-bullet'. |
| 613 | 613 | ||
| 614 | String values are used as literals, not regular expressions, so | 614 | String values are used as literals, not regular expressions, so |
| 615 | do not escape any regulare-expression characters. | 615 | do not escape any regular-expression characters. |
| 616 | 616 | ||
| 617 | Value t means to first check for assoc value in `allout-mode-leaders' | 617 | Value t means to first check for assoc value in `allout-mode-leaders' |
| 618 | alist, then use comment-start string, if any, then use default (`.'). | 618 | alist, then use comment-start string, if any, then use default (`.'). |
| @@ -825,7 +825,7 @@ formatted copy." | |||
| 825 | (defcustom allout-encrypt-unencrypted-on-saves t | 825 | (defcustom allout-encrypt-unencrypted-on-saves t |
| 826 | "If non-nil, topics pending encryption are encrypted during buffer saves. | 826 | "If non-nil, topics pending encryption are encrypted during buffer saves. |
| 827 | 827 | ||
| 828 | This provents file-system exposure of un-encrypted contents of | 828 | This prevents file-system exposure of un-encrypted contents of |
| 829 | items marked for encryption. | 829 | items marked for encryption. |
| 830 | 830 | ||
| 831 | When non-nil, if the topic currently being edited is decrypted, | 831 | When non-nil, if the topic currently being edited is decrypted, |
| @@ -2283,7 +2283,7 @@ If topic has no offspring, then the next sibling with offspring will | |||
| 2283 | determine whether or not this one is determined to be aberrant. | 2283 | determine whether or not this one is determined to be aberrant. |
| 2284 | 2284 | ||
| 2285 | If true, then the allout-recent-* settings are calibrated on the | 2285 | If true, then the allout-recent-* settings are calibrated on the |
| 2286 | offspring that qaulifies it as aberrant, ie with depth that | 2286 | offspring that qualifies it as aberrant, ie with depth that |
| 2287 | exceeds the topic by more than one." | 2287 | exceeds the topic by more than one." |
| 2288 | 2288 | ||
| 2289 | ;; This is most clearly understood when considering standard-prefix-leader | 2289 | ;; This is most clearly understood when considering standard-prefix-leader |
diff --git a/lisp/autorevert.el b/lisp/autorevert.el index 817aaff55ca..f70025e9d3f 100644 --- a/lisp/autorevert.el +++ b/lisp/autorevert.el | |||
| @@ -77,7 +77,7 @@ | |||
| 77 | ;; M-x global-auto-revert-mode RET | 77 | ;; M-x global-auto-revert-mode RET |
| 78 | ;; | 78 | ;; |
| 79 | ;; To activate Global Auto-Revert Mode every time Emacs is started | 79 | ;; To activate Global Auto-Revert Mode every time Emacs is started |
| 80 | ;; customise the option `global-auto-revert-mode' or the following | 80 | ;; customize the option `global-auto-revert-mode' or the following |
| 81 | ;; line could be added to your ~/.emacs: | 81 | ;; line could be added to your ~/.emacs: |
| 82 | ;; (global-auto-revert-mode 1) | 82 | ;; (global-auto-revert-mode 1) |
| 83 | ;; | 83 | ;; |
diff --git a/lisp/calc/calc-bin.el b/lisp/calc/calc-bin.el index 20b4a9db5e2..44354f0822f 100644 --- a/lisp/calc/calc-bin.el +++ b/lisp/calc/calc-bin.el | |||
| @@ -291,7 +291,7 @@ the size of a Calc bignum digit.") | |||
| 291 | (if (eq (car-safe b) 'mod) | 291 | (if (eq (car-safe b) 'mod) |
| 292 | (if (equal mod (nth 2 b)) | 292 | (if (equal mod (nth 2 b)) |
| 293 | (setq b (nth 1 b)) | 293 | (setq b (nth 1 b)) |
| 294 | (math-reject-arg b "*Inconsistent modulos")))) | 294 | (math-reject-arg b "*Inconsistent modulus")))) |
| 295 | (setq mod (nth 2 b) | 295 | (setq mod (nth 2 b) |
| 296 | b (nth 1 b))) | 296 | b (nth 1 b))) |
| 297 | (if (Math-messy-integerp mod) | 297 | (if (Math-messy-integerp mod) |
| @@ -303,9 +303,9 @@ the size of a Calc bignum digit.") | |||
| 303 | (if w | 303 | (if w |
| 304 | (if (/= w bits) | 304 | (if (/= w bits) |
| 305 | (calc-record-why | 305 | (calc-record-why |
| 306 | "*Warning: Modulo inconsistent with word size")) | 306 | "*Warning: Modulus inconsistent with word size")) |
| 307 | (setq w bits)) | 307 | (setq w bits)) |
| 308 | (calc-record-why "*Warning: Modulo is not a power of 2")) | 308 | (calc-record-why "*Warning: Modulus is not a power of 2")) |
| 309 | (math-make-mod (if b | 309 | (math-make-mod (if b |
| 310 | (funcall f a b w) | 310 | (funcall f a b w) |
| 311 | (funcall f a w)) | 311 | (funcall f a w)) |
diff --git a/lisp/calc/calc-misc.el b/lisp/calc/calc-misc.el index db86c08422e..6d034927ae0 100644 --- a/lisp/calc/calc-misc.el +++ b/lisp/calc/calc-misc.el | |||
| @@ -260,13 +260,13 @@ Calc user interface as before (either C-x * C or C-x * K; initially C-x * C). | |||
| 260 | (length msg)) 32) | 260 | (length msg)) 32) |
| 261 | " [?=MORE]") | 261 | " [?=MORE]") |
| 262 | "")))))))) | 262 | "")))))))) |
| 263 | 263 | ||
| 264 | 264 | ||
| 265 | 265 | ||
| 266 | 266 | ||
| 267 | ;;;; Stack and buffer management. | 267 | ;;;; Stack and buffer management. |
| 268 | 268 | ||
| 269 | ;; The variable calc-last-why-command is set in calc-do-handly-whys | 269 | ;; The variable calc-last-why-command is set in calc-do-handle-whys |
| 270 | ;; and used in calc-why (in calc-stuff.el). | 270 | ;; and used in calc-why (in calc-stuff.el). |
| 271 | (defvar calc-last-why-command) | 271 | (defvar calc-last-why-command) |
| 272 | 272 | ||
diff --git a/lisp/calc/calc-poly.el b/lisp/calc/calc-poly.el index e16c26eaa19..97d955eb07d 100644 --- a/lisp/calc/calc-poly.el +++ b/lisp/calc/calc-poly.el | |||
| @@ -419,7 +419,7 @@ | |||
| 419 | (list 'frac 1 denom)) | 419 | (list 'frac 1 denom)) |
| 420 | 1)) | 420 | 1)) |
| 421 | 421 | ||
| 422 | ;;; Compute the GCD of two monovariate polynomial lists. | 422 | ;;; Compute the GCD of two univariate polynomial lists. |
| 423 | ;;; Knuth section 4.6.1, algorithm C. | 423 | ;;; Knuth section 4.6.1, algorithm C. |
| 424 | (defun math-poly-gcd-coefs (u v) | 424 | (defun math-poly-gcd-coefs (u v) |
| 425 | (let ((d (math-poly-gcd (math-poly-gcd-list u) | 425 | (let ((d (math-poly-gcd (math-poly-gcd-list u) |
diff --git a/lisp/calc/calc.el b/lisp/calc/calc.el index 60a84bdff35..626d2462b4f 100644 --- a/lisp/calc/calc.el +++ b/lisp/calc/calc.el | |||
| @@ -1235,7 +1235,8 @@ Used by `calc-user-invocation'.") | |||
| 1235 | (glob (current-global-map)) | 1235 | (glob (current-global-map)) |
| 1236 | (loc (current-local-map))) | 1236 | (loc (current-local-map))) |
| 1237 | (or (input-pending-p) (message "%s" prompt)) | 1237 | (or (input-pending-p) (message "%s" prompt)) |
| 1238 | (let ((key (calc-read-key t))) | 1238 | (let ((key (calc-read-key t)) |
| 1239 | (input-method-function nil)) | ||
| 1239 | (calc-unread-command (cdr key)) | 1240 | (calc-unread-command (cdr key)) |
| 1240 | (unwind-protect | 1241 | (unwind-protect |
| 1241 | (progn | 1242 | (progn |
diff --git a/lisp/calendar/diary-lib.el b/lisp/calendar/diary-lib.el index 1b980b3b1fa..d161602bec0 100644 --- a/lisp/calendar/diary-lib.el +++ b/lisp/calendar/diary-lib.el | |||
| @@ -147,7 +147,7 @@ See the documentation for the function `diary-list-sexp-entries'." | |||
| 147 | Nil means there are no comments. The diary does not display | 147 | Nil means there are no comments. The diary does not display |
| 148 | parts of entries that are inside comments. You can use comments | 148 | parts of entries that are inside comments. You can use comments |
| 149 | for whatever you like, e.g. for meta-data that packages such as | 149 | for whatever you like, e.g. for meta-data that packages such as |
| 150 | `appt.el' can use. Comments may not span mutliple lines, and there | 150 | `appt.el' can use. Comments may not span multiple lines, and there |
| 151 | can be only one comment on any line. | 151 | can be only one comment on any line. |
| 152 | See also `diary-comment-end'." | 152 | See also `diary-comment-end'." |
| 153 | :version "24.1" | 153 | :version "24.1" |
diff --git a/lisp/calendar/todo-mode.el b/lisp/calendar/todo-mode.el index b0c7f125982..de232c25e3f 100644 --- a/lisp/calendar/todo-mode.el +++ b/lisp/calendar/todo-mode.el | |||
| @@ -61,14 +61,14 @@ | |||
| 61 | ;; | 61 | ;; |
| 62 | ;; The TODO list file has a special format and some auxiliary | 62 | ;; The TODO list file has a special format and some auxiliary |
| 63 | ;; information, which will be added by the todo-show function if | 63 | ;; information, which will be added by the todo-show function if |
| 64 | ;; it attempts to visit an un-initialised file. Hence it is | 64 | ;; it attempts to visit an un-initialized file. Hence it is |
| 65 | ;; recommended to use the todo-show function for the first time, | 65 | ;; recommended to use the todo-show function for the first time, |
| 66 | ;; in order to initialise the file, but it is not necessary | 66 | ;; in order to initialize the file, but it is not necessary |
| 67 | ;; afterwards. | 67 | ;; afterwards. |
| 68 | ;; | 68 | ;; |
| 69 | ;; As these commands are quite long to type, I would recommend | 69 | ;; As these commands are quite long to type, I would recommend |
| 70 | ;; the addition of two bindings to your to your global keymap. I | 70 | ;; the addition of two bindings to your to your global keymap. I |
| 71 | ;; personally have the following in my initialisation file: | 71 | ;; personally have the following in my initialization file: |
| 72 | ;; | 72 | ;; |
| 73 | ;; (global-set-key "\C-ct" 'todo-show) ; switch to TODO buffer | 73 | ;; (global-set-key "\C-ct" 'todo-show) ; switch to TODO buffer |
| 74 | ;; (global-set-key "\C-ci" 'todo-insert-item) ; insert new item | 74 | ;; (global-set-key "\C-ci" 'todo-insert-item) ; insert new item |
diff --git a/lisp/cedet/ChangeLog b/lisp/cedet/ChangeLog index e5969a3c291..788bf71845f 100644 --- a/lisp/cedet/ChangeLog +++ b/lisp/cedet/ChangeLog | |||
| @@ -1,3 +1,27 @@ | |||
| 1 | 2011-11-20 Juanma Barranquero <lekktu@gmail.com> | ||
| 2 | |||
| 3 | * cedet-cscope.el (cedet-cscope-version-check): | ||
| 4 | * cedet-global.el (cedet-global-min-version) | ||
| 5 | (cedet-gnu-global-version-check): | ||
| 6 | * cedet.el (cedet-version): | ||
| 7 | * data-debug.el (data-debug-prev, data-debug-contract-current-line): | ||
| 8 | * ede.el (ede-buffer-belongs-to-project-p, ede-auto-add-to-target) | ||
| 9 | (ede-new, ede-invoke-method, project-edit-file-target, project-rescan) | ||
| 10 | (ede-add-project-to-global-list, ede-map-all-subprojects): | ||
| 11 | * inversion.el (inversion-check-version): | ||
| 12 | * mode-local.el (mode-local-map-file-buffers, define-child-mode) | ||
| 13 | (define-overloadable-function): | ||
| 14 | * pulse.el (pulse-flag, pulse): | ||
| 15 | * semantic.el (semantic-elapsed-time, semantic-parse-region) | ||
| 16 | (navigate-menu): | ||
| 17 | * ede/proj-comp.el (ede-compilation-program): | ||
| 18 | * semantic/debug.el (semantic-debug-parser-go) | ||
| 19 | (semantic-debug-parser-fail, semantic-debug-parser-quit) | ||
| 20 | (semantic-debug-parser-abort): | ||
| 21 | * semantic/idle.el (semantic-idle-core-handler): | ||
| 22 | * semantic/bovine/debug.el (semantic-bovine-debug-error-frame): | ||
| 23 | Fix typos. | ||
| 24 | |||
| 1 | 2011-11-16 Juanma Barranquero <lekktu@gmail.com> | 25 | 2011-11-16 Juanma Barranquero <lekktu@gmail.com> |
| 2 | 26 | ||
| 3 | * semantic/lex.el (semantic-lex-tokens): | 27 | * semantic/lex.el (semantic-lex-tokens): |
diff --git a/lisp/cedet/cedet-cscope.el b/lisp/cedet/cedet-cscope.el index 74892533ab6..71942698c5f 100644 --- a/lisp/cedet/cedet-cscope.el +++ b/lisp/cedet/cedet-cscope.el | |||
| @@ -135,8 +135,8 @@ the error code." | |||
| 135 | 135 | ||
| 136 | (defun cedet-cscope-version-check (&optional noerror) | 136 | (defun cedet-cscope-version-check (&optional noerror) |
| 137 | "Check the version of the installed CScope command. | 137 | "Check the version of the installed CScope command. |
| 138 | If optional programatic argument NOERROR is non-nil, then | 138 | If optional programmatic argument NOERROR is non-nil, |
| 139 | instead of throwing an error if CScope isn't available, then | 139 | then instead of throwing an error if CScope isn't available, |
| 140 | return nil." | 140 | return nil." |
| 141 | (interactive) | 141 | (interactive) |
| 142 | (require 'inversion) | 142 | (require 'inversion) |
diff --git a/lisp/cedet/cedet-files.el b/lisp/cedet/cedet-files.el index ae037028bf7..6f40ee7030f 100644 --- a/lisp/cedet/cedet-files.el +++ b/lisp/cedet/cedet-files.el | |||
| @@ -83,7 +83,7 @@ specific conversions during tests." | |||
| 83 | (setq file (concat driveletter ":" | 83 | (setq file (concat driveletter ":" |
| 84 | (substring file (match-end 1)))))) | 84 | (substring file (match-end 1)))))) |
| 85 | 85 | ||
| 86 | ;; Handle the \\file\name nomenclature on some windows boxes. | 86 | ;; Handle the \\file\name nomenclature on some Windows boxes. |
| 87 | (when (string-match "^!" file) | 87 | (when (string-match "^!" file) |
| 88 | (setq file (concat "//" (substring file 1))))) | 88 | (setq file (concat "//" (substring file 1))))) |
| 89 | file)) | 89 | file)) |
diff --git a/lisp/cedet/cedet-global.el b/lisp/cedet/cedet-global.el index d2a9794ec81..aa18c0d2f42 100644 --- a/lisp/cedet/cedet-global.el +++ b/lisp/cedet/cedet-global.el | |||
| @@ -27,7 +27,7 @@ | |||
| 27 | (declare-function inversion-check-version "inversion") | 27 | (declare-function inversion-check-version "inversion") |
| 28 | 28 | ||
| 29 | (defvar cedet-global-min-version "5.0" | 29 | (defvar cedet-global-min-version "5.0" |
| 30 | "Minimum version of GNU global required.") | 30 | "Minimum version of GNU Global required.") |
| 31 | 31 | ||
| 32 | (defcustom cedet-global-command "global" | 32 | (defcustom cedet-global-command "global" |
| 33 | "Command name for the GNU Global executable." | 33 | "Command name for the GNU Global executable." |
| @@ -131,8 +131,8 @@ If a default starting DIR is not specified, the current buffer's | |||
| 131 | 131 | ||
| 132 | (defun cedet-gnu-global-version-check (&optional noerror) | 132 | (defun cedet-gnu-global-version-check (&optional noerror) |
| 133 | "Check the version of the installed GNU Global command. | 133 | "Check the version of the installed GNU Global command. |
| 134 | If optional programatic argument NOERROR is non-nil, then | 134 | If optional programmatic argument NOERROR is non-nil, |
| 135 | instead of throwing an error if Global isn't available, then | 135 | then instead of throwing an error if Global isn't available, |
| 136 | return nil." | 136 | return nil." |
| 137 | (interactive) | 137 | (interactive) |
| 138 | (require 'inversion) | 138 | (require 'inversion) |
diff --git a/lisp/cedet/cedet-idutils.el b/lisp/cedet/cedet-idutils.el index e071265c143..ee8e432ddd9 100644 --- a/lisp/cedet/cedet-idutils.el +++ b/lisp/cedet/cedet-idutils.el | |||
| @@ -84,7 +84,7 @@ Note: Scope is not yet supported." | |||
| 84 | 84 | ||
| 85 | (defun cedet-idutils-fnid-call (flags) | 85 | (defun cedet-idutils-fnid-call (flags) |
| 86 | "Call ID Utils fnid with the list of FLAGS. | 86 | "Call ID Utils fnid with the list of FLAGS. |
| 87 | Return the created buffer with with program output." | 87 | Return the created buffer with program output." |
| 88 | (let ((b (get-buffer-create "*CEDET fnid*")) | 88 | (let ((b (get-buffer-create "*CEDET fnid*")) |
| 89 | (cd default-directory) | 89 | (cd default-directory) |
| 90 | ) | 90 | ) |
| @@ -112,7 +112,7 @@ Return the created buffer with with program output." | |||
| 112 | 112 | ||
| 113 | (defun cedet-idutils-mkid-call (flags) | 113 | (defun cedet-idutils-mkid-call (flags) |
| 114 | "Call ID Utils mkid with the list of FLAGS. | 114 | "Call ID Utils mkid with the list of FLAGS. |
| 115 | Return the created buffer with with program output." | 115 | Return the created buffer with program output." |
| 116 | (let ((b (get-buffer-create "*CEDET mkid*")) | 116 | (let ((b (get-buffer-create "*CEDET mkid*")) |
| 117 | (cd default-directory) | 117 | (cd default-directory) |
| 118 | ) | 118 | ) |
| @@ -163,8 +163,8 @@ the error code." | |||
| 163 | 163 | ||
| 164 | (defun cedet-idutils-version-check (&optional noerror) | 164 | (defun cedet-idutils-version-check (&optional noerror) |
| 165 | "Check the version of the installed ID Utils command. | 165 | "Check the version of the installed ID Utils command. |
| 166 | If optional programatic argument NOERROR is non-nil, then | 166 | If optional programmatic argument NOERROR is non-nil, |
| 167 | instead of throwing an error if Global isn't available, then | 167 | then instead of throwing an error if Global isn't available, |
| 168 | return nil." | 168 | return nil." |
| 169 | (interactive) | 169 | (interactive) |
| 170 | (require 'inversion) | 170 | (require 'inversion) |
diff --git a/lisp/cedet/cedet.el b/lisp/cedet/cedet.el index d7645bc97ed..9ccf74de27a 100644 --- a/lisp/cedet/cedet.el +++ b/lisp/cedet/cedet.el | |||
| @@ -75,7 +75,7 @@ | |||
| 75 | This is used by `semantic-mode' and `global-ede-mode'.") | 75 | This is used by `semantic-mode' and `global-ede-mode'.") |
| 76 | 76 | ||
| 77 | (defun cedet-version () | 77 | (defun cedet-version () |
| 78 | "Display all active versions of CEDET and Dependent packages. | 78 | "Display all active versions of CEDET and dependent packages. |
| 79 | 79 | ||
| 80 | The PACKAGE column is the name of a given package from CEDET. | 80 | The PACKAGE column is the name of a given package from CEDET. |
| 81 | 81 | ||
| @@ -85,7 +85,7 @@ See `cedet-packages' for details. | |||
| 85 | FILE VERSION is the version number found in the source file | 85 | FILE VERSION is the version number found in the source file |
| 86 | for the specified PACKAGE. | 86 | for the specified PACKAGE. |
| 87 | 87 | ||
| 88 | LOADED VERSION is the version of PACKAGE current loaded in Emacs | 88 | LOADED VERSION is the version of PACKAGE currently loaded in Emacs |
| 89 | memory and (presumably) running in this Emacs instance. Value is X | 89 | memory and (presumably) running in this Emacs instance. Value is X |
| 90 | if the package has not been loaded." | 90 | if the package has not been loaded." |
| 91 | (interactive) | 91 | (interactive) |
diff --git a/lisp/cedet/data-debug.el b/lisp/cedet/data-debug.el index e50e9993af0..329d1c608c2 100644 --- a/lisp/cedet/data-debug.el +++ b/lisp/cedet/data-debug.el | |||
| @@ -916,7 +916,7 @@ If PARENT is non-nil, it is somehow related as a parent to thing." | |||
| 916 | (skip-chars-forward " *-><[]" (point-at-eol))) | 916 | (skip-chars-forward " *-><[]" (point-at-eol))) |
| 917 | 917 | ||
| 918 | (defun data-debug-prev () | 918 | (defun data-debug-prev () |
| 919 | "Go to the next line in the Ddebug buffer." | 919 | "Go to the previous line in the Ddebug buffer." |
| 920 | (interactive) | 920 | (interactive) |
| 921 | (forward-line -1) | 921 | (forward-line -1) |
| 922 | (beginning-of-line) | 922 | (beginning-of-line) |
| @@ -972,7 +972,7 @@ Do nothing if already expanded." | |||
| 972 | 972 | ||
| 973 | (defun data-debug-contract-current-line () | 973 | (defun data-debug-contract-current-line () |
| 974 | "Contract the current line (if possible). | 974 | "Contract the current line (if possible). |
| 975 | Do nothing if already expanded." | 975 | Do nothing if already contracted." |
| 976 | (when (and (data-debug-current-line-expanded-p) | 976 | (when (and (data-debug-current-line-expanded-p) |
| 977 | ;; Don't contract if the current line is not expandable. | 977 | ;; Don't contract if the current line is not expandable. |
| 978 | (get-text-property (point) 'ddebug-function)) | 978 | (get-text-property (point) 'ddebug-function)) |
diff --git a/lisp/cedet/ede.el b/lisp/cedet/ede.el index 987351a25e0..741e1ffbe5f 100644 --- a/lisp/cedet/ede.el +++ b/lisp/cedet/ede.el | |||
| @@ -214,7 +214,7 @@ Argument LIST-O-O is the list of objects to choose from." | |||
| 214 | (and obj (obj-of-class-p obj ede-target)))) | 214 | (and obj (obj-of-class-p obj ede-target)))) |
| 215 | 215 | ||
| 216 | (defun ede-buffer-belongs-to-project-p () | 216 | (defun ede-buffer-belongs-to-project-p () |
| 217 | "Return non-nil if this buffer belongs to at least one target." | 217 | "Return non-nil if this buffer belongs to at least one project." |
| 218 | (if (or (null ede-object) (consp ede-object)) nil | 218 | (if (or (null ede-object) (consp ede-object)) nil |
| 219 | (obj-of-class-p ede-object ede-project))) | 219 | (obj-of-class-p ede-object ede-project))) |
| 220 | 220 | ||
| @@ -243,7 +243,7 @@ Argument MENU-DEF is the menu definition to use." | |||
| 243 | ede-obj (if (listp ede-object) ede-object (list ede-object))) | 243 | ede-obj (if (listp ede-object) ede-object (list ede-object))) |
| 244 | ;; First, collect the build items from the project | 244 | ;; First, collect the build items from the project |
| 245 | (setq newmenu (append newmenu (ede-menu-items-build obj t))) | 245 | (setq newmenu (append newmenu (ede-menu-items-build obj t))) |
| 246 | ;; Second, Declare the current target menu items | 246 | ;; Second, declare the current target menu items |
| 247 | (if (and ede-obj (ede-menu-obj-of-class-p ede-target)) | 247 | (if (and ede-obj (ede-menu-obj-of-class-p ede-target)) |
| 248 | (while ede-obj | 248 | (while ede-obj |
| 249 | (setq newmenu (append newmenu | 249 | (setq newmenu (append newmenu |
| @@ -264,7 +264,7 @@ Argument MENU-DEF is the menu definition to use." | |||
| 264 | (setq targets (cdr targets))) | 264 | (setq targets (cdr targets))) |
| 265 | ;; Fourth, build sub projects. | 265 | ;; Fourth, build sub projects. |
| 266 | ;; -- nerp | 266 | ;; -- nerp |
| 267 | ;; Fifth, Add make distribution | 267 | ;; Fifth, add make distribution |
| 268 | (append newmenu (list [ "Make distribution" ede-make-dist t ])) | 268 | (append newmenu (list [ "Make distribution" ede-make-dist t ])) |
| 269 | ))))) | 269 | ))))) |
| 270 | 270 | ||
| @@ -512,7 +512,7 @@ an EDE controlled project." | |||
| 512 | "Look for a target that wants to own the current file. | 512 | "Look for a target that wants to own the current file. |
| 513 | Follow the preference set with `ede-auto-add-method' and get the list | 513 | Follow the preference set with `ede-auto-add-method' and get the list |
| 514 | of objects with the `ede-want-file-p' method." | 514 | of objects with the `ede-want-file-p' method." |
| 515 | (if ede-object (error "Ede-object already defined for %s" (buffer-name))) | 515 | (if ede-object (error "ede-object already defined for %s" (buffer-name))) |
| 516 | (if (or (eq ede-auto-add-method 'never) | 516 | (if (or (eq ede-auto-add-method 'never) |
| 517 | (ede-ignore-file (buffer-file-name))) | 517 | (ede-ignore-file (buffer-file-name))) |
| 518 | nil | 518 | nil |
| @@ -566,7 +566,7 @@ Argument FILE is the file or directory to load a project from." | |||
| 566 | (ede-load-project-file (file-name-directory file)))) | 566 | (ede-load-project-file (file-name-directory file)))) |
| 567 | 567 | ||
| 568 | (defun ede-new (type &optional name) | 568 | (defun ede-new (type &optional name) |
| 569 | "Create a new project starting of project type TYPE. | 569 | "Create a new project starting from project type TYPE. |
| 570 | Optional argument NAME is the name to give this project." | 570 | Optional argument NAME is the name to give this project." |
| 571 | (interactive | 571 | (interactive |
| 572 | (list (completing-read "Project Type: " | 572 | (list (completing-read "Project Type: " |
| @@ -642,7 +642,7 @@ Optional argument NAME is the name to give this project." | |||
| 642 | 642 | ||
| 643 | (defun ede-invoke-method (sym &rest args) | 643 | (defun ede-invoke-method (sym &rest args) |
| 644 | "Invoke method SYM on the current buffer's project object. | 644 | "Invoke method SYM on the current buffer's project object. |
| 645 | ARGS are additional arguments to pass to method sym." | 645 | ARGS are additional arguments to pass to method SYM." |
| 646 | (if (not ede-object) | 646 | (if (not ede-object) |
| 647 | (error "Cannot invoke %s for %s" (symbol-name sym) | 647 | (error "Cannot invoke %s for %s" (symbol-name sym) |
| 648 | (buffer-name))) | 648 | (buffer-name))) |
| @@ -815,7 +815,7 @@ Argument FNND is an argument." | |||
| 815 | (error "remove-file not supported by %s" (object-name ot))) | 815 | (error "remove-file not supported by %s" (object-name ot))) |
| 816 | 816 | ||
| 817 | (defmethod project-edit-file-target ((ot ede-target)) | 817 | (defmethod project-edit-file-target ((ot ede-target)) |
| 818 | "Edit the target OT associated w/ this file." | 818 | "Edit the target OT associated with this file." |
| 819 | (find-file (oref (ede-current-project) file))) | 819 | (find-file (oref (ede-current-project) file))) |
| 820 | 820 | ||
| 821 | (defmethod project-new-target ((proj ede-project) &rest args) | 821 | (defmethod project-new-target ((proj ede-project) &rest args) |
| @@ -857,7 +857,7 @@ Argument COMMAND is the command to use for compiling the target." | |||
| 857 | (error "Dist-files is not supported by %s" (object-name this))) | 857 | (error "Dist-files is not supported by %s" (object-name this))) |
| 858 | 858 | ||
| 859 | (defmethod project-rescan ((this ede-project)) | 859 | (defmethod project-rescan ((this ede-project)) |
| 860 | "Rescan the EDE proj project THIS." | 860 | "Rescan the EDE project THIS." |
| 861 | (error "Rescanning a project is not supported by %s" (object-name this))) | 861 | (error "Rescanning a project is not supported by %s" (object-name this))) |
| 862 | 862 | ||
| 863 | (defun ede-ecb-project-paths () | 863 | (defun ede-ecb-project-paths () |
| @@ -879,7 +879,7 @@ On success, return the added project." | |||
| 879 | (when (not proj) | 879 | (when (not proj) |
| 880 | (error "No project created to add to master list")) | 880 | (error "No project created to add to master list")) |
| 881 | (when (not (eieio-object-p proj)) | 881 | (when (not (eieio-object-p proj)) |
| 882 | (error "Attempt to add Non-object to master project list")) | 882 | (error "Attempt to add non-object to master project list")) |
| 883 | (when (not (obj-of-class-p proj ede-project-placeholder)) | 883 | (when (not (obj-of-class-p proj ede-project-placeholder)) |
| 884 | (error "Attempt to add a non-project to the ede projects list")) | 884 | (error "Attempt to add a non-project to the ede projects list")) |
| 885 | (add-to-list 'ede-projects proj) | 885 | (add-to-list 'ede-projects proj) |
| @@ -1157,7 +1157,7 @@ See also `ede-map-all-subprojects'." | |||
| 1157 | (mapcar proc (oref this subproj))) | 1157 | (mapcar proc (oref this subproj))) |
| 1158 | 1158 | ||
| 1159 | (defmethod ede-map-all-subprojects ((this ede-project) allproc) | 1159 | (defmethod ede-map-all-subprojects ((this ede-project) allproc) |
| 1160 | "For object THIS, execute PROC on THIS and all subprojects. | 1160 | "For object THIS, execute PROC on THIS and all subprojects. |
| 1161 | This function also applies PROC to sub-sub projects. | 1161 | This function also applies PROC to sub-sub projects. |
| 1162 | See also `ede-map-subprojects'." | 1162 | See also `ede-map-subprojects'." |
| 1163 | (apply 'append | 1163 | (apply 'append |
diff --git a/lisp/cedet/ede/generic.el b/lisp/cedet/ede/generic.el index 7efe534a640..69570771546 100644 --- a/lisp/cedet/ede/generic.el +++ b/lisp/cedet/ede/generic.el | |||
| @@ -43,7 +43,7 @@ | |||
| 43 | ;; | 43 | ;; |
| 44 | ;; Customization: | 44 | ;; Customization: |
| 45 | ;; | 45 | ;; |
| 46 | ;; Since these projects are all so increadibly generic, a user will | 46 | ;; Since these projects are all so incredibly generic, a user will |
| 47 | ;; need to configure some aspects of the project by hand. In order to | 47 | ;; need to configure some aspects of the project by hand. In order to |
| 48 | ;; enable this without configuring the project objects directly (which | 48 | ;; enable this without configuring the project objects directly (which |
| 49 | ;; are auto-generated) a special ede-generic-config object is defined to | 49 | ;; are auto-generated) a special ede-generic-config object is defined to |
| @@ -359,7 +359,7 @@ the new configuration." | |||
| 359 | (defun ede-generic-new-autoloader (internal-name external-name | 359 | (defun ede-generic-new-autoloader (internal-name external-name |
| 360 | projectfile class) | 360 | projectfile class) |
| 361 | "Add a new EDE Autoload instance for identifying a generic project. | 361 | "Add a new EDE Autoload instance for identifying a generic project. |
| 362 | INTERNAL-NAME is a long name that identifies thsi project type. | 362 | INTERNAL-NAME is a long name that identifies this project type. |
| 363 | EXTERNAL-NAME is a shorter human readable name to describe the project. | 363 | EXTERNAL-NAME is a shorter human readable name to describe the project. |
| 364 | PROJECTFILE is a file name that identifies a project of this type to EDE, such as | 364 | PROJECTFILE is a file name that identifies a project of this type to EDE, such as |
| 365 | a Makefile, or SConstruct file. | 365 | a Makefile, or SConstruct file. |
diff --git a/lisp/cedet/ede/pconf.el b/lisp/cedet/ede/pconf.el index 05290158189..ae503e836d8 100644 --- a/lisp/cedet/ede/pconf.el +++ b/lisp/cedet/ede/pconf.el | |||
| @@ -82,7 +82,7 @@ don't do it. A value of nil means to just do it.") | |||
| 82 | (directory-file-name | 82 | (directory-file-name |
| 83 | (ede-subproject-relative-path sp top-level-project-local))))) | 83 | (ede-subproject-relative-path sp top-level-project-local))))) |
| 84 | (when (string= dir "./") (setq dir "")) | 84 | (when (string= dir "./") (setq dir "")) |
| 85 | ;; Use concat, because expand-file-name removes the relativeness. | 85 | ;; Use concat, because expand-file-name removes the relativity. |
| 86 | (concat dir "Makefile") ))))) | 86 | (concat dir "Makefile") ))))) |
| 87 | ;; | 87 | ;; |
| 88 | ;; NOTE TO SELF. TURN THIS INTO THE OFFICIAL LIST | 88 | ;; NOTE TO SELF. TURN THIS INTO THE OFFICIAL LIST |
diff --git a/lisp/cedet/ede/proj-comp.el b/lisp/cedet/ede/proj-comp.el index ae5796e042b..84bf8ebf1a0 100644 --- a/lisp/cedet/ede/proj-comp.el +++ b/lisp/cedet/ede/proj-comp.el | |||
| @@ -97,8 +97,8 @@ use the same autoconf form.") | |||
| 97 | (objectextention :initarg :objectextention | 97 | (objectextention :initarg :objectextention |
| 98 | :type string | 98 | :type string |
| 99 | :documentation | 99 | :documentation |
| 100 | "A string which is the extention used for object files. | 100 | "A string which is the extension used for object files. |
| 101 | For example, C code uses .o on unix, and Emacs Lisp uses .elc.") | 101 | For example, C code uses .o on Unix, and Emacs Lisp uses .elc.") |
| 102 | ) | 102 | ) |
| 103 | "A program used to compile or link a program via a Makefile. | 103 | "A program used to compile or link a program via a Makefile. |
| 104 | Contains everything needed to output code into a Makefile, or autoconf | 104 | Contains everything needed to output code into a Makefile, or autoconf |
diff --git a/lisp/cedet/ede/proj.el b/lisp/cedet/ede/proj.el index 40e6165251c..79022be6a5f 100644 --- a/lisp/cedet/ede/proj.el +++ b/lisp/cedet/ede/proj.el | |||
| @@ -584,7 +584,7 @@ Converts all symbols into the objects to be used." | |||
| 584 | link))) | 584 | link))) |
| 585 | 585 | ||
| 586 | 586 | ||
| 587 | ;;; Target type specific autogenerating gobbldegook. | 587 | ;;; Target type specific autogenerating gobbledygook. |
| 588 | ;; | 588 | ;; |
| 589 | 589 | ||
| 590 | (defun ede-proj-makefile-type (&optional proj) | 590 | (defun ede-proj-makefile-type (&optional proj) |
diff --git a/lisp/cedet/ede/project-am.el b/lisp/cedet/ede/project-am.el index 316309092e7..033a486f1a7 100644 --- a/lisp/cedet/ede/project-am.el +++ b/lisp/cedet/ede/project-am.el | |||
| @@ -284,7 +284,7 @@ buffer being in order to provide a smart default target type." | |||
| 284 | (progn (forward-line -1) | 284 | (progn (forward-line -1) |
| 285 | (end-of-line) | 285 | (end-of-line) |
| 286 | (insert "\n")) | 286 | (insert "\n")) |
| 287 | ;; If the above search fails, thats ok. We'd just want to be at | 287 | ;; If the above search fails, that's ok. We'd just want to be at |
| 288 | ;; point-min anyway. | 288 | ;; point-min anyway. |
| 289 | ) | 289 | ) |
| 290 | (makefile-insert-macro (car (cdr (cdr ntype)))))) | 290 | (makefile-insert-macro (car (cdr (cdr ntype)))))) |
diff --git a/lisp/cedet/inversion.el b/lisp/cedet/inversion.el index 065ac6d0559..53639b19a96 100644 --- a/lisp/cedet/inversion.el +++ b/lisp/cedet/inversion.el | |||
| @@ -216,14 +216,14 @@ not an indication of new features or bug fixes." | |||
| 216 | ))) | 216 | ))) |
| 217 | 217 | ||
| 218 | (defun inversion-check-version (version incompatible-version | 218 | (defun inversion-check-version (version incompatible-version |
| 219 | minimum &rest reserved) | 219 | minimum &rest reserved) |
| 220 | "Check that a given version meets the minimum requirement. | 220 | "Check that a given version meets the minimum requirement. |
| 221 | VERSION, INCOMPATIBLE-VERSION and MINIMUM are of similar format to | 221 | VERSION, INCOMPATIBLE-VERSION and MINIMUM are of similar format to |
| 222 | return entries of `inversion-decode-version', or a classic version | 222 | return entries of `inversion-decode-version', or a classic version |
| 223 | string. INCOMPATIBLE-VERSION can be nil. | 223 | string. INCOMPATIBLE-VERSION can be nil. |
| 224 | RESERVED arguments are kept for a later use. | 224 | RESERVED arguments are kept for a later use. |
| 225 | Return: | 225 | Return: |
| 226 | - nil if everything is ok | 226 | - nil if everything is ok. |
| 227 | - 'outdated if VERSION is less than MINIMUM. | 227 | - 'outdated if VERSION is less than MINIMUM. |
| 228 | - 'incompatible if VERSION is not backward compatible with MINIMUM. | 228 | - 'incompatible if VERSION is not backward compatible with MINIMUM. |
| 229 | - t if the check failed." | 229 | - t if the check failed." |
| @@ -374,7 +374,7 @@ Return nil when VERSION-STRING was not found." | |||
| 374 | (with-temp-buffer | 374 | (with-temp-buffer |
| 375 | ;; The 3000 is a bit arbitrary, but should cut down on | 375 | ;; The 3000 is a bit arbitrary, but should cut down on |
| 376 | ;; fileio as version info usually is at the very top | 376 | ;; fileio as version info usually is at the very top |
| 377 | ;; of a file. AFter a long commentary could be bad. | 377 | ;; of a file. After a long commentary could be bad. |
| 378 | (insert-file-contents-literally file nil 0 3000) | 378 | (insert-file-contents-literally file nil 0 3000) |
| 379 | (goto-char (point-min)) | 379 | (goto-char (point-min)) |
| 380 | (when (re-search-forward (format tag package 'version) nil t) | 380 | (when (re-search-forward (format tag package 'version) nil t) |
diff --git a/lisp/cedet/mode-local.el b/lisp/cedet/mode-local.el index 0e7657642c2..511a3cd1d8b 100644 --- a/lisp/cedet/mode-local.el +++ b/lisp/cedet/mode-local.el | |||
| @@ -36,7 +36,7 @@ | |||
| 36 | ;; | 36 | ;; |
| 37 | ;; You should use a mode-local variable or override to allow extension | 37 | ;; You should use a mode-local variable or override to allow extension |
| 38 | ;; only if you expect a mode author to provide that extension. If a | 38 | ;; only if you expect a mode author to provide that extension. If a |
| 39 | ;; user might wish to customize a give variable or function then | 39 | ;; user might wish to customize a given variable or function then |
| 40 | ;; the existing customization mechanism should be used. | 40 | ;; the existing customization mechanism should be used. |
| 41 | 41 | ||
| 42 | ;; To Do: | 42 | ;; To Do: |
| @@ -55,7 +55,7 @@ | |||
| 55 | FUNCTION does not have arguments; when it is entered `current-buffer' | 55 | FUNCTION does not have arguments; when it is entered `current-buffer' |
| 56 | is the currently selected file buffer. | 56 | is the currently selected file buffer. |
| 57 | If optional argument PREDICATE is non nil, only select file buffers | 57 | If optional argument PREDICATE is non nil, only select file buffers |
| 58 | for which the function PREDICATE return non-nil. | 58 | for which the function PREDICATE returns non-nil. |
| 59 | If optional argument BUFFERS is non-nil, it is a list of buffers to | 59 | If optional argument BUFFERS is non-nil, it is a list of buffers to |
| 60 | walk through. It defaults to `buffer-list'." | 60 | walk through. It defaults to `buffer-list'." |
| 61 | (dolist (b (or buffers (buffer-list))) | 61 | (dolist (b (or buffers (buffer-list))) |
| @@ -146,7 +146,7 @@ local variables have been defined." | |||
| 146 | (mode-local-map-mode-buffers #'activate-mode-local-bindings mode)) | 146 | (mode-local-map-mode-buffers #'activate-mode-local-bindings mode)) |
| 147 | 147 | ||
| 148 | (defmacro define-child-mode (mode parent &optional docstring) | 148 | (defmacro define-child-mode (mode parent &optional docstring) |
| 149 | "Make major mode MODE inherits behavior from PARENT mode. | 149 | "Make major mode MODE inherit behavior from PARENT mode. |
| 150 | DOCSTRING is optional and not used. | 150 | DOCSTRING is optional and not used. |
| 151 | To work properly, this should be put after PARENT mode local variables | 151 | To work properly, this should be put after PARENT mode local variables |
| 152 | definition." | 152 | definition." |
| @@ -523,11 +523,11 @@ See also the function `define-overload'." | |||
| 523 | result))) | 523 | result))) |
| 524 | 524 | ||
| 525 | (defmacro define-overloadable-function (name args docstring &rest body) | 525 | (defmacro define-overloadable-function (name args docstring &rest body) |
| 526 | "Define a new function, as with `defun' which can be overloaded. | 526 | "Define a new function, as with `defun', which can be overloaded. |
| 527 | NAME is the name of the function to create. | 527 | NAME is the name of the function to create. |
| 528 | ARGS are the arguments to the function. | 528 | ARGS are the arguments to the function. |
| 529 | DOCSTRING is a documentation string to describe the function. The | 529 | DOCSTRING is a documentation string to describe the function. The |
| 530 | docstring will automatically had details about its overload symbol | 530 | docstring will automatically have details about its overload symbol |
| 531 | appended to the end. | 531 | appended to the end. |
| 532 | BODY is code that would be run when there is no override defined. The | 532 | BODY is code that would be run when there is no override defined. The |
| 533 | default is to call the function `NAME-default' with the appropriate | 533 | default is to call the function `NAME-default' with the appropriate |
diff --git a/lisp/cedet/pulse.el b/lisp/cedet/pulse.el index 74dc1ecde31..4929feb0302 100644 --- a/lisp/cedet/pulse.el +++ b/lisp/cedet/pulse.el | |||
| @@ -36,7 +36,7 @@ | |||
| 36 | ;; | 36 | ;; |
| 37 | ;; `pulse-momentary-highlight-one-line' - Pulse a single line at POINT. | 37 | ;; `pulse-momentary-highlight-one-line' - Pulse a single line at POINT. |
| 38 | ;; `pulse-momentary-highlight-region' - Pulse a region. | 38 | ;; `pulse-momentary-highlight-region' - Pulse a region. |
| 39 | ;; `pulse-momentary-highlight-overlay' - Pulse an overlay | 39 | ;; `pulse-momentary-highlight-overlay' - Pulse an overlay. |
| 40 | ;; These three functions will just blink the specified area if | 40 | ;; These three functions will just blink the specified area if |
| 41 | ;; the version of Emacs you are using doesn't support pulsing. | 41 | ;; the version of Emacs you are using doesn't support pulsing. |
| 42 | ;; | 42 | ;; |
| @@ -65,7 +65,7 @@ background color. | |||
| 65 | If the value is nil, highlight with an unchanging color until a | 65 | If the value is nil, highlight with an unchanging color until a |
| 66 | key is pressed. | 66 | key is pressed. |
| 67 | If the value is `never', do no coloring at all. | 67 | If the value is `never', do no coloring at all. |
| 68 | Any other value means to the default pulsing behavior. | 68 | Any other value means to do the default pulsing behavior. |
| 69 | 69 | ||
| 70 | If `pulse-flag' is non-nil, but `pulse-available-p' is nil, then | 70 | If `pulse-flag' is non-nil, but `pulse-available-p' is nil, then |
| 71 | this flag is ignored." | 71 | this flag is ignored." |
| @@ -77,7 +77,7 @@ this flag is ignored." | |||
| 77 | (:background "#AAAA33")) | 77 | (:background "#AAAA33")) |
| 78 | (((class color) (background light)) | 78 | (((class color) (background light)) |
| 79 | (:background "#FFFFAA"))) | 79 | (:background "#FFFFAA"))) |
| 80 | "*Face used at beginning of a highight." | 80 | "*Face used at beginning of a highlight." |
| 81 | :group 'pulse) | 81 | :group 'pulse) |
| 82 | 82 | ||
| 83 | (defface pulse-highlight-face | 83 | (defface pulse-highlight-face |
| @@ -163,7 +163,7 @@ Return t if there is more drift to do, nil if completed." | |||
| 163 | 163 | ||
| 164 | (defun pulse (&optional face) | 164 | (defun pulse (&optional face) |
| 165 | "Pulse the colors on our highlight face. | 165 | "Pulse the colors on our highlight face. |
| 166 | If optional FACE is provide, reset the face to FACE color, | 166 | If optional FACE is provided, reset the face to FACE color, |
| 167 | instead of `pulse-highlight-start-face'. | 167 | instead of `pulse-highlight-start-face'. |
| 168 | Be sure to call `pulse-reset-face' after calling pulse." | 168 | Be sure to call `pulse-reset-face' after calling pulse." |
| 169 | (unwind-protect | 169 | (unwind-protect |
diff --git a/lisp/cedet/semantic.el b/lisp/cedet/semantic.el index 639b46ad2cf..3ffb6baee9f 100644 --- a/lisp/cedet/semantic.el +++ b/lisp/cedet/semantic.el | |||
| @@ -344,7 +344,7 @@ to use Semantic, and `semantic-init-hook' is run." | |||
| 344 | ;; don't go along for the ride. | 344 | ;; don't go along for the ride. |
| 345 | (add-hook 'clone-indirect-buffer-hook 'semantic-clear-toplevel-cache | 345 | (add-hook 'clone-indirect-buffer-hook 'semantic-clear-toplevel-cache |
| 346 | nil t) | 346 | nil t) |
| 347 | ;; Specify that this function has done it's work. At this point | 347 | ;; Specify that this function has done its work. At this point |
| 348 | ;; we can consider that semantic is active in this buffer. | 348 | ;; we can consider that semantic is active in this buffer. |
| 349 | (setq semantic-new-buffer-fcn-was-run t) | 349 | (setq semantic-new-buffer-fcn-was-run t) |
| 350 | ;; Here are some buffer local variables we can initialize ourselves | 350 | ;; Here are some buffer local variables we can initialize ourselves |
| @@ -378,7 +378,7 @@ Do not set this yourself. Call `semantic-debug'.") | |||
| 378 | 378 | ||
| 379 | (defun semantic-elapsed-time (start end) | 379 | (defun semantic-elapsed-time (start end) |
| 380 | "Copied from elp.el. Was `elp-elapsed-time'. | 380 | "Copied from elp.el. Was `elp-elapsed-time'. |
| 381 | Argument START and END bound the time being calculated." | 381 | Arguments START and END bound the time being calculated." |
| 382 | (float-time (time-subtract end start))) | 382 | (float-time (time-subtract end start))) |
| 383 | 383 | ||
| 384 | (defun bovinate (&optional clear) | 384 | (defun bovinate (&optional clear) |
| @@ -431,7 +431,7 @@ will be silently ignored. | |||
| 431 | 431 | ||
| 432 | Optional arguments: | 432 | Optional arguments: |
| 433 | NONTERMINAL is the rule to start parsing at. | 433 | NONTERMINAL is the rule to start parsing at. |
| 434 | DEPTH specifies the lexical depth to descend for parser that use | 434 | DEPTH specifies the lexical depth to descend for parsers that use |
| 435 | lexical analysis as their first step. | 435 | lexical analysis as their first step. |
| 436 | RETURNONERROR specifies that parsing should stop on the first | 436 | RETURNONERROR specifies that parsing should stop on the first |
| 437 | unmatched syntax encountered. When nil, parsing skips the syntax, | 437 | unmatched syntax encountered. When nil, parsing skips the syntax, |
| @@ -960,7 +960,7 @@ Throw away all the old tags, and recreate the tag database." | |||
| 960 | '("--")) | 960 | '("--")) |
| 961 | (define-key navigate-menu [senator-go-to-up-reference] | 961 | (define-key navigate-menu [senator-go-to-up-reference] |
| 962 | '(menu-item "Parent Tag" senator-go-to-up-reference | 962 | '(menu-item "Parent Tag" senator-go-to-up-reference |
| 963 | :help "Navigate up one reference by tag.")) | 963 | :help "Navigate up one reference by tag")) |
| 964 | (define-key navigate-menu [senator-next-tag] | 964 | (define-key navigate-menu [senator-next-tag] |
| 965 | '(menu-item "Next Tag" senator-next-tag | 965 | '(menu-item "Next Tag" senator-next-tag |
| 966 | :help "Go to the next tag")) | 966 | :help "Go to the next tag")) |
| @@ -971,7 +971,7 @@ Throw away all the old tags, and recreate the tag database." | |||
| 971 | ;; Top level menu items: | 971 | ;; Top level menu items: |
| 972 | (define-key cedet-menu-map [semantic-force-refresh] | 972 | (define-key cedet-menu-map [semantic-force-refresh] |
| 973 | '(menu-item "Reparse Buffer" semantic-force-refresh | 973 | '(menu-item "Reparse Buffer" semantic-force-refresh |
| 974 | :help "Force a full reparse of the current buffer." | 974 | :help "Force a full reparse of the current buffer" |
| 975 | :visible semantic-mode)) | 975 | :visible semantic-mode)) |
| 976 | (define-key cedet-menu-map [semantic-edit-menu] | 976 | (define-key cedet-menu-map [semantic-edit-menu] |
| 977 | `(menu-item "Edit Tags" ,edit-menu | 977 | `(menu-item "Edit Tags" ,edit-menu |
diff --git a/lisp/cedet/semantic/analyze.el b/lisp/cedet/semantic/analyze.el index 43e998b852e..ae199703c80 100644 --- a/lisp/cedet/semantic/analyze.el +++ b/lisp/cedet/semantic/analyze.el | |||
| @@ -161,7 +161,7 @@ be just a string in some circumstances.") | |||
| 161 | (defclass semantic-analyze-context-return (semantic-analyze-context) | 161 | (defclass semantic-analyze-context-return (semantic-analyze-context) |
| 162 | () ; No extra data. | 162 | () ; No extra data. |
| 163 | "Analysis class for return data. | 163 | "Analysis class for return data. |
| 164 | Return data methods identify the requred type by the return value | 164 | Return data methods identify the required type by the return value |
| 165 | of the parent function.") | 165 | of the parent function.") |
| 166 | 166 | ||
| 167 | ;;; METHODS | 167 | ;;; METHODS |
diff --git a/lisp/cedet/semantic/bovine/c.el b/lisp/cedet/semantic/bovine/c.el index d8b004df1bd..686113c23e2 100644 --- a/lisp/cedet/semantic/bovine/c.el +++ b/lisp/cedet/semantic/bovine/c.el | |||
| @@ -344,7 +344,7 @@ Uses known macro tables in SPP to determine what block to skip." | |||
| 344 | (string= sym "0")) | 344 | (string= sym "0")) |
| 345 | (and ifdef (not (semantic-lex-spp-symbol-p sym))) | 345 | (and ifdef (not (semantic-lex-spp-symbol-p sym))) |
| 346 | (and ifndef (semantic-lex-spp-symbol-p sym))) | 346 | (and ifndef (semantic-lex-spp-symbol-p sym))) |
| 347 | ;; The if indecates to skip this preprocessor section | 347 | ;; The if indicates to skip this preprocessor section. |
| 348 | (let ((pt nil)) | 348 | (let ((pt nil)) |
| 349 | ;; (message "%s %s yes" ift sym) | 349 | ;; (message "%s %s yes" ift sym) |
| 350 | (beginning-of-line) | 350 | (beginning-of-line) |
| @@ -650,7 +650,7 @@ as for the parent." | |||
| 650 | (setq depth 0) | 650 | (setq depth 0) |
| 651 | 651 | ||
| 652 | ;; This is a copy of semantic-parse-region-default where we | 652 | ;; This is a copy of semantic-parse-region-default where we |
| 653 | ;; are doing something special with the lexication of the | 653 | ;; are doing something special with the lexing of the |
| 654 | ;; contents of the semantic-list token. Stuff not used by C | 654 | ;; contents of the semantic-list token. Stuff not used by C |
| 655 | ;; removed. | 655 | ;; removed. |
| 656 | (let ((tokstream | 656 | (let ((tokstream |
| @@ -954,7 +954,7 @@ now. | |||
| 954 | (nth 1 (car names)) ; name | 954 | (nth 1 (car names)) ; name |
| 955 | "typedef" | 955 | "typedef" |
| 956 | (semantic-tag-type-members tag) | 956 | (semantic-tag-type-members tag) |
| 957 | ;; parent is just tbe name of what | 957 | ;; parent is just the name of what |
| 958 | ;; is passed down as a tag. | 958 | ;; is passed down as a tag. |
| 959 | (list | 959 | (list |
| 960 | (semantic-tag-name | 960 | (semantic-tag-name |
| @@ -1591,7 +1591,7 @@ DO NOT return the list of tags encompassing point." | |||
| 1591 | (setq tagreturn (cons (semantic-tag-type (car (semanticdb-find-result-nth tmp idx))) tagreturn)) | 1591 | (setq tagreturn (cons (semantic-tag-type (car (semanticdb-find-result-nth tmp idx))) tagreturn)) |
| 1592 | (setq idx (1+ idx))) | 1592 | (setq idx (1+ idx))) |
| 1593 | ) | 1593 | ) |
| 1594 | ;; Use the encompased types around point to also look for using statements. | 1594 | ;; Use the encompassed types around point to also look for using statements. |
| 1595 | ;;(setq tagreturn (cons "bread_name" tagreturn)) | 1595 | ;;(setq tagreturn (cons "bread_name" tagreturn)) |
| 1596 | (while (cdr tagsaroundpoint) ; don't search the last one | 1596 | (while (cdr tagsaroundpoint) ; don't search the last one |
| 1597 | (setq tmp (semantic-find-tags-by-class 'using (semantic-tag-components (car tagsaroundpoint)))) | 1597 | (setq tmp (semantic-find-tags-by-class 'using (semantic-tag-components (car tagsaroundpoint)))) |
diff --git a/lisp/cedet/semantic/bovine/debug.el b/lisp/cedet/semantic/bovine/debug.el index 9ca7409e335..684db1e7bbf 100644 --- a/lisp/cedet/semantic/bovine/debug.el +++ b/lisp/cedet/semantic/bovine/debug.el | |||
| @@ -114,7 +114,7 @@ LEXTOKEN, is a token returned by the lexer which is being matched." | |||
| 114 | :documentation | 114 | :documentation |
| 115 | "An error condition caught in an action.") | 115 | "An error condition caught in an action.") |
| 116 | ) | 116 | ) |
| 117 | "Debugger frame representaion of a lisp error thrown during parsing.") | 117 | "Debugger frame representation of a lisp error thrown during parsing.") |
| 118 | 118 | ||
| 119 | (defun semantic-create-bovine-debug-error-frame (condition) | 119 | (defun semantic-create-bovine-debug-error-frame (condition) |
| 120 | "Create an error frame for bovine debugger. | 120 | "Create an error frame for bovine debugger. |
diff --git a/lisp/cedet/semantic/bovine/el.el b/lisp/cedet/semantic/bovine/el.el index 2151e9ef53b..98f744dca6e 100644 --- a/lisp/cedet/semantic/bovine/el.el +++ b/lisp/cedet/semantic/bovine/el.el | |||
| @@ -863,7 +863,7 @@ fields and such to, but that is for some other day." | |||
| 863 | In Emacs Lisp, a prototype for something may start (autoload ...). | 863 | In Emacs Lisp, a prototype for something may start (autoload ...). |
| 864 | This is certainly not expected if this is used to display a summary. | 864 | This is certainly not expected if this is used to display a summary. |
| 865 | Make up something else. When we go to write something that needs | 865 | Make up something else. When we go to write something that needs |
| 866 | a real Emacs Lisp protype, we can fix it then." | 866 | a real Emacs Lisp prototype, we can fix it then." |
| 867 | (let ((class (semantic-tag-class tag)) | 867 | (let ((class (semantic-tag-class tag)) |
| 868 | (name (semantic-format-tag-name tag parent color)) | 868 | (name (semantic-format-tag-name tag parent color)) |
| 869 | ) | 869 | ) |
diff --git a/lisp/cedet/semantic/complete.el b/lisp/cedet/semantic/complete.el index 41a569564d0..aaec4cb30ff 100644 --- a/lisp/cedet/semantic/complete.el +++ b/lisp/cedet/semantic/complete.el | |||
| @@ -1025,7 +1025,7 @@ Output must be in semanticdb Find result format." | |||
| 1025 | ((obj semantic-collector-abstract) prefix) | 1025 | ((obj semantic-collector-abstract) prefix) |
| 1026 | "For OBJ, do whatepsace completion based on PREFIX. | 1026 | "For OBJ, do whatepsace completion based on PREFIX. |
| 1027 | This implies that if there are two completions, one matching | 1027 | This implies that if there are two completions, one matching |
| 1028 | the test \"preifx\\>\", and one not, the one matching the full | 1028 | the test \"prefix\\>\", and one not, the one matching the full |
| 1029 | word version of PREFIX will be chosen, and that text returned. | 1029 | word version of PREFIX will be chosen, and that text returned. |
| 1030 | This function requires that `semantic-collector-calculate-completions' | 1030 | This function requires that `semantic-collector-calculate-completions' |
| 1031 | has been run first." | 1031 | has been run first." |
| @@ -1478,7 +1478,7 @@ one in the source buffer." | |||
| 1478 | (tag (cdr nt)) | 1478 | (tag (cdr nt)) |
| 1479 | (table (car nt)) | 1479 | (table (car nt)) |
| 1480 | ) | 1480 | ) |
| 1481 | ;; If we fail to normalize, resete. | 1481 | ;; If we fail to normalize, reset. |
| 1482 | (when (not tag) (setq table rtable tag rtag)) | 1482 | (when (not tag) (setq table rtable tag rtag)) |
| 1483 | ;; Do the focus. | 1483 | ;; Do the focus. |
| 1484 | (let ((buf (or (semantic-tag-buffer tag) | 1484 | (let ((buf (or (semantic-tag-buffer tag) |
diff --git a/lisp/cedet/semantic/db-find.el b/lisp/cedet/semantic/db-find.el index 35aef5d16ef..4d5d8f35f51 100644 --- a/lisp/cedet/semantic/db-find.el +++ b/lisp/cedet/semantic/db-find.el | |||
| @@ -675,7 +675,7 @@ Included databases are filtered based on `semanticdb-find-default-throttle'." | |||
| 675 | ;; | 675 | ;; |
| 676 | ;; NOTE: Not used if EDE is active! | 676 | ;; NOTE: Not used if EDE is active! |
| 677 | ((and (semanticdb-find-throttle-active-p 'project) | 677 | ((and (semanticdb-find-throttle-active-p 'project) |
| 678 | ;; And dont do this if it is a system include. Not supported by all languages, | 678 | ;; And don't do this if it is a system include. Not supported by all languages, |
| 679 | ;; but when it is, this is a nice fast way to skip this step. | 679 | ;; but when it is, this is a nice fast way to skip this step. |
| 680 | (not (semantic-tag-include-system-p includetag)) | 680 | (not (semantic-tag-include-system-p includetag)) |
| 681 | ;; Don't do this if we have an EDE project. | 681 | ;; Don't do this if we have an EDE project. |
diff --git a/lisp/cedet/semantic/db-javascript.el b/lisp/cedet/semantic/db-javascript.el index 213216cee1a..e662290340d 100644 --- a/lisp/cedet/semantic/db-javascript.el +++ b/lisp/cedet/semantic/db-javascript.el | |||
| @@ -137,7 +137,7 @@ Create one of our special tables that can act as an intermediary." | |||
| 137 | 137 | ||
| 138 | (defmethod semanticdb-get-tags ((table semanticdb-table-javascript )) | 138 | (defmethod semanticdb-get-tags ((table semanticdb-table-javascript )) |
| 139 | "Return the list of tags belonging to TABLE." | 139 | "Return the list of tags belonging to TABLE." |
| 140 | ;; NOTE: Omniscient databases probably don't want to keep large tabes | 140 | ;; NOTE: Omniscient databases probably don't want to keep large tables |
| 141 | ;; lolly-gagging about. Keep internal Emacs tables empty and | 141 | ;; lolly-gagging about. Keep internal Emacs tables empty and |
| 142 | ;; refer to alternate databases when you need something. | 142 | ;; refer to alternate databases when you need something. |
| 143 | semanticdb-javascript-tags) | 143 | semanticdb-javascript-tags) |
| @@ -151,7 +151,7 @@ local variable." | |||
| 151 | 151 | ||
| 152 | ;;; Usage | 152 | ;;; Usage |
| 153 | ;; | 153 | ;; |
| 154 | ;; Unlike other tables, an omniscent database does not need to | 154 | ;; Unlike other tables, an omniscient database does not need to |
| 155 | ;; be associated with a path. Use this routine to always add ourselves | 155 | ;; be associated with a path. Use this routine to always add ourselves |
| 156 | ;; to a search list. | 156 | ;; to a search list. |
| 157 | (define-mode-local-override semanticdb-find-translate-path javascript-mode | 157 | (define-mode-local-override semanticdb-find-translate-path javascript-mode |
diff --git a/lisp/cedet/semantic/db-typecache.el b/lisp/cedet/semantic/db-typecache.el index a4c4bd99f26..7d23ad17009 100644 --- a/lisp/cedet/semantic/db-typecache.el +++ b/lisp/cedet/semantic/db-typecache.el | |||
| @@ -368,7 +368,7 @@ a master list." | |||
| 368 | (semanticdb-typecache-merge-streams | 368 | (semanticdb-typecache-merge-streams |
| 369 | incstream | 369 | incstream |
| 370 | ;; Getting the cache from this table will also cause this | 370 | ;; Getting the cache from this table will also cause this |
| 371 | ;; file to update its cache from its decendents. | 371 | ;; file to update its cache from its descendants. |
| 372 | ;; | 372 | ;; |
| 373 | ;; In theory, caches are only built for most includes | 373 | ;; In theory, caches are only built for most includes |
| 374 | ;; only once (in the loop before this one), so this ends | 374 | ;; only once (in the loop before this one), so this ends |
diff --git a/lisp/cedet/semantic/db.el b/lisp/cedet/semantic/db.el index c9013ed8c90..3d2128db29a 100644 --- a/lisp/cedet/semantic/db.el +++ b/lisp/cedet/semantic/db.el | |||
| @@ -636,7 +636,7 @@ The file associated with OBJ does not need to be in a buffer." | |||
| 636 | (when (featurep 'semantic/lex-spp) | 636 | (when (featurep 'semantic/lex-spp) |
| 637 | (oset table lexical-table (semantic-lex-spp-save-table))) | 637 | (oset table lexical-table (semantic-lex-spp-save-table))) |
| 638 | 638 | ||
| 639 | ;; Incremental parser doesn't mokey around with this. | 639 | ;; Incremental parser doesn't monkey around with this. |
| 640 | (oset table unmatched-syntax semantic-unmatched-syntax-cache) | 640 | (oset table unmatched-syntax semantic-unmatched-syntax-cache) |
| 641 | 641 | ||
| 642 | ;; Synchronize the index | 642 | ;; Synchronize the index |
diff --git a/lisp/cedet/semantic/debug.el b/lisp/cedet/semantic/debug.el index ecab73a80dc..45b807df12b 100644 --- a/lisp/cedet/semantic/debug.el +++ b/lisp/cedet/semantic/debug.el | |||
| @@ -519,22 +519,22 @@ down to your parser later." | |||
| 519 | ) | 519 | ) |
| 520 | 520 | ||
| 521 | (defmethod semantic-debug-parser-go ((parser semantic-debug-parser)) | 521 | (defmethod semantic-debug-parser-go ((parser semantic-debug-parser)) |
| 522 | "Continue executiong in this PARSER until the next breakpoint." | 522 | "Continue execution in this PARSER until the next breakpoint." |
| 523 | (setq semantic-debug-user-command 'go) | 523 | (setq semantic-debug-user-command 'go) |
| 524 | ) | 524 | ) |
| 525 | 525 | ||
| 526 | (defmethod semantic-debug-parser-fail ((parser semantic-debug-parser)) | 526 | (defmethod semantic-debug-parser-fail ((parser semantic-debug-parser)) |
| 527 | "Continue executiong in this PARSER until the next breakpoint." | 527 | "Continue execution in this PARSER until the next breakpoint." |
| 528 | (setq semantic-debug-user-command 'fail) | 528 | (setq semantic-debug-user-command 'fail) |
| 529 | ) | 529 | ) |
| 530 | 530 | ||
| 531 | (defmethod semantic-debug-parser-quit ((parser semantic-debug-parser)) | 531 | (defmethod semantic-debug-parser-quit ((parser semantic-debug-parser)) |
| 532 | "Continue executiong in this PARSER until the next breakpoint." | 532 | "Continue execution in this PARSER until the next breakpoint." |
| 533 | (setq semantic-debug-user-command 'quit) | 533 | (setq semantic-debug-user-command 'quit) |
| 534 | ) | 534 | ) |
| 535 | 535 | ||
| 536 | (defmethod semantic-debug-parser-abort ((parser semantic-debug-parser)) | 536 | (defmethod semantic-debug-parser-abort ((parser semantic-debug-parser)) |
| 537 | "Continue executiong in this PARSER until the next breakpoint." | 537 | "Continue execution in this PARSER until the next breakpoint." |
| 538 | (setq semantic-debug-user-command 'abort) | 538 | (setq semantic-debug-user-command 'abort) |
| 539 | ) | 539 | ) |
| 540 | 540 | ||
diff --git a/lisp/cedet/semantic/edit.el b/lisp/cedet/semantic/edit.el index 4ac2733a34f..a2c8c5efd40 100644 --- a/lisp/cedet/semantic/edit.el +++ b/lisp/cedet/semantic/edit.el | |||
| @@ -392,7 +392,7 @@ See `semantic-edits-change-leaf-tag' for details on parents." | |||
| 392 | ;; There are no tags left, and all tags originally | 392 | ;; There are no tags left, and all tags originally |
| 393 | ;; found are encompassed by the change. Setup our list | 393 | ;; found are encompassed by the change. Setup our list |
| 394 | ;; from the cache | 394 | ;; from the cache |
| 395 | (setq list-to-search semantic--buffer-cache);; We have a tag ouside the list. Check for | 395 | (setq list-to-search semantic--buffer-cache);; We have a tag outside the list. Check for |
| 396 | ;; We know we have a parent because it would | 396 | ;; We know we have a parent because it would |
| 397 | ;; completely cover the change. A tag can only | 397 | ;; completely cover the change. A tag can only |
| 398 | ;; do that if it is a parent after we get here. | 398 | ;; do that if it is a parent after we get here. |
| @@ -549,7 +549,7 @@ This function is for internal use by `semantic-edits-incremental-parser'." | |||
| 549 | ;; is not the first change for this | 549 | ;; is not the first change for this |
| 550 | ;; iteration, and it starts before the end | 550 | ;; iteration, and it starts before the end |
| 551 | ;; of current parse region, then it is | 551 | ;; of current parse region, then it is |
| 552 | ;; encompased within the bounds of tags | 552 | ;; encompassed within the bounds of tags |
| 553 | ;; modified by the previous iteration's | 553 | ;; modified by the previous iteration's |
| 554 | ;; change. | 554 | ;; change. |
| 555 | (< (semantic-overlay-start (car changes)) | 555 | (< (semantic-overlay-start (car changes)) |
| @@ -649,7 +649,7 @@ This function is for internal use by `semantic-edits-incremental-parser'." | |||
| 649 | parent-tag (aref tmp 2)) | 649 | parent-tag (aref tmp 2)) |
| 650 | ;; We can calculate parse begin/end by checking | 650 | ;; We can calculate parse begin/end by checking |
| 651 | ;; out what is in TAGS. The one near start is | 651 | ;; out what is in TAGS. The one near start is |
| 652 | ;; always first. Make sure the reprase includes | 652 | ;; always first. Make sure the reparse includes |
| 653 | ;; the `whitespace' around the snarfed tags. | 653 | ;; the `whitespace' around the snarfed tags. |
| 654 | ;; Since cache-list is positioned properly, use it | 654 | ;; Since cache-list is positioned properly, use it |
| 655 | ;; to find that boundary. | 655 | ;; to find that boundary. |
| @@ -707,7 +707,7 @@ This function is for internal use by `semantic-edits-incremental-parser'." | |||
| 707 | ;; since that is how the multi-tag parser works. Grab | 707 | ;; since that is how the multi-tag parser works. Grab |
| 708 | ;; the reparse symbol from the first of the returned tags. | 708 | ;; the reparse symbol from the first of the returned tags. |
| 709 | ;; | 709 | ;; |
| 710 | ;; Feb '06 - If repase-symbol is nil, then they are top level | 710 | ;; Feb '06 - If reparse-symbol is nil, then they are top level |
| 711 | ;; tags. (I'm guessing.) Is this right? | 711 | ;; tags. (I'm guessing.) Is this right? |
| 712 | (setq reparse-symbol | 712 | (setq reparse-symbol |
| 713 | (semantic--tag-get-property (car (or tags cache-list)) | 713 | (semantic--tag-get-property (car (or tags cache-list)) |
diff --git a/lisp/cedet/semantic/fw.el b/lisp/cedet/semantic/fw.el index ca3015c5941..479044ec518 100644 --- a/lisp/cedet/semantic/fw.el +++ b/lisp/cedet/semantic/fw.el | |||
| @@ -251,7 +251,7 @@ later installation should be done in MODE hook." | |||
| 251 | 251 | ||
| 252 | (defmacro semantic-exit-on-input (symbol &rest forms) | 252 | (defmacro semantic-exit-on-input (symbol &rest forms) |
| 253 | "Using SYMBOL as an argument to `throw', execute FORMS. | 253 | "Using SYMBOL as an argument to `throw', execute FORMS. |
| 254 | If FORMS includes a call to `semantic-thow-on-input', then | 254 | If FORMS includes a call to `semantic-throw-on-input', then |
| 255 | if a user presses any key during execution, this form macro | 255 | if a user presses any key during execution, this form macro |
| 256 | will exit with the value passed to `semantic-throw-on-input'. | 256 | will exit with the value passed to `semantic-throw-on-input'. |
| 257 | If FORMS completes, then the return value is the same as `progn'." | 257 | If FORMS completes, then the return value is the same as `progn'." |
diff --git a/lisp/cedet/semantic/html.el b/lisp/cedet/semantic/html.el index 137759d46ac..a7d150ec4a9 100644 --- a/lisp/cedet/semantic/html.el +++ b/lisp/cedet/semantic/html.el | |||
| @@ -126,7 +126,7 @@ html parser. PNT is the new point to set." | |||
| 126 | NAME is the name of this section. | 126 | NAME is the name of this section. |
| 127 | MEMBERS is a list of semantic tags representing the elements that make | 127 | MEMBERS is a list of semantic tags representing the elements that make |
| 128 | up this section. | 128 | up this section. |
| 129 | LEVEL is the levelling level. | 129 | LEVEL is the leveling level. |
| 130 | START and END define the location of data described by the tag." | 130 | START and END define the location of data described by the tag." |
| 131 | (let ((anchorp (eq level 11))) | 131 | (let ((anchorp (eq level 11))) |
| 132 | (append (semantic-tag name | 132 | (append (semantic-tag name |
diff --git a/lisp/cedet/semantic/idle.el b/lisp/cedet/semantic/idle.el index b49d1db1ad5..6761a7f532b 100644 --- a/lisp/cedet/semantic/idle.el +++ b/lisp/cedet/semantic/idle.el | |||
| @@ -245,7 +245,7 @@ And also manages services that depend on tag values." | |||
| 245 | ;; services. Stop on keypress. | 245 | ;; services. Stop on keypress. |
| 246 | 246 | ||
| 247 | ;; NOTE ON COMMENTED SAFE HERE | 247 | ;; NOTE ON COMMENTED SAFE HERE |
| 248 | ;; We used to not execute the services if the buffer wsa | 248 | ;; We used to not execute the services if the buffer was |
| 249 | ;; unparseable. We now assume that they are lexically | 249 | ;; unparseable. We now assume that they are lexically |
| 250 | ;; safe to do, because we have marked the buffer unparseable | 250 | ;; safe to do, because we have marked the buffer unparseable |
| 251 | ;; if there was a problem. | 251 | ;; if there was a problem. |
| @@ -254,11 +254,11 @@ And also manages services that depend on tag values." | |||
| 254 | (save-excursion | 254 | (save-excursion |
| 255 | (semantic-throw-on-input 'idle-queue) | 255 | (semantic-throw-on-input 'idle-queue) |
| 256 | (when semantic-idle-scheduler-verbose-flag | 256 | (when semantic-idle-scheduler-verbose-flag |
| 257 | (message "IDLE: execture service %s..." service)) | 257 | (message "IDLE: execute service %s..." service)) |
| 258 | (semantic-safe (format "Idle Service Error %s: %%S" service) | 258 | (semantic-safe (format "Idle Service Error %s: %%S" service) |
| 259 | (funcall service)) | 259 | (funcall service)) |
| 260 | (when semantic-idle-scheduler-verbose-flag | 260 | (when semantic-idle-scheduler-verbose-flag |
| 261 | (message "IDLE: execture service %s...done" service)) | 261 | (message "IDLE: execute service %s...done" service)) |
| 262 | ))) | 262 | ))) |
| 263 | ;;) | 263 | ;;) |
| 264 | ;; Finally loop over remaining buffers, trying to update them as | 264 | ;; Finally loop over remaining buffers, trying to update them as |
diff --git a/lisp/cedet/semantic/imenu.el b/lisp/cedet/semantic/imenu.el index 033c34e1b83..7566c08f13a 100644 --- a/lisp/cedet/semantic/imenu.el +++ b/lisp/cedet/semantic/imenu.el | |||
| @@ -368,7 +368,7 @@ Optional argument PARENT is a tag parent of STREAM." | |||
| 368 | semantic-imenu-expandable-tag-classes) | 368 | semantic-imenu-expandable-tag-classes) |
| 369 | children | 369 | children |
| 370 | ) | 370 | ) |
| 371 | ;; to keep an homogeneous menu organisation, type menu items | 371 | ;; to keep an homogeneous menu organization, type menu items |
| 372 | ;; always have a sub-menu with at least the *definition* | 372 | ;; always have a sub-menu with at least the *definition* |
| 373 | ;; item (even if the tag has no type components) | 373 | ;; item (even if the tag has no type components) |
| 374 | (progn | 374 | (progn |
diff --git a/lisp/cedet/semantic/lex-spp.el b/lisp/cedet/semantic/lex-spp.el index 8009a257a7b..03a3f1b0cb1 100644 --- a/lisp/cedet/semantic/lex-spp.el +++ b/lisp/cedet/semantic/lex-spp.el | |||
| @@ -1067,7 +1067,7 @@ of type `spp-macro-undef' is to be created." | |||
| 1067 | ;; | 1067 | ;; |
| 1068 | ;; These analyzers help a language define how include files | 1068 | ;; These analyzers help a language define how include files |
| 1069 | ;; are identified. These are ONLY for languages that perform | 1069 | ;; are identified. These are ONLY for languages that perform |
| 1070 | ;; an actual textual includesion, and not for imports. | 1070 | ;; an actual textual inclusion, and not for imports. |
| 1071 | ;; | 1071 | ;; |
| 1072 | ;; This section is supposed to allow the macros from the headers to be | 1072 | ;; This section is supposed to allow the macros from the headers to be |
| 1073 | ;; added to the local dynamic macro table, but that hasn't been | 1073 | ;; added to the local dynamic macro table, but that hasn't been |
diff --git a/lisp/cedet/semantic/lex.el b/lisp/cedet/semantic/lex.el index 4da3be98f37..fca367ecb8c 100644 --- a/lisp/cedet/semantic/lex.el +++ b/lisp/cedet/semantic/lex.el | |||
| @@ -1362,11 +1362,11 @@ Return either a paren token or a semantic list token depending on | |||
| 1362 | )) | 1362 | )) |
| 1363 | 1363 | ||
| 1364 | (define-lex-simple-regex-analyzer semantic-lex-open-paren | 1364 | (define-lex-simple-regex-analyzer semantic-lex-open-paren |
| 1365 | "Detect and create an open parenthisis token." | 1365 | "Detect and create an open parenthesis token." |
| 1366 | "\\s(" 'open-paren 0 (setq semantic-lex-current-depth (1+ semantic-lex-current-depth))) | 1366 | "\\s(" 'open-paren 0 (setq semantic-lex-current-depth (1+ semantic-lex-current-depth))) |
| 1367 | 1367 | ||
| 1368 | (define-lex-simple-regex-analyzer semantic-lex-close-paren | 1368 | (define-lex-simple-regex-analyzer semantic-lex-close-paren |
| 1369 | "Detect and create a close paren token." | 1369 | "Detect and create a close parenthesis token." |
| 1370 | "\\s)" 'close-paren 0 (setq semantic-lex-current-depth (1- semantic-lex-current-depth))) | 1370 | "\\s)" 'close-paren 0 (setq semantic-lex-current-depth (1- semantic-lex-current-depth))) |
| 1371 | 1371 | ||
| 1372 | (define-lex-regex-analyzer semantic-lex-string | 1372 | (define-lex-regex-analyzer semantic-lex-string |
diff --git a/lisp/cedet/semantic/sb.el b/lisp/cedet/semantic/sb.el index d9a3ede360d..8c3d6c17cf4 100644 --- a/lisp/cedet/semantic/sb.el +++ b/lisp/cedet/semantic/sb.el | |||
| @@ -87,7 +87,7 @@ Restore the old current buffer when completed." | |||
| 87 | ;; @ type | 87 | ;; @ type |
| 88 | ;; = default value | 88 | ;; = default value |
| 89 | ;; | 89 | ;; |
| 90 | ;; +> keywrd Type | 90 | ;; +> keyword Type |
| 91 | ;; +> type part | 91 | ;; +> type part |
| 92 | ;; | 92 | ;; |
| 93 | ;; +> -> click to see additional information | 93 | ;; +> -> click to see additional information |
diff --git a/lisp/cedet/semantic/scope.el b/lisp/cedet/semantic/scope.el index 16deb245527..ea4903c70ea 100644 --- a/lisp/cedet/semantic/scope.el +++ b/lisp/cedet/semantic/scope.el | |||
| @@ -303,7 +303,7 @@ are from nesting data types." | |||
| 303 | (miniscope (semantic-scope-cache "mini")) | 303 | (miniscope (semantic-scope-cache "mini")) |
| 304 | ptag) | 304 | ptag) |
| 305 | 305 | ||
| 306 | ;; Find the next entry in the refereneced type for | 306 | ;; Find the next entry in the referenced type for |
| 307 | ;; our function, and append to return list till our | 307 | ;; our function, and append to return list till our |
| 308 | ;; returnlist is empty. | 308 | ;; returnlist is empty. |
| 309 | (while snlist | 309 | (while snlist |
diff --git a/lisp/cedet/semantic/symref/list.el b/lisp/cedet/semantic/symref/list.el index a09928c7dfc..ce3500f83e1 100644 --- a/lisp/cedet/semantic/symref/list.el +++ b/lisp/cedet/semantic/symref/list.el | |||
| @@ -24,7 +24,7 @@ | |||
| 24 | ;; Provide a simple user facing API to finding symbol references. | 24 | ;; Provide a simple user facing API to finding symbol references. |
| 25 | ;; | 25 | ;; |
| 26 | ;; This UI is the base of some refactoring tools. For any refactor, | 26 | ;; This UI is the base of some refactoring tools. For any refactor, |
| 27 | ;; the user will execture [FIXME what?] `semantic-symref' in a tag. | 27 | ;; the user will execute `semantic-symref' in a tag. |
| 28 | ;; Once that data is collected, the output will be listed in a buffer. | 28 | ;; Once that data is collected, the output will be listed in a buffer. |
| 29 | ;; In the output buffer, the user can then initiate different | 29 | ;; In the output buffer, the user can then initiate different |
| 30 | ;; refactoring operations. | 30 | ;; refactoring operations. |
| @@ -103,7 +103,7 @@ Display the references in`semantic-symref-results-mode'." | |||
| 103 | (when (not res) (error "No references found")) | 103 | (when (not res) (error "No references found")) |
| 104 | (semantic-symref-result-get-tags res t) | 104 | (semantic-symref-result-get-tags res t) |
| 105 | (message "Gathering References...done") | 105 | (message "Gathering References...done") |
| 106 | ;; Build a refrences buffer. | 106 | ;; Build a references buffer. |
| 107 | (let ((buff (get-buffer-create | 107 | (let ((buff (get-buffer-create |
| 108 | (format "*Symref %s" str))) | 108 | (format "*Symref %s" str))) |
| 109 | ) | 109 | ) |
diff --git a/lisp/cedet/semantic/tag-file.el b/lisp/cedet/semantic/tag-file.el index d118d9b6203..86fa382a766 100644 --- a/lisp/cedet/semantic/tag-file.el +++ b/lisp/cedet/semantic/tag-file.el | |||
| @@ -125,7 +125,7 @@ Depends on `semantic-dependency-include-path' for searching. Always searches | |||
| 125 | (tag-fname nil)) | 125 | (tag-fname nil)) |
| 126 | (cond ((semantic-tag-in-buffer-p tag) | 126 | (cond ((semantic-tag-in-buffer-p tag) |
| 127 | ;; If the tag has an overlay and buffer associated with it, | 127 | ;; If the tag has an overlay and buffer associated with it, |
| 128 | ;; switch to that buffer so that we get the right override metohds. | 128 | ;; switch to that buffer so that we get the right override methods. |
| 129 | (set-buffer (semantic-tag-buffer tag))) | 129 | (set-buffer (semantic-tag-buffer tag))) |
| 130 | ((semantic-tag-file-name tag) | 130 | ((semantic-tag-file-name tag) |
| 131 | ;; If it didn't have a buffer, but does have a file | 131 | ;; If it didn't have a buffer, but does have a file |
diff --git a/lisp/cedet/semantic/tag.el b/lisp/cedet/semantic/tag.el index cf3f5b603c8..f8538ef7901 100644 --- a/lisp/cedet/semantic/tag.el +++ b/lisp/cedet/semantic/tag.el | |||
| @@ -919,7 +919,7 @@ That is the value of the attribute `:system-flag'." | |||
| 919 | "Return a filename representation of TAG. | 919 | "Return a filename representation of TAG. |
| 920 | The default action is to return the `semantic-tag-name'. | 920 | The default action is to return the `semantic-tag-name'. |
| 921 | Some languages do not use full filenames in their include statements. | 921 | Some languages do not use full filenames in their include statements. |
| 922 | Override this method to translate the code represenation | 922 | Override this method to translate the code representation |
| 923 | into a filename. (A relative filename if necessary.) | 923 | into a filename. (A relative filename if necessary.) |
| 924 | 924 | ||
| 925 | See `semantic-dependency-tag-file' to expand an include | 925 | See `semantic-dependency-tag-file' to expand an include |
| @@ -1162,7 +1162,7 @@ This function is for internal use only." | |||
| 1162 | (semantic-tag-components-with-overlays tag))))) | 1162 | (semantic-tag-components-with-overlays tag))))) |
| 1163 | 1163 | ||
| 1164 | (defun semantic--tag-unlink-cache-from-buffer () | 1164 | (defun semantic--tag-unlink-cache-from-buffer () |
| 1165 | "Convert all tags in the current cache to use overlay proxys. | 1165 | "Convert all tags in the current cache to use overlay proxies. |
| 1166 | This function is for internal use only." | 1166 | This function is for internal use only." |
| 1167 | (require 'semantic) | 1167 | (require 'semantic) |
| 1168 | (semantic--tag-unlink-list-from-buffer | 1168 | (semantic--tag-unlink-list-from-buffer |
diff --git a/lisp/cedet/semantic/texi.el b/lisp/cedet/semantic/texi.el index c2f080ce75b..78d5569c2a7 100644 --- a/lisp/cedet/semantic/texi.el +++ b/lisp/cedet/semantic/texi.el | |||
| @@ -262,7 +262,7 @@ can handle the @menu environment.") | |||
| 262 | (let ((parenthetical (semantic-up-context-default)) | 262 | (let ((parenthetical (semantic-up-context-default)) |
| 263 | ) | 263 | ) |
| 264 | (when (not parenthetical) | 264 | (when (not parenthetical) |
| 265 | ;; We are in parenthises. Are they the types of parens | 265 | ;; We are in parentheses. Are they the types of parens |
| 266 | ;; belonging to a texinfo construct? | 266 | ;; belonging to a texinfo construct? |
| 267 | (forward-word -1) | 267 | (forward-word -1) |
| 268 | (when (looking-at "@\\w+{") | 268 | (when (looking-at "@\\w+{") |
| @@ -483,7 +483,7 @@ that start with that symbol." | |||
| 483 | ;; This section provides specialized access into texinfo files. | 483 | ;; This section provides specialized access into texinfo files. |
| 484 | ;; Because texinfo files often directly refer to functions and programs | 484 | ;; Because texinfo files often directly refer to functions and programs |
| 485 | ;; it is useful to access the texinfo file from the C code for document | 485 | ;; it is useful to access the texinfo file from the C code for document |
| 486 | ;; maintainance. | 486 | ;; maintenance. |
| 487 | (defun semantic-texi-associated-files (&optional buffer) | 487 | (defun semantic-texi-associated-files (&optional buffer) |
| 488 | "Find texinfo files associated with BUFFER." | 488 | "Find texinfo files associated with BUFFER." |
| 489 | (save-excursion | 489 | (save-excursion |
diff --git a/lisp/cedet/semantic/wisent/javat-wy.el b/lisp/cedet/semantic/wisent/javat-wy.el index 38c19387440..4470b87a1f1 100644 --- a/lisp/cedet/semantic/wisent/javat-wy.el +++ b/lisp/cedet/semantic/wisent/javat-wy.el | |||
| @@ -669,7 +669,7 @@ It ignores whitespaces, newlines and comments." | |||
| 669 | wisent-java-tags-wy--<symbol>-regexp-analyzer | 669 | wisent-java-tags-wy--<symbol>-regexp-analyzer |
| 670 | wisent-java-tags-wy--<punctuation>-string-analyzer | 670 | wisent-java-tags-wy--<punctuation>-string-analyzer |
| 671 | wisent-java-tags-wy--<block>-block-analyzer | 671 | wisent-java-tags-wy--<block>-block-analyzer |
| 672 | ;; In theory, unicode chars should be turned into normal chars | 672 | ;; In theory, Unicode chars should be turned into normal chars |
| 673 | ;; and then combined into regular ascii keywords and text. This | 673 | ;; and then combined into regular ascii keywords and text. This |
| 674 | ;; analyzer just keeps these things from making the lexer go boom. | 674 | ;; analyzer just keeps these things from making the lexer go boom. |
| 675 | wisent-java-tags-wy--<unicode>-regexp-analyzer | 675 | wisent-java-tags-wy--<unicode>-regexp-analyzer |
diff --git a/lisp/cedet/semantic/wisent/python.el b/lisp/cedet/semantic/wisent/python.el index 1f52e9eb3b6..c73033ce0ac 100644 --- a/lisp/cedet/semantic/wisent/python.el +++ b/lisp/cedet/semantic/wisent/python.el | |||
| @@ -43,7 +43,7 @@ | |||
| 43 | ;; The 'r' prefix means raw, i.e., normal backslash substitutions are | 43 | ;; The 'r' prefix means raw, i.e., normal backslash substitutions are |
| 44 | ;; to be suppressed. For example, r"01\n34" is a string with six | 44 | ;; to be suppressed. For example, r"01\n34" is a string with six |
| 45 | ;; characters 0, 1, \, n, 3 and 4. The 'u' prefix means the following | 45 | ;; characters 0, 1, \, n, 3 and 4. The 'u' prefix means the following |
| 46 | ;; string is a unicode. | 46 | ;; string is Unicode. |
| 47 | (defconst wisent-python-string-re | 47 | (defconst wisent-python-string-re |
| 48 | (concat (regexp-opt '("r" "u" "ur" "R" "U" "UR" "Ur" "uR") t) | 48 | (concat (regexp-opt '("r" "u" "ur" "R" "U" "UR" "Ur" "uR") t) |
| 49 | "?['\"]") | 49 | "?['\"]") |
diff --git a/lisp/cedet/srecode/ctxt.el b/lisp/cedet/srecode/ctxt.el index f392379347a..11d84e96f41 100644 --- a/lisp/cedet/srecode/ctxt.el +++ b/lisp/cedet/srecode/ctxt.el | |||
| @@ -64,7 +64,7 @@ Some useful context values used by the provided srecode templates are: | |||
| 64 | \"comment\" - In a comment in a block of code | 64 | \"comment\" - In a comment in a block of code |
| 65 | -- these items show up at the end of the context list. -- | 65 | -- these items show up at the end of the context list. -- |
| 66 | \"public\", \"protected\", \"private\" - | 66 | \"public\", \"protected\", \"private\" - |
| 67 | In or near a section of public/pritected/private entries. | 67 | In or near a section of public/protected/private entries. |
| 68 | \"code\" - In a block of code. | 68 | \"code\" - In a block of code. |
| 69 | \"string\" - In a string in a block of code | 69 | \"string\" - In a string in a block of code |
| 70 | \"comment\" - In a comment in a block of code | 70 | \"comment\" - In a comment in a block of code |
diff --git a/lisp/cedet/srecode/dictionary.el b/lisp/cedet/srecode/dictionary.el index 62ceff82448..1575ce7ae3b 100644 --- a/lisp/cedet/srecode/dictionary.el +++ b/lisp/cedet/srecode/dictionary.el | |||
| @@ -437,7 +437,7 @@ The root dictionary is usually for a current or active insertion." | |||
| 437 | ;;; COMPOUND VALUE METHODS | 437 | ;;; COMPOUND VALUE METHODS |
| 438 | ;; | 438 | ;; |
| 439 | ;; Compound values must provide at least the toString method | 439 | ;; Compound values must provide at least the toString method |
| 440 | ;; for use in converting the compound value into sometehing insertable. | 440 | ;; for use in converting the compound value into something insertable. |
| 441 | 441 | ||
| 442 | (defmethod srecode-compound-toString ((cp srecode-dictionary-compound-value) | 442 | (defmethod srecode-compound-toString ((cp srecode-dictionary-compound-value) |
| 443 | function | 443 | function |
diff --git a/lisp/cedet/srecode/document.el b/lisp/cedet/srecode/document.el index caf1ddebdb2..e25905ead83 100644 --- a/lisp/cedet/srecode/document.el +++ b/lisp/cedet/srecode/document.el | |||
| @@ -122,7 +122,7 @@ RESULT is a string." | |||
| 122 | ("read" . "Reads from") | 122 | ("read" . "Reads from") |
| 123 | ("reset" . "Resets the parameters and returns") | 123 | ("reset" . "Resets the parameters and returns") |
| 124 | ("scan" . "Scans the ") | 124 | ("scan" . "Scans the ") |
| 125 | ("setup\\|init\\(iallize\\)?" . "Initializes the ") | 125 | ("setup\\|init\\(ialize\\)?" . "Initializes the ") |
| 126 | ("select" . "Chooses the ") | 126 | ("select" . "Chooses the ") |
| 127 | ("send" . "Sends a") | 127 | ("send" . "Sends a") |
| 128 | ("re?c\\(v\\|ieves?\\)" . "Receives a ") | 128 | ("re?c\\(v\\|ieves?\\)" . "Receives a ") |
| @@ -698,7 +698,7 @@ allocating something based on its type." | |||
| 698 | (cdr (car al))))) | 698 | (cdr (car al))))) |
| 699 | (setq al nil))) | 699 | (setq al nil))) |
| 700 | (setq al (cdr al))) | 700 | (setq al (cdr al))) |
| 701 | ;; add tailers to names which are obviously returning something. | 701 | ;; add trailers to names which are obviously returning something. |
| 702 | (if tailit | 702 | (if tailit |
| 703 | (progn | 703 | (progn |
| 704 | (setq al srecode-document-autocomment-return-last-alist) | 704 | (setq al srecode-document-autocomment-return-last-alist) |
diff --git a/lisp/cedet/srecode/find.el b/lisp/cedet/srecode/find.el index d9765ebd449..b947c63f4dd 100644 --- a/lisp/cedet/srecode/find.el +++ b/lisp/cedet/srecode/find.el | |||
| @@ -238,7 +238,7 @@ Optional argument HASH is the hash table to fill in." | |||
| 238 | (tabs (when mt (oref mt :tables))) | 238 | (tabs (when mt (oref mt :tables))) |
| 239 | ) | 239 | ) |
| 240 | (while tabs | 240 | (while tabs |
| 241 | ;; Exclude templates for a perticular application. | 241 | ;; Exclude templates for a particular application. |
| 242 | (when (and (not (oref (car tabs) :application)) | 242 | (when (and (not (oref (car tabs) :application)) |
| 243 | (srecode-template-table-in-project-p (car tabs))) | 243 | (srecode-template-table-in-project-p (car tabs))) |
| 244 | (maphash (lambda (key temp) | 244 | (maphash (lambda (key temp) |
diff --git a/lisp/cedet/srecode/insert.el b/lisp/cedet/srecode/insert.el index 9fbfc5dc042..60f277b2c9f 100644 --- a/lisp/cedet/srecode/insert.el +++ b/lisp/cedet/srecode/insert.el | |||
| @@ -946,7 +946,7 @@ with the dictionaries found in the dictionary." | |||
| 946 | ;; It will first insert the included template, then insert the embedded | 946 | ;; It will first insert the included template, then insert the embedded |
| 947 | ;; template wherever the $^$ in the included template was. | 947 | ;; template wherever the $^$ in the included template was. |
| 948 | ;; | 948 | ;; |
| 949 | ;; Since it uses dual inheretance, it will magically get the end-matching | 949 | ;; Since it uses dual inheritance, it will magically get the end-matching |
| 950 | ;; behavior of #, with the including feature of >. | 950 | ;; behavior of #, with the including feature of >. |
| 951 | ;; | 951 | ;; |
| 952 | (defclass srecode-template-inserter-include-wrap (srecode-template-inserter-include srecode-template-inserter-section-start) | 952 | (defclass srecode-template-inserter-include-wrap (srecode-template-inserter-include srecode-template-inserter-section-start) |
diff --git a/lisp/color.el b/lisp/color.el index 5b67eb58a63..487e280dd59 100644 --- a/lisp/color.el +++ b/lisp/color.el | |||
| @@ -28,7 +28,7 @@ | |||
| 28 | ;; complements, and computing CIEDE2000 color distances. | 28 | ;; complements, and computing CIEDE2000 color distances. |
| 29 | ;; | 29 | ;; |
| 30 | ;; Supported color representations include RGB (red, green, blue), HSV | 30 | ;; Supported color representations include RGB (red, green, blue), HSV |
| 31 | ;; (hue, saturation, value), HSL (hue, saturation, luminence), sRGB, | 31 | ;; (hue, saturation, value), HSL (hue, saturation, luminance), sRGB, |
| 32 | ;; CIE XYZ, and CIE L*a*b* color components. | 32 | ;; CIE XYZ, and CIE L*a*b* color components. |
| 33 | 33 | ||
| 34 | ;;; Code: | 34 | ;;; Code: |
diff --git a/lisp/comint.el b/lisp/comint.el index f25293ff3ac..c0b02e5a230 100644 --- a/lisp/comint.el +++ b/lisp/comint.el | |||
| @@ -1980,7 +1980,7 @@ Make backspaces delete the previous character." | |||
| 1980 | ;; The point should float after any insertion we do. | 1980 | ;; The point should float after any insertion we do. |
| 1981 | (saved-point (copy-marker (point) t))) | 1981 | (saved-point (copy-marker (point) t))) |
| 1982 | 1982 | ||
| 1983 | ;; We temporarly remove any buffer narrowing, in case the | 1983 | ;; We temporarily remove any buffer narrowing, in case the |
| 1984 | ;; process mark is outside of the restriction | 1984 | ;; process mark is outside of the restriction |
| 1985 | (save-restriction | 1985 | (save-restriction |
| 1986 | (widen) | 1986 | (widen) |
| @@ -2568,7 +2568,7 @@ This command is like `M-.' in bash." | |||
| 2568 | ;; First usage; initialize to a marker | 2568 | ;; First usage; initialize to a marker |
| 2569 | (setq comint-insert-previous-argument-last-start-pos | 2569 | (setq comint-insert-previous-argument-last-start-pos |
| 2570 | (make-marker))))) | 2570 | (make-marker))))) |
| 2571 | ;; Make sure we're not in the prompt, and add a beginning space if necess. | 2571 | ;; Make sure we're not in the prompt, and add a beginning space if necessary. |
| 2572 | (if (<= (point) (comint-line-beginning-position)) | 2572 | (if (<= (point) (comint-line-beginning-position)) |
| 2573 | (comint-bol) | 2573 | (comint-bol) |
| 2574 | (just-one-space)) | 2574 | (just-one-space)) |
diff --git a/lisp/descr-text.el b/lisp/descr-text.el index c175bd7c3c7..8b7fa89a19b 100644 --- a/lisp/descr-text.el +++ b/lisp/descr-text.el | |||
| @@ -221,7 +221,7 @@ At the time of writing it is at the URL | |||
| 221 | file)) | 221 | file)) |
| 222 | 222 | ||
| 223 | (defun describe-char-unicode-data (char) | 223 | (defun describe-char-unicode-data (char) |
| 224 | "Return a list of Unicode data for unicode CHAR. | 224 | "Return a list of Unicode data for Unicode CHAR. |
| 225 | Each element is a list of a property description and the property value. | 225 | Each element is a list of a property description and the property value. |
| 226 | The list is null if CHAR isn't found in `describe-char-unicodedata-file'. | 226 | The list is null if CHAR isn't found in `describe-char-unicodedata-file'. |
| 227 | This function is semi-obsolete. Use `get-char-code-property'." | 227 | This function is semi-obsolete. Use `get-char-code-property'." |
diff --git a/lisp/dframe.el b/lisp/dframe.el index 93d9e7948cf..b1eb2d636b9 100644 --- a/lisp/dframe.el +++ b/lisp/dframe.el | |||
| @@ -82,7 +82,7 @@ | |||
| 82 | ;; c) If successful (your -frame variable has a value), call | 82 | ;; c) If successful (your -frame variable has a value), call |
| 83 | ;; timer setup if applicable. | 83 | ;; timer setup if applicable. |
| 84 | ;; your-frame-reposition- -- Function to call from after-create-hook to | 84 | ;; your-frame-reposition- -- Function to call from after-create-hook to |
| 85 | ;; reposition your frame with `dframe-repsoition-frame'. | 85 | ;; reposition your frame with `dframe-reposition-frame'. |
| 86 | ;; your-mode -- Set up the major mode of the buffer for your app. | 86 | ;; your-mode -- Set up the major mode of the buffer for your app. |
| 87 | ;; Set these variables: dframe-track-mouse-function, | 87 | ;; Set these variables: dframe-track-mouse-function, |
| 88 | ;; dframe-help-echo-function, | 88 | ;; dframe-help-echo-function, |
| @@ -96,7 +96,7 @@ | |||
| 96 | ;; dframe-track-mouse, dframe-help-echo-function -- | 96 | ;; dframe-track-mouse, dframe-help-echo-function -- |
| 97 | ;; These variables need to be set to functions that display info | 97 | ;; These variables need to be set to functions that display info |
| 98 | ;; based on the mouse's position. | 98 | ;; based on the mouse's position. |
| 99 | ;; Text propert 'help-echo, set to `dframe-help-echo', which will | 99 | ;; Text property 'help-echo, set to `dframe-help-echo', which will |
| 100 | ;; call `dframe-help-echo-function'. | 100 | ;; call `dframe-help-echo-function'. |
| 101 | ;; Have a `-click' function, it can call `dframe-quick-mouse' for | 101 | ;; Have a `-click' function, it can call `dframe-quick-mouse' for |
| 102 | ;; positioning. If the variable `dframe-power-click' is non-nil, | 102 | ;; positioning. If the variable `dframe-power-click' is non-nil, |
| @@ -136,7 +136,7 @@ This is nil for terminals, since updating a frame in a terminal | |||
| 136 | is not useful to the user.") | 136 | is not useful to the user.") |
| 137 | 137 | ||
| 138 | (defcustom dframe-update-speed | 138 | (defcustom dframe-update-speed |
| 139 | (if (featurep 'xemacs) 2 ; 1 is too obrusive in XEmacs | 139 | (if (featurep 'xemacs) 2 ; 1 is too obtrusive in XEmacs |
| 140 | 1) | 140 | 1) |
| 141 | "Idle time in seconds needed before dframe will update itself. | 141 | "Idle time in seconds needed before dframe will update itself. |
| 142 | Updates occur to allow dframe to display directory information | 142 | Updates occur to allow dframe to display directory information |
| @@ -726,7 +726,7 @@ who requested the timer. NULL-ON-ERROR is ignored." | |||
| 726 | (if timeout | 726 | (if timeout |
| 727 | (add-to-list 'dframe-client-functions fn) | 727 | (add-to-list 'dframe-client-functions fn) |
| 728 | (setq dframe-client-functions (delete fn dframe-client-functions))) | 728 | (setq dframe-client-functions (delete fn dframe-client-functions))) |
| 729 | ;; Now decided what to do about the timout. | 729 | ;; Now decided what to do about the timeout. |
| 730 | (if (or | 730 | (if (or |
| 731 | ;; We have a timer, restart the timer with the new time. | 731 | ;; We have a timer, restart the timer with the new time. |
| 732 | timeout | 732 | timeout |
diff --git a/lisp/dired.el b/lisp/dired.el index e88ebc83b33..32a7f749681 100644 --- a/lisp/dired.el +++ b/lisp/dired.el | |||
| @@ -704,7 +704,7 @@ Don't use that together with FILTER." | |||
| 704 | 704 | ||
| 705 | (defun dired-file-name-at-point () | 705 | (defun dired-file-name-at-point () |
| 706 | "Try to get a file name at point in the current dired buffer. | 706 | "Try to get a file name at point in the current dired buffer. |
| 707 | This hook is inteneded to be put in `file-name-at-point-functions'." | 707 | This hook is intended to be put in `file-name-at-point-functions'." |
| 708 | (let ((filename (dired-get-filename nil t))) | 708 | (let ((filename (dired-get-filename nil t))) |
| 709 | (when filename | 709 | (when filename |
| 710 | (if (file-directory-p filename) | 710 | (if (file-directory-p filename) |
diff --git a/lisp/electric.el b/lisp/electric.el index 69acb773648..657b577bb1e 100644 --- a/lisp/electric.el +++ b/lisp/electric.el | |||
| @@ -260,15 +260,23 @@ reindentation is triggered whenever you insert a character listed | |||
| 260 | in `electric-indent-chars'." | 260 | in `electric-indent-chars'." |
| 261 | :global t | 261 | :global t |
| 262 | :group 'electricity | 262 | :group 'electricity |
| 263 | (if electric-indent-mode | 263 | (if (not electric-indent-mode) |
| 264 | (add-hook 'post-self-insert-hook | 264 | (remove-hook 'post-self-insert-hook |
| 265 | #'electric-indent-post-self-insert-function | 265 | #'electric-indent-post-self-insert-function) |
| 266 | ;; post-self-insert-hooks interact in non-trivial ways. | 266 | ;; post-self-insert-hooks interact in non-trivial ways. |
| 267 | ;; It turns out that electric-indent-mode generally works | 267 | ;; It turns out that electric-indent-mode generally works better if run |
| 268 | ;; better last. | 268 | ;; late, but still before blink-paren. |
| 269 | 'append) | 269 | (add-hook 'post-self-insert-hook |
| 270 | (remove-hook 'post-self-insert-hook | 270 | #'electric-indent-post-self-insert-function |
| 271 | #'electric-indent-post-self-insert-function))) | 271 | 'append) |
| 272 | ;; FIXME: Ugly! | ||
| 273 | (let ((bp (memq #'blink-paren-post-self-insert-function | ||
| 274 | (default-value 'post-self-insert-hook)))) | ||
| 275 | (when (memq #'electric-indent-post-self-insert-function bp) | ||
| 276 | (setcar bp #'electric-indent-post-self-insert-function) | ||
| 277 | (setcdr bp (cons #'blink-paren-post-self-insert-function | ||
| 278 | (delq #'electric-indent-post-self-insert-function | ||
| 279 | (cdr bp)))))))) | ||
| 272 | 280 | ||
| 273 | ;; Electric pairing. | 281 | ;; Electric pairing. |
| 274 | 282 | ||
diff --git a/lisp/emacs-lisp/advice.el b/lisp/emacs-lisp/advice.el index 8527bc9e640..976848e155d 100644 --- a/lisp/emacs-lisp/advice.el +++ b/lisp/emacs-lisp/advice.el | |||
| @@ -1608,7 +1608,7 @@ | |||
| 1608 | ;; fii | 1608 | ;; fii |
| 1609 | ;; | 1609 | ;; |
| 1610 | ;; Now we advise `fii' to use an optional second argument that controls the | 1610 | ;; Now we advise `fii' to use an optional second argument that controls the |
| 1611 | ;; amount of incrementation. A list following the (optional) position | 1611 | ;; amount of incrementing. A list following the (optional) position |
| 1612 | ;; argument of the advice will be interpreted as an argument list | 1612 | ;; argument of the advice will be interpreted as an argument list |
| 1613 | ;; specification. This means you cannot specify an empty argument list, and | 1613 | ;; specification. This means you cannot specify an empty argument list, and |
| 1614 | ;; why would you want to anyway? | 1614 | ;; why would you want to anyway? |
diff --git a/lisp/emacs-lisp/autoload.el b/lisp/emacs-lisp/autoload.el index b3ac23b2b76..df98271832a 100644 --- a/lisp/emacs-lisp/autoload.el +++ b/lisp/emacs-lisp/autoload.el | |||
| @@ -512,15 +512,7 @@ Return non-nil if and only if FILE adds no autoloads to OUTFILE | |||
| 512 | 512 | ||
| 513 | (when output-start | 513 | (when output-start |
| 514 | (let ((secondary-autoloads-file-buf | 514 | (let ((secondary-autoloads-file-buf |
| 515 | (if (local-variable-p 'generated-autoload-file) | 515 | (if otherbuf (current-buffer)))) |
| 516 | (current-buffer)))) | ||
| 517 | ;; Ignore a buffer-local setting if it points to the | ||
| 518 | ;; global value. Otherwise we end up writing a mix of md5s | ||
| 519 | ;; and time-stamps to the global file. (Bug#10049) | ||
| 520 | (and secondary-autoloads-file-buf | ||
| 521 | outfile | ||
| 522 | (not otherbuf) | ||
| 523 | (setq secondary-autoloads-file-buf nil)) | ||
| 524 | (with-current-buffer (marker-buffer output-start) | 516 | (with-current-buffer (marker-buffer output-start) |
| 525 | (save-excursion | 517 | (save-excursion |
| 526 | ;; Insert the section-header line which lists the file name | 518 | ;; Insert the section-header line which lists the file name |
diff --git a/lisp/emacs-lisp/avl-tree.el b/lisp/emacs-lisp/avl-tree.el index e8b7a1f9a8b..9ecd4e12020 100644 --- a/lisp/emacs-lisp/avl-tree.el +++ b/lisp/emacs-lisp/avl-tree.el | |||
| @@ -206,7 +206,7 @@ Return t if the height of the tree has shrunk." | |||
| 206 | 206 | ||
| 207 | Return cons cell (SHRUNK . DATA), where SHRUNK is t if the | 207 | Return cons cell (SHRUNK . DATA), where SHRUNK is t if the |
| 208 | height of the tree has shrunk and nil otherwise, and DATA is | 208 | height of the tree has shrunk and nil otherwise, and DATA is |
| 209 | the releted data." | 209 | the related data." |
| 210 | (let ((br (avl-tree--node-branch root branch))) | 210 | (let ((br (avl-tree--node-branch root branch))) |
| 211 | (cond | 211 | (cond |
| 212 | ;; DATA not in tree. | 212 | ;; DATA not in tree. |
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index 096e91ea4fb..3d593570c4e 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el | |||
| @@ -359,10 +359,12 @@ else the global value will be modified." | |||
| 359 | "List of commands that are not meant to be called from Lisp.") | 359 | "List of commands that are not meant to be called from Lisp.") |
| 360 | 360 | ||
| 361 | (defvar byte-compile-not-obsolete-vars nil | 361 | (defvar byte-compile-not-obsolete-vars nil |
| 362 | "If non-nil, a list of variables that shouldn't be reported as obsolete.") | 362 | "List of variables that shouldn't be reported as obsolete.") |
| 363 | (defvar byte-compile-global-not-obsolete-vars nil | ||
| 364 | "Global list of variables that shouldn't be reported as obsolete.") | ||
| 363 | 365 | ||
| 364 | (defvar byte-compile-not-obsolete-funcs nil | 366 | (defvar byte-compile-not-obsolete-funcs nil |
| 365 | "If non-nil, a list of functions that shouldn't be reported as obsolete.") | 367 | "List of functions that shouldn't be reported as obsolete.") |
| 366 | 368 | ||
| 367 | (defcustom byte-compile-generate-call-tree nil | 369 | (defcustom byte-compile-generate-call-tree nil |
| 368 | "Non-nil means collect call-graph information when compiling. | 370 | "Non-nil means collect call-graph information when compiling. |
| @@ -1113,7 +1115,7 @@ Each function's symbol gets added to `byte-compile-noruntime-functions'." | |||
| 1113 | (unless (and funcp (memq symbol byte-compile-not-obsolete-funcs)) | 1115 | (unless (and funcp (memq symbol byte-compile-not-obsolete-funcs)) |
| 1114 | (byte-compile-warn "`%s' is an obsolete %s%s%s" symbol | 1116 | (byte-compile-warn "`%s' is an obsolete %s%s%s" symbol |
| 1115 | (if funcp "function" "variable") | 1117 | (if funcp "function" "variable") |
| 1116 | (if asof (concat " (as of Emacs " asof ")") "") | 1118 | (if asof (concat " (as of " asof ")") "") |
| 1117 | (cond ((stringp instead) | 1119 | (cond ((stringp instead) |
| 1118 | (concat "; " instead)) | 1120 | (concat "; " instead)) |
| 1119 | (instead | 1121 | (instead |
| @@ -2195,7 +2197,7 @@ list that represents a doc string reference. | |||
| 2195 | (byte-compile-keep-pending form))))) | 2197 | (byte-compile-keep-pending form))))) |
| 2196 | 2198 | ||
| 2197 | ;; Functions and variables with doc strings must be output separately, | 2199 | ;; Functions and variables with doc strings must be output separately, |
| 2198 | ;; so make-docfile can recognise them. Most other things can be output | 2200 | ;; so make-docfile can recognize them. Most other things can be output |
| 2199 | ;; as byte-code. | 2201 | ;; as byte-code. |
| 2200 | 2202 | ||
| 2201 | (put 'autoload 'byte-hunk-handler 'byte-compile-file-form-autoload) | 2203 | (put 'autoload 'byte-hunk-handler 'byte-compile-file-form-autoload) |
| @@ -3030,6 +3032,7 @@ That command is designed for interactive use only" fn)) | |||
| 3030 | ((let ((od (get var 'byte-obsolete-variable))) | 3032 | ((let ((od (get var 'byte-obsolete-variable))) |
| 3031 | (and od | 3033 | (and od |
| 3032 | (not (memq var byte-compile-not-obsolete-vars)) | 3034 | (not (memq var byte-compile-not-obsolete-vars)) |
| 3035 | (not (memq var byte-compile-global-not-obsolete-vars)) | ||
| 3033 | (or (case (nth 1 od) | 3036 | (or (case (nth 1 od) |
| 3034 | (set (not (eq access-type 'reference))) | 3037 | (set (not (eq access-type 'reference))) |
| 3035 | (get (eq access-type 'reference)) | 3038 | (get (eq access-type 'reference)) |
| @@ -4116,7 +4119,7 @@ binding slots have been popped." | |||
| 4116 | (byte-defop-compiler-1 make-obsolete-variable) | 4119 | (byte-defop-compiler-1 make-obsolete-variable) |
| 4117 | (defun byte-compile-make-obsolete-variable (form) | 4120 | (defun byte-compile-make-obsolete-variable (form) |
| 4118 | (when (eq 'quote (car-safe (nth 1 form))) | 4121 | (when (eq 'quote (car-safe (nth 1 form))) |
| 4119 | (push (nth 1 (nth 1 form)) byte-compile-not-obsolete-vars)) | 4122 | (push (nth 1 (nth 1 form)) byte-compile-global-not-obsolete-vars)) |
| 4120 | (byte-compile-normal-call form)) | 4123 | (byte-compile-normal-call form)) |
| 4121 | 4124 | ||
| 4122 | (defun byte-compile-defvar (form) | 4125 | (defun byte-compile-defvar (form) |
diff --git a/lisp/emacs-lisp/chart.el b/lisp/emacs-lisp/chart.el index 75e7d62f395..e9f2ec54601 100644 --- a/lisp/emacs-lisp/chart.el +++ b/lisp/emacs-lisp/chart.el | |||
| @@ -169,7 +169,7 @@ Make sure the width/height is correct." | |||
| 169 | :initform t) | 169 | :initform t) |
| 170 | (name-face :initarg :name-face | 170 | (name-face :initarg :name-face |
| 171 | :initform 'bold) | 171 | :initform 'bold) |
| 172 | (labels-face :initarg :lables-face | 172 | (labels-face :initarg :labels-face |
| 173 | :initform 'italic) | 173 | :initform 'italic) |
| 174 | (chart :initarg :chart | 174 | (chart :initarg :chart |
| 175 | :initform nil) | 175 | :initform nil) |
diff --git a/lisp/emacs-lisp/checkdoc.el b/lisp/emacs-lisp/checkdoc.el index c9e32023187..9b708d4bbd2 100644 --- a/lisp/emacs-lisp/checkdoc.el +++ b/lisp/emacs-lisp/checkdoc.el | |||
| @@ -2118,7 +2118,7 @@ before using the Ispell engine on it." | |||
| 2118 | ;; Find out how we spell-check this word. | 2118 | ;; Find out how we spell-check this word. |
| 2119 | (if (or | 2119 | (if (or |
| 2120 | ;; All caps w/ option th, or s tacked on the end | 2120 | ;; All caps w/ option th, or s tacked on the end |
| 2121 | ;; for pluralization or numberthness. | 2121 | ;; for pluralization or number. |
| 2122 | (string-match "^[A-Z][A-Z]+\\(s\\|th\\)?$" word) | 2122 | (string-match "^[A-Z][A-Z]+\\(s\\|th\\)?$" word) |
| 2123 | (looking-at "}") ; a keymap expression | 2123 | (looking-at "}") ; a keymap expression |
| 2124 | ) | 2124 | ) |
diff --git a/lisp/emacs-lisp/cl-indent.el b/lisp/emacs-lisp/cl-indent.el index 287bb531538..81af2030ebe 100644 --- a/lisp/emacs-lisp/cl-indent.el +++ b/lisp/emacs-lisp/cl-indent.el | |||
| @@ -159,12 +159,16 @@ is set to `defun'.") | |||
| 159 | (current-column)))) | 159 | (current-column)))) |
| 160 | (goto-char indent-point) | 160 | (goto-char indent-point) |
| 161 | (beginning-of-line) | 161 | (beginning-of-line) |
| 162 | (cond ((not (extended-loop-p (elt state 1))) | 162 | (list |
| 163 | (+ loop-indentation lisp-simple-loop-indentation)) | 163 | (cond ((not (extended-loop-p (elt state 1))) |
| 164 | ((looking-at "^\\s-*\\(:?\\sw+\\|;\\)") | 164 | (+ loop-indentation lisp-simple-loop-indentation)) |
| 165 | (+ loop-indentation lisp-loop-keyword-indentation)) | 165 | ((looking-at "^\\s-*\\(:?\\sw+\\|;\\)") |
| 166 | (t | 166 | (+ loop-indentation lisp-loop-keyword-indentation)) |
| 167 | (+ loop-indentation lisp-loop-forms-indentation))))) | 167 | (t |
| 168 | (+ loop-indentation lisp-loop-forms-indentation))) | ||
| 169 | ;; Tell the caller that the next line needs recomputation, even | ||
| 170 | ;; though it doesn't start a sexp. | ||
| 171 | loop-indentation))) | ||
| 168 | 172 | ||
| 169 | 173 | ||
| 170 | ;; Cf (info "(elisp)Specification List") | 174 | ;; Cf (info "(elisp)Specification List") |
diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el index 176b906632c..86c7e59fd07 100644 --- a/lisp/emacs-lisp/edebug.el +++ b/lisp/emacs-lisp/edebug.el | |||
| @@ -1285,7 +1285,7 @@ expressions; a `progn' form will be returned enclosing these forms." | |||
| 1285 | ;; Wrap a form, usually a defining form, but any evaluated one. | 1285 | ;; Wrap a form, usually a defining form, but any evaluated one. |
| 1286 | ;; If speclist is non-nil, this is being called by edebug-defining-form. | 1286 | ;; If speclist is non-nil, this is being called by edebug-defining-form. |
| 1287 | ;; Otherwise it is being called from edebug-read-and-maybe-wrap-form1. | 1287 | ;; Otherwise it is being called from edebug-read-and-maybe-wrap-form1. |
| 1288 | ;; This is a hack, but I havent figured out a simpler way yet. | 1288 | ;; This is a hack, but I haven't figured out a simpler way yet. |
| 1289 | (let* ((form-data-entry (edebug-get-form-data-entry form-begin form-end)) | 1289 | (let* ((form-data-entry (edebug-get-form-data-entry form-begin form-end)) |
| 1290 | ;; Set this marker before parsing. | 1290 | ;; Set this marker before parsing. |
| 1291 | (edebug-form-begin-marker | 1291 | (edebug-form-begin-marker |
diff --git a/lisp/emacs-lisp/eieio-base.el b/lisp/emacs-lisp/eieio-base.el index df57148962f..278dff0f085 100644 --- a/lisp/emacs-lisp/eieio-base.el +++ b/lisp/emacs-lisp/eieio-base.el | |||
| @@ -178,7 +178,7 @@ only one object ever exists." | |||
| 178 | ;; calculate path names relative to a given instance. This will | 178 | ;; calculate path names relative to a given instance. This will |
| 179 | ;; make the saved object location independent by converting all file | 179 | ;; make the saved object location independent by converting all file |
| 180 | ;; references to be relative to the directory the object is saved to. | 180 | ;; references to be relative to the directory the object is saved to. |
| 181 | ;; You must call `eieio-peristent-path-relative' on each file name | 181 | ;; You must call `eieio-persistent-path-relative' on each file name |
| 182 | ;; saved in your object. | 182 | ;; saved in your object. |
| 183 | (defclass eieio-persistent () | 183 | (defclass eieio-persistent () |
| 184 | ((file :initarg :file | 184 | ((file :initarg :file |
diff --git a/lisp/emacs-lisp/elint.el b/lisp/emacs-lisp/elint.el index 0b8aa034500..ba04a27021e 100644 --- a/lisp/emacs-lisp/elint.el +++ b/lisp/emacs-lisp/elint.el | |||
| @@ -296,7 +296,7 @@ If necessary, this first calls `elint-initialize'." | |||
| 296 | (elint-display-log) | 296 | (elint-display-log) |
| 297 | (elint-set-mode-line t) | 297 | (elint-set-mode-line t) |
| 298 | (mapc 'elint-top-form (elint-update-env)) | 298 | (mapc 'elint-top-form (elint-update-env)) |
| 299 | ;; Tell the user we're finished. This is terribly klugy: we set | 299 | ;; Tell the user we're finished. This is terribly kludgy: we set |
| 300 | ;; elint-top-form-logged so elint-log-message doesn't print the | 300 | ;; elint-top-form-logged so elint-log-message doesn't print the |
| 301 | ;; ** top form ** header... | 301 | ;; ** top form ** header... |
| 302 | (elint-set-mode-line) | 302 | (elint-set-mode-line) |
| @@ -335,7 +335,7 @@ Will be local in linted buffers.") | |||
| 335 | Is measured in buffer-modified-ticks and is local in linted buffers.") | 335 | Is measured in buffer-modified-ticks and is local in linted buffers.") |
| 336 | 336 | ||
| 337 | ;; This is a minor optimization. It is local to every buffer, and so | 337 | ;; This is a minor optimization. It is local to every buffer, and so |
| 338 | ;; does not prevent recursive requirs. It does not list the requires | 338 | ;; does not prevent recursive requires. It does not list the requires |
| 339 | ;; of requires. | 339 | ;; of requires. |
| 340 | (defvar elint-features nil | 340 | (defvar elint-features nil |
| 341 | "List of all libraries this buffer has required, or that have been provided.") | 341 | "List of all libraries this buffer has required, or that have been provided.") |
diff --git a/lisp/emacs-lisp/ert.el b/lisp/emacs-lisp/ert.el index 8b64cd84bb1..820519e92d8 100644 --- a/lisp/emacs-lisp/ert.el +++ b/lisp/emacs-lisp/ert.el | |||
| @@ -392,7 +392,7 @@ DATA is displayed to the user and should state the reason of the failure." | |||
| 392 | ;; compiling doesn't depend on cl and thus doesn't need an | 392 | ;; compiling doesn't depend on cl and thus doesn't need an |
| 393 | ;; environment arg for `macroexpand'. | 393 | ;; environment arg for `macroexpand'. |
| 394 | (if (fboundp 'cl-macroexpand) | 394 | (if (fboundp 'cl-macroexpand) |
| 395 | ;; Suppress warning about run-time call to cl funtion: we | 395 | ;; Suppress warning about run-time call to cl function: we |
| 396 | ;; only call it if it's fboundp. | 396 | ;; only call it if it's fboundp. |
| 397 | (with-no-warnings | 397 | (with-no-warnings |
| 398 | (cl-macroexpand form (and (boundp 'cl-macro-environment) | 398 | (cl-macroexpand form (and (boundp 'cl-macro-environment) |
diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el index 9408c0a3c9d..f9e7fe44824 100644 --- a/lisp/emacs-lisp/lisp-mode.el +++ b/lisp/emacs-lisp/lisp-mode.el | |||
| @@ -769,7 +769,7 @@ this command arranges for all errors to enter the debugger." | |||
| 769 | Reset the `defvar' and `defcustom' variables to the initial value. | 769 | Reset the `defvar' and `defcustom' variables to the initial value. |
| 770 | Reinitialize the face according to the `defface' specification." | 770 | Reinitialize the face according to the `defface' specification." |
| 771 | ;; The code in edebug-defun should be consistent with this, but not | 771 | ;; The code in edebug-defun should be consistent with this, but not |
| 772 | ;; the same, since this gets a macroexpended form. | 772 | ;; the same, since this gets a macroexpanded form. |
| 773 | (cond ((not (listp form)) | 773 | (cond ((not (listp form)) |
| 774 | form) | 774 | form) |
| 775 | ((and (eq (car form) 'defvar) | 775 | ((and (eq (car form) 'defvar) |
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el index 0bd37ce1d49..8417aa8d380 100644 --- a/lisp/emacs-lisp/package.el +++ b/lisp/emacs-lisp/package.el | |||
| @@ -277,7 +277,7 @@ contrast, `package-user-dir' contains packages for personal use." | |||
| 277 | :version "24.1") | 277 | :version "24.1") |
| 278 | 278 | ||
| 279 | ;; The value is precomputed in finder-inf.el, but don't load that | 279 | ;; The value is precomputed in finder-inf.el, but don't load that |
| 280 | ;; until it's needed (i.e. when `package-intialize' is called). | 280 | ;; until it's needed (i.e. when `package-initialize' is called). |
| 281 | (defvar package--builtins nil | 281 | (defvar package--builtins nil |
| 282 | "Alist of built-in packages. | 282 | "Alist of built-in packages. |
| 283 | The actual value is initialized by loading the library | 283 | The actual value is initialized by loading the library |
diff --git a/lisp/emacs-lisp/smie.el b/lisp/emacs-lisp/smie.el index 265328631e9..d43ba6c0d3e 100644 --- a/lisp/emacs-lisp/smie.el +++ b/lisp/emacs-lisp/smie.el | |||
| @@ -69,13 +69,23 @@ | |||
| 69 | ;; (exp ("IF" exp "ELSE" exp "END") ("CASE" cases "END")) | 69 | ;; (exp ("IF" exp "ELSE" exp "END") ("CASE" cases "END")) |
| 70 | ;; (cases (cases "ELSE" insts) ...) | 70 | ;; (cases (cases "ELSE" insts) ...) |
| 71 | ;; The IF-rule implies ELSE=END and the CASE-rule implies ELSE>END. | 71 | ;; The IF-rule implies ELSE=END and the CASE-rule implies ELSE>END. |
| 72 | ;; FIXME: we could try to resolve such conflicts automatically by changing | 72 | ;; This can be resolved simply with: |
| 73 | ;; the way BNF rules such as the IF-rule is handled. I.e. rather than | 73 | ;; (exp ("IF" expelseexp "END") ("CASE" cases "END")) |
| 74 | ;; IF=ELSE and ELSE=END, we could turn them into IF<ELSE and ELSE>END | 74 | ;; (expelseexp (exp) (exp "ELSE" exp)) |
| 75 | ;; and IF=END, | 75 | ;; (cases (cases "ELSE" insts) ...) |
| 76 | ;; - Another source of conflict is when a terminator/separator is used to | ||
| 77 | ;; terminate elements at different levels, as in: | ||
| 78 | ;; (decls ("VAR" vars) (decls "," decls)) | ||
| 79 | ;; (vars (id) (vars "," vars)) | ||
| 80 | ;; often these can be resolved by making the lexer distinguish the two | ||
| 81 | ;; kinds of commas, e.g. based on the following token. | ||
| 76 | 82 | ||
| 77 | ;; TODO & BUGS: | 83 | ;; TODO & BUGS: |
| 78 | ;; | 84 | ;; |
| 85 | ;; - We could try to resolve conflicts such as the IFexpELSEexpEND -vs- | ||
| 86 | ;; CASE(casesELSEexp)END automatically by changing the way BNF rules such as | ||
| 87 | ;; the IF-rule is handled. I.e. rather than IF=ELSE and ELSE=END, we could | ||
| 88 | ;; turn them into IF<ELSE and ELSE>END and IF=END. | ||
| 79 | ;; - Using the structural information SMIE gives us, it should be possible to | 89 | ;; - Using the structural information SMIE gives us, it should be possible to |
| 80 | ;; implement a `smie-align' command that would automatically figure out what | 90 | ;; implement a `smie-align' command that would automatically figure out what |
| 81 | ;; there is to align and how to do it (something like: align the token of | 91 | ;; there is to align and how to do it (something like: align the token of |
| @@ -107,6 +117,10 @@ | |||
| 107 | 117 | ||
| 108 | ;;; Code: | 118 | ;;; Code: |
| 109 | 119 | ||
| 120 | ;; FIXME: | ||
| 121 | ;; - smie-indent-comment doesn't interact well with mis-indented lines (where | ||
| 122 | ;; the indent rules don't do what the user wants). Not sure what to do. | ||
| 123 | |||
| 110 | (eval-when-compile (require 'cl)) | 124 | (eval-when-compile (require 'cl)) |
| 111 | 125 | ||
| 112 | (defgroup smie nil | 126 | (defgroup smie nil |
| @@ -138,6 +152,8 @@ | |||
| 138 | ;; turns them into a levels table, which is what's used by the rest of | 152 | ;; turns them into a levels table, which is what's used by the rest of |
| 139 | ;; the SMIE code. | 153 | ;; the SMIE code. |
| 140 | 154 | ||
| 155 | (defvar smie-warning-count 0) | ||
| 156 | |||
| 141 | (defun smie-set-prec2tab (table x y val &optional override) | 157 | (defun smie-set-prec2tab (table x y val &optional override) |
| 142 | (assert (and x y)) | 158 | (assert (and x y)) |
| 143 | (let* ((key (cons x y)) | 159 | (let* ((key (cons x y)) |
| @@ -149,7 +165,8 @@ | |||
| 149 | ;; be able to distinguish the two cases so that overrides | 165 | ;; be able to distinguish the two cases so that overrides |
| 150 | ;; don't hide real conflicts. | 166 | ;; don't hide real conflicts. |
| 151 | (puthash key (gethash key override) table) | 167 | (puthash key (gethash key override) table) |
| 152 | (display-warning 'smie (format "Conflict: %s %s/%s %s" x old val y))) | 168 | (display-warning 'smie (format "Conflict: %s %s/%s %s" x old val y)) |
| 169 | (incf smie-warning-count)) | ||
| 153 | (puthash key val table)))) | 170 | (puthash key val table)))) |
| 154 | 171 | ||
| 155 | (put 'smie-precs->prec2 'pure t) | 172 | (put 'smie-precs->prec2 'pure t) |
| @@ -193,21 +210,54 @@ one of those elements share the same precedence level and associativity." | |||
| 193 | prec2))) | 210 | prec2))) |
| 194 | 211 | ||
| 195 | (put 'smie-bnf->prec2 'pure t) | 212 | (put 'smie-bnf->prec2 'pure t) |
| 196 | (defun smie-bnf->prec2 (bnf &rest precs) | 213 | (defun smie-bnf->prec2 (bnf &rest resolvers) |
| 214 | "Convert the BNF grammar into a prec2 table. | ||
| 215 | BNF is a list of nonterminal definitions of the form: | ||
| 216 | \(NONTERM RHS1 RHS2 ...) | ||
| 217 | where each RHS is a (non-empty) list of terminals (aka tokens) or non-terminals. | ||
| 218 | Not all grammars are accepted: | ||
| 219 | - an RHS cannot be an empty list (this is not needed, since SMIE allows all | ||
| 220 | non-terminals to match the empty string anyway). | ||
| 221 | - an RHS cannot have 2 consecutive non-terminals: between each non-terminal | ||
| 222 | needs to be a terminal (aka token). This is a fundamental limitation of | ||
| 223 | the parsing technology used (operator precedence grammar). | ||
| 224 | Additionally, conflicts can occur: | ||
| 225 | - The returned prec2 table holds constraints between pairs of | ||
| 226 | token, and for any given pair only one constraint can be | ||
| 227 | present, either: T1 < T2, T1 = T2, or T1 > T2. | ||
| 228 | - A token can either be an `opener' (something similar to an open-paren), | ||
| 229 | a `closer' (like a close-paren), or `neither' of the two (e.g. an infix | ||
| 230 | operator, or an inner token like \"else\"). | ||
| 231 | Conflicts can be resolved via RESOLVERS, which is a list of elements that can | ||
| 232 | be either: | ||
| 233 | - a precs table (see `smie-precs->prec2') to resolve conflicting constraints, | ||
| 234 | - a constraint (T1 REL T2) where REL is one of = < or >." | ||
| 197 | ;; FIXME: Add repetition operator like (repeat <separator> <elems>). | 235 | ;; FIXME: Add repetition operator like (repeat <separator> <elems>). |
| 198 | ;; Maybe also add (or <elem1> <elem2>...) for things like | 236 | ;; Maybe also add (or <elem1> <elem2>...) for things like |
| 199 | ;; (exp (exp (or "+" "*" "=" ..) exp)). | 237 | ;; (exp (exp (or "+" "*" "=" ..) exp)). |
| 200 | ;; Basically, make it EBNF (except for the specification of a separator in | 238 | ;; Basically, make it EBNF (except for the specification of a separator in |
| 201 | ;; the repetition, maybe). | 239 | ;; the repetition, maybe). |
| 202 | (let ((nts (mapcar 'car bnf)) ;Non-terminals | 240 | (let* ((nts (mapcar 'car bnf)) ;Non-terminals. |
| 203 | (first-ops-table ()) | 241 | (first-ops-table ()) |
| 204 | (last-ops-table ()) | 242 | (last-ops-table ()) |
| 205 | (first-nts-table ()) | 243 | (first-nts-table ()) |
| 206 | (last-nts-table ()) | 244 | (last-nts-table ()) |
| 207 | (prec2 (make-hash-table :test 'equal)) | 245 | (smie-warning-count 0) |
| 208 | (override (apply 'smie-merge-prec2s | 246 | (prec2 (make-hash-table :test 'equal)) |
| 209 | (mapcar 'smie-precs->prec2 precs))) | 247 | (override |
| 210 | again) | 248 | (let ((precs ()) |
| 249 | (over (make-hash-table :test 'equal))) | ||
| 250 | (dolist (resolver resolvers) | ||
| 251 | (cond | ||
| 252 | ((and (= 3 (length resolver)) (memq (nth 1 resolver) '(= < >))) | ||
| 253 | (smie-set-prec2tab | ||
| 254 | over (nth 0 resolver) (nth 2 resolver) (nth 1 resolver))) | ||
| 255 | ((memq (caar resolver) '(left right assoc nonassoc)) | ||
| 256 | (push resolver precs)) | ||
| 257 | (t (error "Unknown resolver %S" resolver)))) | ||
| 258 | (apply #'smie-merge-prec2s over | ||
| 259 | (mapcar 'smie-precs->prec2 precs)))) | ||
| 260 | again) | ||
| 211 | (dolist (rules bnf) | 261 | (dolist (rules bnf) |
| 212 | (let ((nt (car rules)) | 262 | (let ((nt (car rules)) |
| 213 | (last-ops ()) | 263 | (last-ops ()) |
| @@ -287,8 +337,11 @@ one of those elements share the same precedence level and associativity." | |||
| 287 | (setq rhs (cdr rhs))))) | 337 | (setq rhs (cdr rhs))))) |
| 288 | ;; Keep track of which tokens are openers/closer, so they can get a nil | 338 | ;; Keep track of which tokens are openers/closer, so they can get a nil |
| 289 | ;; precedence in smie-prec2->grammar. | 339 | ;; precedence in smie-prec2->grammar. |
| 290 | (puthash :smie-open/close-alist (smie-bnf-classify bnf) prec2) | 340 | (puthash :smie-open/close-alist (smie-bnf--classify bnf) prec2) |
| 291 | (puthash :smie-closer-alist (smie-bnf-closer-alist bnf) prec2) | 341 | (puthash :smie-closer-alist (smie-bnf--closer-alist bnf) prec2) |
| 342 | (if (> smie-warning-count 0) | ||
| 343 | (display-warning | ||
| 344 | 'smie (format "Total: %d warnings" smie-warning-count))) | ||
| 292 | prec2)) | 345 | prec2)) |
| 293 | 346 | ||
| 294 | ;; (defun smie-prec2-closer-alist (prec2 include-inners) | 347 | ;; (defun smie-prec2-closer-alist (prec2 include-inners) |
| @@ -343,7 +396,7 @@ one of those elements share the same precedence level and associativity." | |||
| 343 | ;; openers) | 396 | ;; openers) |
| 344 | ;; alist))) | 397 | ;; alist))) |
| 345 | 398 | ||
| 346 | (defun smie-bnf-closer-alist (bnf &optional no-inners) | 399 | (defun smie-bnf--closer-alist (bnf &optional no-inners) |
| 347 | ;; We can also build this closer-alist table from a prec2 table, | 400 | ;; We can also build this closer-alist table from a prec2 table, |
| 348 | ;; but it takes more work, and the order is unpredictable, which | 401 | ;; but it takes more work, and the order is unpredictable, which |
| 349 | ;; is a problem for smie-close-block. | 402 | ;; is a problem for smie-close-block. |
| @@ -371,37 +424,33 @@ from the table, e.g. the table will not include things like (\"if\" . \"else\"). | |||
| 371 | (pushnew (cons (car rhs) term) alist :test #'equal))))))) | 424 | (pushnew (cons (car rhs) term) alist :test #'equal))))))) |
| 372 | (nreverse alist))) | 425 | (nreverse alist))) |
| 373 | 426 | ||
| 374 | (defun smie-bnf-classify (bnf) | 427 | (defun smie-bnf--set-class (table token class) |
| 428 | (let ((prev (gethash token table class))) | ||
| 429 | (puthash token | ||
| 430 | (cond | ||
| 431 | ((eq prev class) class) | ||
| 432 | ((eq prev t) t) ;Non-terminal. | ||
| 433 | (t (display-warning | ||
| 434 | 'smie | ||
| 435 | (format "token %s is both %s and %s" token class prev)) | ||
| 436 | 'neither)) | ||
| 437 | table))) | ||
| 438 | |||
| 439 | (defun smie-bnf--classify (bnf) | ||
| 375 | "Return a table classifying terminals. | 440 | "Return a table classifying terminals. |
| 376 | Each terminal can either be an `opener', a `closer', or neither." | 441 | Each terminal can either be an `opener', a `closer', or `neither'." |
| 377 | (let ((table (make-hash-table :test #'equal)) | 442 | (let ((table (make-hash-table :test #'equal)) |
| 378 | (nts (mapcar #'car bnf)) | ||
| 379 | (alist '())) | 443 | (alist '())) |
| 380 | (dolist (category bnf) | 444 | (dolist (category bnf) |
| 381 | (puthash (car category) 'neither table) ;Remove non-terminals. | 445 | (puthash (car category) t table)) ;Mark non-terminals. |
| 446 | (dolist (category bnf) | ||
| 382 | (dolist (rhs (cdr category)) | 447 | (dolist (rhs (cdr category)) |
| 383 | (if (null (cdr rhs)) | 448 | (if (null (cdr rhs)) |
| 384 | (puthash (pop rhs) 'neither table) | 449 | (smie-bnf--set-class table (pop rhs) 'neither) |
| 385 | (let ((first (pop rhs))) | 450 | (smie-bnf--set-class table (pop rhs) 'opener) |
| 386 | (puthash first | 451 | (while (cdr rhs) ;Remove internals. |
| 387 | (if (memq (gethash first table) '(nil opener)) | 452 | (smie-bnf--set-class table (pop rhs) 'neither)) |
| 388 | 'opener | 453 | (smie-bnf--set-class table (pop rhs) 'closer)))) |
| 389 | (unless (member first nts) | ||
| 390 | (error "SMIE: token %s is both opener and non-opener" | ||
| 391 | first)) | ||
| 392 | 'neither) | ||
| 393 | table)) | ||
| 394 | (while (cdr rhs) | ||
| 395 | (puthash (pop rhs) 'neither table)) ;Remove internals. | ||
| 396 | (let ((last (pop rhs))) | ||
| 397 | (puthash last | ||
| 398 | (if (memq (gethash last table) '(nil closer)) | ||
| 399 | 'closer | ||
| 400 | (unless (member last nts) | ||
| 401 | (error "SMIE: token %s is both closer and non-closer" | ||
| 402 | last)) | ||
| 403 | 'neither) | ||
| 404 | table))))) | ||
| 405 | (maphash (lambda (tok v) | 454 | (maphash (lambda (tok v) |
| 406 | (when (memq v '(closer opener)) | 455 | (when (memq v '(closer opener)) |
| 407 | (push (cons tok v) alist))) | 456 | (push (cons tok v) alist))) |
| @@ -692,8 +741,22 @@ Possible return values: | |||
| 692 | ;; Keep looking as long as we haven't matched the | 741 | ;; Keep looking as long as we haven't matched the |
| 693 | ;; topmost operator. | 742 | ;; topmost operator. |
| 694 | (levels | 743 | (levels |
| 695 | (if (numberp (funcall op-forw toklevels)) | 744 | (cond |
| 696 | (push toklevels levels))) | 745 | ((numberp (funcall op-forw toklevels)) |
| 746 | (push toklevels levels)) | ||
| 747 | ;; FIXME: For some languages, we can express the grammar | ||
| 748 | ;; OK, but next-sexp doesn't stop where we'd want it to. | ||
| 749 | ;; E.g. in SML, we'd want to stop right in front of | ||
| 750 | ;; "local" if we're scanning (both forward and backward) | ||
| 751 | ;; from a "val/fun/..." at the same level. | ||
| 752 | ;; Same for Pascal/Modula2's "procedure" w.r.t | ||
| 753 | ;; "type/var/const". | ||
| 754 | ;; | ||
| 755 | ;; ((and (functionp (cadr (funcall op-forw toklevels))) | ||
| 756 | ;; (funcall (cadr (funcall op-forw toklevels)) | ||
| 757 | ;; levels)) | ||
| 758 | ;; (setq levels nil)) | ||
| 759 | )) | ||
| 697 | ;; We matched the topmost operator. If the new operator | 760 | ;; We matched the topmost operator. If the new operator |
| 698 | ;; is the last in the corresponding BNF rule, we're done. | 761 | ;; is the last in the corresponding BNF rule, we're done. |
| 699 | ((not (numberp (funcall op-forw toklevels))) | 762 | ((not (numberp (funcall op-forw toklevels))) |
| @@ -980,7 +1043,7 @@ function should return nil for arguments it does not expect. | |||
| 980 | 1043 | ||
| 981 | OFFSET can be: | 1044 | OFFSET can be: |
| 982 | nil use the default indentation rule. | 1045 | nil use the default indentation rule. |
| 983 | `(column . COLUMN) indent to column COLUMN. | 1046 | \(column . COLUMN) indent to column COLUMN. |
| 984 | NUMBER offset by NUMBER, relative to a base token | 1047 | NUMBER offset by NUMBER, relative to a base token |
| 985 | which is the current token for :after and | 1048 | which is the current token for :after and |
| 986 | its parent for :before. | 1049 | its parent for :before. |
diff --git a/lisp/emacs-lisp/tabulated-list.el b/lisp/emacs-lisp/tabulated-list.el index e16970c6804..32ec2bbf7ee 100644 --- a/lisp/emacs-lisp/tabulated-list.el +++ b/lisp/emacs-lisp/tabulated-list.el | |||
| @@ -146,7 +146,7 @@ If ADVANCE is non-nil, move forward by one line afterwards." | |||
| 146 | (defvar tabulated-list-glyphless-char-display | 146 | (defvar tabulated-list-glyphless-char-display |
| 147 | (let ((table (make-char-table 'glyphless-char-display nil))) | 147 | (let ((table (make-char-table 'glyphless-char-display nil))) |
| 148 | (set-char-table-parent table glyphless-char-display) | 148 | (set-char-table-parent table glyphless-char-display) |
| 149 | ;; Some text terminals can't display the unicode arrows; be safe. | 149 | ;; Some text terminals can't display the Unicode arrows; be safe. |
| 150 | (aset table 9650 (cons nil "^")) | 150 | (aset table 9650 (cons nil "^")) |
| 151 | (aset table 9660 (cons nil "v")) | 151 | (aset table 9660 (cons nil "v")) |
| 152 | table) | 152 | table) |
diff --git a/lisp/emulation/cua-rect.el b/lisp/emulation/cua-rect.el index 5d90ac694a4..76cab39f5b2 100644 --- a/lisp/emulation/cua-rect.el +++ b/lisp/emulation/cua-rect.el | |||
| @@ -741,7 +741,7 @@ If command is repeated at same position, delete the rectangle." | |||
| 741 | ;; We try to reuse overlays where possible because this is more efficient | 741 | ;; We try to reuse overlays where possible because this is more efficient |
| 742 | ;; and results in less flicker. | 742 | ;; and results in less flicker. |
| 743 | ;; If cua--rectangle-virtual-edges is nil and the buffer contains tabs or short lines, | 743 | ;; If cua--rectangle-virtual-edges is nil and the buffer contains tabs or short lines, |
| 744 | ;; the higlighted region may not be perfectly rectangular. | 744 | ;; the highlighted region may not be perfectly rectangular. |
| 745 | (let ((deactivate-mark deactivate-mark) | 745 | (let ((deactivate-mark deactivate-mark) |
| 746 | (old cua--rectangle-overlays) | 746 | (old cua--rectangle-overlays) |
| 747 | (new nil) | 747 | (new nil) |
diff --git a/lisp/emulation/edt-mapper.el b/lisp/emulation/edt-mapper.el index 99d204692fa..e58656d7941 100644 --- a/lisp/emulation/edt-mapper.el +++ b/lisp/emulation/edt-mapper.el | |||
| @@ -151,7 +151,7 @@ | |||
| 151 | ;;; Logic in simple.el maps some of these unassigned function keys to | 151 | ;;; Logic in simple.el maps some of these unassigned function keys to |
| 152 | ;;; ordinary typing keys. Where this is the case, a call to | 152 | ;;; ordinary typing keys. Where this is the case, a call to |
| 153 | ;;; read-key-sequence, below, does not return the name of the function | 153 | ;;; read-key-sequence, below, does not return the name of the function |
| 154 | ;;; key pressd by the user but, instead, it returns the name of the | 154 | ;;; key pressed by the user but, instead, it returns the name of the |
| 155 | ;;; key to which it has been mapped. It needs to know the name of the | 155 | ;;; key to which it has been mapped. It needs to know the name of the |
| 156 | ;;; key pressed by the user. As a workaround, we assign a function to | 156 | ;;; key pressed by the user. As a workaround, we assign a function to |
| 157 | ;;; each of the unassigned function keys of interest, here. These | 157 | ;;; each of the unassigned function keys of interest, here. These |
diff --git a/lisp/emulation/viper-ex.el b/lisp/emulation/viper-ex.el index 93bf8251ce1..3e21e77a77b 100644 --- a/lisp/emulation/viper-ex.el +++ b/lisp/emulation/viper-ex.el | |||
| @@ -259,7 +259,7 @@ | |||
| 259 | (defvar ex-addresses nil) | 259 | (defvar ex-addresses nil) |
| 260 | 260 | ||
| 261 | ;; This flag is supposed to be set only by `#', `print', and `list', | 261 | ;; This flag is supposed to be set only by `#', `print', and `list', |
| 262 | ;; none of which is implemented. So, it and the pices of the code it | 262 | ;; none of which is implemented. So, it and the pieces of the code it |
| 263 | ;; controls are dead weight. We keep it just in case this might be | 263 | ;; controls are dead weight. We keep it just in case this might be |
| 264 | ;; needed in the future. | 264 | ;; needed in the future. |
| 265 | (defvar ex-flag nil) | 265 | (defvar ex-flag nil) |
diff --git a/lisp/emulation/viper-init.el b/lisp/emulation/viper-init.el index c069c387003..b0c37ed28e4 100644 --- a/lisp/emulation/viper-init.el +++ b/lisp/emulation/viper-init.el | |||
| @@ -205,7 +205,7 @@ designated buffers.") | |||
| 205 | 205 | ||
| 206 | (viper-deflocalvar viper-insert-diehard-minor-mode nil | 206 | (viper-deflocalvar viper-insert-diehard-minor-mode nil |
| 207 | "Minor mode that simulates Vi very closely. | 207 | "Minor mode that simulates Vi very closely. |
| 208 | Not recommened, except for the novice user.") | 208 | Not recommended, except for the novice user.") |
| 209 | 209 | ||
| 210 | (viper-deflocalvar viper-insert-kbd-minor-mode nil | 210 | (viper-deflocalvar viper-insert-kbd-minor-mode nil |
| 211 | "Minor mode for Ex command macros Insert state. | 211 | "Minor mode for Ex command macros Insert state. |
| @@ -679,7 +679,7 @@ to a new place after repeating previous Vi command." | |||
| 679 | :group 'viper-search) | 679 | :group 'viper-search) |
| 680 | 680 | ||
| 681 | (defcustom viper-search-scroll-threshold 2 | 681 | (defcustom viper-search-scroll-threshold 2 |
| 682 | "*If search lands within this threshnold from the window top/bottom, | 682 | "*If search lands within this threshold from the window top/bottom, |
| 683 | the window will be scrolled up or down appropriately, to reveal context. | 683 | the window will be scrolled up or down appropriately, to reveal context. |
| 684 | If you want Viper search to behave as usual in Vi, set this variable to a | 684 | If you want Viper search to behave as usual in Vi, set this variable to a |
| 685 | negative number." | 685 | negative number." |
diff --git a/lisp/emulation/viper-mous.el b/lisp/emulation/viper-mous.el index 778910017cd..a2e289df5e8 100644 --- a/lisp/emulation/viper-mous.el +++ b/lisp/emulation/viper-mous.el | |||
| @@ -95,7 +95,7 @@ considered related." | |||
| 95 | 95 | ||
| 96 | ;; remembers prefix argument to pass along to commands invoked by second | 96 | ;; remembers prefix argument to pass along to commands invoked by second |
| 97 | ;; click. | 97 | ;; click. |
| 98 | ;; This is needed because in Emacs (not XEmacs), assigning to preix-arg | 98 | ;; This is needed because in Emacs (not XEmacs), assigning to prefix-arg |
| 99 | ;; causes Emacs to count the second click as if it was a single click | 99 | ;; causes Emacs to count the second click as if it was a single click |
| 100 | (defvar viper-global-prefix-argument nil) | 100 | (defvar viper-global-prefix-argument nil) |
| 101 | 101 | ||
diff --git a/lisp/emulation/viper.el b/lisp/emulation/viper.el index 38a881845df..b2035e8ede6 100644 --- a/lisp/emulation/viper.el +++ b/lisp/emulation/viper.el | |||
| @@ -777,7 +777,7 @@ It also can't undo some Viper settings." | |||
| 777 | (viper-unbind-mouse-search-key) | 777 | (viper-unbind-mouse-search-key) |
| 778 | (viper-unbind-mouse-insert-key) | 778 | (viper-unbind-mouse-insert-key) |
| 779 | ;; In emacs, we have to advice handle-switch-frame | 779 | ;; In emacs, we have to advice handle-switch-frame |
| 780 | ;; This advice is undone earlier, when all advices matchine "viper-" are | 780 | ;; This advice is undone earlier, when all advices matching "viper-" are |
| 781 | ;; deactivated. | 781 | ;; deactivated. |
| 782 | (if (featurep 'xemacs) | 782 | (if (featurep 'xemacs) |
| 783 | (remove-hook 'mouse-leave-frame-hook 'viper-remember-current-frame)) | 783 | (remove-hook 'mouse-leave-frame-hook 'viper-remember-current-frame)) |
| @@ -1050,7 +1050,7 @@ It also can't undo some Viper settings." | |||
| 1050 | (memq 'down (event-modifiers (aref key 1))))) | 1050 | (memq 'down (event-modifiers (aref key 1))))) |
| 1051 | (read-event)))))) | 1051 | (read-event)))))) |
| 1052 | ) ; (if (featurep 'xemacs) | 1052 | ) ; (if (featurep 'xemacs) |
| 1053 | 1053 | ||
| 1054 | (if (featurep 'xemacs) | 1054 | (if (featurep 'xemacs) |
| 1055 | ;; XEmacs | 1055 | ;; XEmacs |
| 1056 | (defadvice describe-key-briefly | 1056 | (defadvice describe-key-briefly |
| @@ -1076,7 +1076,7 @@ It also can't undo some Viper settings." | |||
| 1076 | (prefix-numeric-value current-prefix-arg)) | 1076 | (prefix-numeric-value current-prefix-arg)) |
| 1077 | 1)))) | 1077 | 1)))) |
| 1078 | ) ; (if (featurep 'xemacs) | 1078 | ) ; (if (featurep 'xemacs) |
| 1079 | 1079 | ||
| 1080 | (defadvice find-file (before viper-add-suffix-advice activate) | 1080 | (defadvice find-file (before viper-add-suffix-advice activate) |
| 1081 | "Use `read-file-name' for reading arguments." | 1081 | "Use `read-file-name' for reading arguments." |
| 1082 | (interactive (cons (read-file-name "Find file: " nil default-directory) | 1082 | (interactive (cons (read-file-name "Find file: " nil default-directory) |
diff --git a/lisp/erc/ChangeLog b/lisp/erc/ChangeLog index 9a029893352..3fd2c87d59c 100644 --- a/lisp/erc/ChangeLog +++ b/lisp/erc/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2011-11-20 Juanma Barranquero <lekktu@gmail.com> | ||
| 2 | |||
| 3 | * erc-log.el (erc-logging-enabled): Fix typo. | ||
| 4 | |||
| 1 | 2011-11-14 Juanma Barranquero <lekktu@gmail.com> | 5 | 2011-11-14 Juanma Barranquero <lekktu@gmail.com> |
| 2 | 6 | ||
| 3 | * erc-notify.el (erc-notify-interval, erc-cmd-NOTIFY): Fix typos. | 7 | * erc-notify.el (erc-notify-interval, erc-cmd-NOTIFY): Fix typos. |
diff --git a/lisp/erc/ChangeLog.01 b/lisp/erc/ChangeLog.01 index 1e90b33a23b..2b29acf5a25 100644 --- a/lisp/erc/ChangeLog.01 +++ b/lisp/erc/ChangeLog.01 | |||
| @@ -93,7 +93,7 @@ | |||
| 93 | 93 | ||
| 94 | * erc.el: | 94 | * erc.el: |
| 95 | * erc-insert-hook: Changed strategy completely, no start end parameters any more. | 95 | * erc-insert-hook: Changed strategy completely, no start end parameters any more. |
| 96 | We narrow-to-region now, thats much cleaner. | 96 | We narrow-to-region now, that's much cleaner. |
| 97 | * rename erc-fill-region to erc-fill and change the autoload | 97 | * rename erc-fill-region to erc-fill and change the autoload |
| 98 | ** You'll probably need to restart Emacs | 98 | ** You'll probably need to restart Emacs |
| 99 | 99 | ||
| @@ -221,7 +221,7 @@ | |||
| 221 | * Applied antifuchs/mhp patches, the latest on erc-help, unmodified | 221 | * Applied antifuchs/mhp patches, the latest on erc-help, unmodified |
| 222 | * New variable: erc-reuse-buffers default to t. | 222 | * New variable: erc-reuse-buffers default to t. |
| 223 | * Modified erc-generate-new-buffer-name to use it. it checks if server and port are the same, | 223 | * Modified erc-generate-new-buffer-name to use it. it checks if server and port are the same, |
| 224 | then one can assume thats the same channel/query target again. | 224 | then one can assume that's the same channel/query target again. |
| 225 | 225 | ||
| 226 | 2001-11-23 Mario Lang <mlang@delysid.org> | 226 | 2001-11-23 Mario Lang <mlang@delysid.org> |
| 227 | 227 | ||
| @@ -399,7 +399,7 @@ | |||
| 399 | 399 | ||
| 400 | * erc.el: * Tijs van Bakel's work from 10th Nov. merged in | 400 | * erc.el: * Tijs van Bakel's work from 10th Nov. merged in |
| 401 | * My additions to that idea merged in too | 401 | * My additions to that idea merged in too |
| 402 | Basicly, this is a major rewrite, if you are scared and want avoid problems, | 402 | Basically, this is a major rewrite, if you are scared and want avoid problems, |
| 403 | stay at your current version. It seems fairly stable though. | 403 | stay at your current version. It seems fairly stable though. |
| 404 | That changed? erc-buffer-name handling was completely rewritten, | 404 | That changed? erc-buffer-name handling was completely rewritten, |
| 405 | and erc-buffer-list local variable handling removed. | 405 | and erc-buffer-list local variable handling removed. |
| @@ -415,7 +415,7 @@ | |||
| 415 | * erc.el: only some code beautification | 415 | * erc.el: only some code beautification |
| 416 | 416 | ||
| 417 | * erc-imenu.el: | 417 | * erc-imenu.el: |
| 418 | remove add-hook call, thats done in erc.el now for autoloadability | 418 | remove add-hook call, that's done in erc.el now for autoloadability |
| 419 | 419 | ||
| 420 | * erc.el: * Make erc-imenu autoloadable | 420 | * erc.el: * Make erc-imenu autoloadable |
| 421 | 421 | ||
| @@ -912,7 +912,7 @@ | |||
| 912 | fixed one occurrence of a setq with only one argument (XEmacs didn't like that) | 912 | fixed one occurrence of a setq with only one argument (XEmacs didn't like that) |
| 913 | 913 | ||
| 914 | * erc.el: | 914 | * erc.el: |
| 915 | Added erc-next-line-add-newlines customisation possibility. | 915 | Added erc-next-line-add-newlines customization possibility. |
| 916 | 916 | ||
| 917 | * erc.el: | 917 | * erc.el: |
| 918 | added erc-fill-prefix for defining your own way of filling and fixed filling somehow | 918 | added erc-fill-prefix for defining your own way of filling and fixed filling somehow |
| @@ -940,8 +940,7 @@ | |||
| 940 | 940 | ||
| 941 | * erc.el: typo | 941 | * erc.el: typo |
| 942 | 942 | ||
| 943 | * erc.el: ommit | 943 | * erc.el: omit |
| 944 | :wq | ||
| 945 | 944 | ||
| 946 | 2001-07-06 Alex Schroeder <alex@gnu.org> | 945 | 2001-07-06 Alex Schroeder <alex@gnu.org> |
| 947 | 946 | ||
diff --git a/lisp/erc/ChangeLog.02 b/lisp/erc/ChangeLog.02 index d1b05a23140..279a336f15f 100644 --- a/lisp/erc/ChangeLog.02 +++ b/lisp/erc/ChangeLog.02 | |||
| @@ -343,7 +343,7 @@ | |||
| 343 | 2002-12-14 Damien Elmes <erc@repose.cx> | 343 | 2002-12-14 Damien Elmes <erc@repose.cx> |
| 344 | 344 | ||
| 345 | * erc.el: | 345 | * erc.el: |
| 346 | last-peers: initialise to a cons. thanks to Francis Litterio | 346 | last-peers: initialize to a cons. thanks to Francis Litterio |
| 347 | <franl@world.std.com> for the patch | 347 | <franl@world.std.com> for the patch |
| 348 | 348 | ||
| 349 | * erc.el: | 349 | * erc.el: |
| @@ -2616,4 +2616,3 @@ See ChangeLog.01 for earlier changes. | |||
| 2616 | ;; Local Variables: | 2616 | ;; Local Variables: |
| 2617 | ;; coding: utf-8 | 2617 | ;; coding: utf-8 |
| 2618 | ;; End: | 2618 | ;; End: |
| 2619 | |||
diff --git a/lisp/erc/ChangeLog.03 b/lisp/erc/ChangeLog.03 index 956ef5f4c66..fc7fd09e76c 100644 --- a/lisp/erc/ChangeLog.03 +++ b/lisp/erc/ChangeLog.03 | |||
| @@ -838,7 +838,7 @@ | |||
| 838 | * erc.el: | 838 | * erc.el: |
| 839 | erc-log-channels: removed; set the directory to start logging | 839 | erc-log-channels: removed; set the directory to start logging |
| 840 | (erc-directory-writeable-p): create directory if it doesn't exist, check if | 840 | (erc-directory-writeable-p): create directory if it doesn't exist, check if |
| 841 | it's writeable | 841 | it's writable |
| 842 | (erc-logging-enabled): don't reference erc-log-channels | 842 | (erc-logging-enabled): don't reference erc-log-channels |
| 843 | 843 | ||
| 844 | 2003-04-07 Damien Elmes <erc@repose.cx> | 844 | 2003-04-07 Damien Elmes <erc@repose.cx> |
| @@ -1425,7 +1425,7 @@ | |||
| 1425 | reference argument directly - no string matching | 1425 | reference argument directly - no string matching |
| 1426 | 1426 | ||
| 1427 | * erc.el(erc-extract-command-from-line): | 1427 | * erc.el(erc-extract-command-from-line): |
| 1428 | hmm, thinko in the canonicalisation. should | 1428 | hmm, thinko in the canonicalization. should |
| 1429 | be fixed | 1429 | be fixed |
| 1430 | 1430 | ||
| 1431 | 2003-01-16 Francis Litterio <franl@users.sourceforge.net> | 1431 | 2003-01-16 Francis Litterio <franl@users.sourceforge.net> |
| @@ -1556,7 +1556,7 @@ | |||
| 1556 | 1556 | ||
| 1557 | * erc.el: This is the "everything is suddenly broken!" release | 1557 | * erc.el: This is the "everything is suddenly broken!" release |
| 1558 | You know, this is CVS, you can still go back, and wait until the transition | 1558 | You know, this is CVS, you can still go back, and wait until the transition |
| 1559 | is finished, but here is patch one, which basicly breaks every command | 1559 | is finished, but here is patch one, which basically breaks every command |
| 1560 | which is typed on the prompt. | 1560 | which is typed on the prompt. |
| 1561 | Hit me, we can still revert, but something needs to be done about this. | 1561 | Hit me, we can still revert, but something needs to be done about this. |
| 1562 | * (erc-extract-command-from-line): intern-soft the function here. | 1562 | * (erc-extract-command-from-line): intern-soft the function here. |
diff --git a/lisp/erc/erc-backend.el b/lisp/erc/erc-backend.el index f86c9ef845a..5baa676ab39 100644 --- a/lisp/erc/erc-backend.el +++ b/lisp/erc/erc-backend.el | |||
| @@ -1432,7 +1432,7 @@ add things to `%s' instead." | |||
| 1432 | (when (string= cmd "PRIVMSG") | 1432 | (when (string= cmd "PRIVMSG") |
| 1433 | (erc-auto-query proc parsed)))))) | 1433 | (erc-auto-query proc parsed)))))) |
| 1434 | 1434 | ||
| 1435 | ;; FIXME: need clean way of specifiying extra hooks in | 1435 | ;; FIXME: need clean way of specifying extra hooks in |
| 1436 | ;; define-erc-response-handler. | 1436 | ;; define-erc-response-handler. |
| 1437 | (add-hook 'erc-server-PRIVMSG-functions 'erc-auto-query) | 1437 | (add-hook 'erc-server-PRIVMSG-functions 'erc-auto-query) |
| 1438 | 1438 | ||
diff --git a/lisp/erc/erc-log.el b/lisp/erc/erc-log.el index 24990e1e068..f1754afd1ac 100644 --- a/lisp/erc/erc-log.el +++ b/lisp/erc/erc-log.el | |||
| @@ -50,7 +50,7 @@ | |||
| 50 | ;; erc-log-write-after-send t | 50 | ;; erc-log-write-after-send t |
| 51 | ;; erc-log-write-after-insert t) | 51 | ;; erc-log-write-after-insert t) |
| 52 | ;; | 52 | ;; |
| 53 | ;; If you only want to save logs for some buffers, customise the | 53 | ;; If you only want to save logs for some buffers, customize the |
| 54 | ;; variable `erc-enable-logging'. | 54 | ;; variable `erc-enable-logging'. |
| 55 | 55 | ||
| 56 | ;; How it works: | 56 | ;; How it works: |
| @@ -314,7 +314,7 @@ Returns nil if `erc-server-buffer-p' returns t." | |||
| 314 | "Return non-nil if logging is enabled for BUFFER. | 314 | "Return non-nil if logging is enabled for BUFFER. |
| 315 | If BUFFER is nil, the value of `current-buffer' is used. | 315 | If BUFFER is nil, the value of `current-buffer' is used. |
| 316 | Logging is enabled if `erc-log-channels-directory' is non-nil, the directory | 316 | Logging is enabled if `erc-log-channels-directory' is non-nil, the directory |
| 317 | is writeable (it will be created as necessary) and | 317 | is writable (it will be created as necessary) and |
| 318 | `erc-enable-logging' returns a non-nil value." | 318 | `erc-enable-logging' returns a non-nil value." |
| 319 | (and erc-log-channels-directory | 319 | (and erc-log-channels-directory |
| 320 | (or (functionp erc-log-channels-directory) | 320 | (or (functionp erc-log-channels-directory) |
| @@ -450,4 +450,3 @@ You can save every individual message by putting this function on | |||
| 450 | ;; indent-tabs-mode: t | 450 | ;; indent-tabs-mode: t |
| 451 | ;; tab-width: 8 | 451 | ;; tab-width: 8 |
| 452 | ;; End: | 452 | ;; End: |
| 453 | |||
diff --git a/lisp/erc/erc-match.el b/lisp/erc/erc-match.el index bde51da6e3d..7e567bd1648 100644 --- a/lisp/erc/erc-match.el +++ b/lisp/erc/erc-match.el | |||
| @@ -36,7 +36,7 @@ | |||
| 36 | (require 'erc) | 36 | (require 'erc) |
| 37 | (eval-when-compile (require 'cl)) | 37 | (eval-when-compile (require 'cl)) |
| 38 | 38 | ||
| 39 | ;; Customisation: | 39 | ;; Customization: |
| 40 | 40 | ||
| 41 | (defgroup erc-match nil | 41 | (defgroup erc-match nil |
| 42 | "Keyword and Friend/Foe/... recognition. | 42 | "Keyword and Friend/Foe/... recognition. |
| @@ -633,4 +633,3 @@ This function is meant to be called from `erc-text-matched-hook'." | |||
| 633 | ;; indent-tabs-mode: t | 633 | ;; indent-tabs-mode: t |
| 634 | ;; tab-width: 8 | 634 | ;; tab-width: 8 |
| 635 | ;; End: | 635 | ;; End: |
| 636 | |||
diff --git a/lisp/erc/erc-track.el b/lisp/erc/erc-track.el index b663aeed423..e2e5fa1c4f2 100644 --- a/lisp/erc/erc-track.el +++ b/lisp/erc/erc-track.el | |||
| @@ -1040,7 +1040,7 @@ relative to `erc-track-switch-direction'" | |||
| 1040 | ((oldest leastactive) | 1040 | ((oldest leastactive) |
| 1041 | (- (length erc-modified-channels-alist) arg)) | 1041 | (- (length erc-modified-channels-alist) arg)) |
| 1042 | (t (1- arg)))) | 1042 | (t (1- arg)))) |
| 1043 | ;; normalise out of range user input | 1043 | ;; normalize out of range user input |
| 1044 | (cond ((>= offset (length erc-modified-channels-alist)) | 1044 | (cond ((>= offset (length erc-modified-channels-alist)) |
| 1045 | (setq offset (1- (length erc-modified-channels-alist)))) | 1045 | (setq offset (1- (length erc-modified-channels-alist)))) |
| 1046 | ((< offset 0) | 1046 | ((< offset 0) |
| @@ -1075,4 +1075,3 @@ switch back to the last non-ERC buffer visited. Next is defined by | |||
| 1075 | ;; indent-tabs-mode: t | 1075 | ;; indent-tabs-mode: t |
| 1076 | ;; tab-width: 8 | 1076 | ;; tab-width: 8 |
| 1077 | ;; End: | 1077 | ;; End: |
| 1078 | |||
diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el index 2d8c2565f69..a218dd12555 100644 --- a/lisp/erc/erc.el +++ b/lisp/erc/erc.el | |||
| @@ -1569,7 +1569,7 @@ symbol, it may have these values: | |||
| 1569 | ;; current ERC buffer. | 1569 | ;; current ERC buffer. |
| 1570 | ;; if buf-name is taken by a different connection (or by something !erc) | 1570 | ;; if buf-name is taken by a different connection (or by something !erc) |
| 1571 | ;; then see if "buf-name/server" meets the same criteria | 1571 | ;; then see if "buf-name/server" meets the same criteria |
| 1572 | (dolist (candidate (list buf-name (concat buf-name "/" server))) | 1572 | (dolist (candidate (list buf-name (concat buf-name "/" server))) |
| 1573 | (if (and (not buffer-name) | 1573 | (if (and (not buffer-name) |
| 1574 | erc-reuse-buffers | 1574 | erc-reuse-buffers |
| 1575 | (get-buffer candidate) | 1575 | (get-buffer candidate) |
| @@ -4001,7 +4001,7 @@ and as second argument the event parsed as a vector." | |||
| 4001 | (not (string-match "^\C-a\\ACTION.*\C-a$" message)))) | 4001 | (not (string-match "^\C-a\\ACTION.*\C-a$" message)))) |
| 4002 | 4002 | ||
| 4003 | (defun erc-format-privmessage (nick msg privp msgp) | 4003 | (defun erc-format-privmessage (nick msg privp msgp) |
| 4004 | "Format a PRIVMSG in an insertible fashion." | 4004 | "Format a PRIVMSG in an insertable fashion." |
| 4005 | (let* ((mark-s (if msgp (if privp "*" "<") "-")) | 4005 | (let* ((mark-s (if msgp (if privp "*" "<") "-")) |
| 4006 | (mark-e (if msgp (if privp "*" ">") "-")) | 4006 | (mark-e (if msgp (if privp "*" ">") "-")) |
| 4007 | (str (format "%s%s%s %s" mark-s nick mark-e msg)) | 4007 | (str (format "%s%s%s %s" mark-s nick mark-e msg)) |
| @@ -5797,7 +5797,7 @@ If it doesn't exist, create it." | |||
| 5797 | "Give information about the nickname at `point'. | 5797 | "Give information about the nickname at `point'. |
| 5798 | 5798 | ||
| 5799 | If called interactively, give a human readable message in the | 5799 | If called interactively, give a human readable message in the |
| 5800 | minibuffer. If called programatically, return the corresponding | 5800 | minibuffer. If called programmatically, return the corresponding |
| 5801 | entry of `channel-members'." | 5801 | entry of `channel-members'." |
| 5802 | (interactive) | 5802 | (interactive) |
| 5803 | (require 'thingatpt) | 5803 | (require 'thingatpt) |
diff --git a/lisp/eshell/em-alias.el b/lisp/eshell/em-alias.el index 4e1dbd41045..04ba19d407d 100644 --- a/lisp/eshell/em-alias.el +++ b/lisp/eshell/em-alias.el | |||
| @@ -74,7 +74,7 @@ | |||
| 74 | ;; session, it is likely that they are experiencing a spelling | 74 | ;; session, it is likely that they are experiencing a spelling |
| 75 | ;; difficulty associated with a certain command. To combat this, | 75 | ;; difficulty associated with a certain command. To combat this, |
| 76 | ;; Eshell will offer to automatically define an alias for that | 76 | ;; Eshell will offer to automatically define an alias for that |
| 77 | ;; mispelled command, once a given tolerance threshold has been | 77 | ;; misspelled command, once a given tolerance threshold has been |
| 78 | ;; reached. | 78 | ;; reached. |
| 79 | 79 | ||
| 80 | ;; Whenever the same bad command name is encountered | 80 | ;; Whenever the same bad command name is encountered |
diff --git a/lisp/eshell/em-glob.el b/lisp/eshell/em-glob.el index db9b003895f..df1f7b67e29 100644 --- a/lisp/eshell/em-glob.el +++ b/lisp/eshell/em-glob.el | |||
| @@ -90,7 +90,7 @@ This option slows down recursive glob processing by quite a bit." | |||
| 90 | 90 | ||
| 91 | (defcustom eshell-error-if-no-glob nil | 91 | (defcustom eshell-error-if-no-glob nil |
| 92 | "If non-nil, it is an error for a glob pattern not to match. | 92 | "If non-nil, it is an error for a glob pattern not to match. |
| 93 | This mimcs the behavior of zsh if non-nil, but bash if nil." | 93 | This mimics the behavior of zsh if non-nil, but bash if nil." |
| 94 | :type 'boolean | 94 | :type 'boolean |
| 95 | :group 'eshell-glob) | 95 | :group 'eshell-glob) |
| 96 | 96 | ||
diff --git a/lisp/eshell/em-pred.el b/lisp/eshell/em-pred.el index 2308e08ed62..e45b36e3511 100644 --- a/lisp/eshell/em-pred.el +++ b/lisp/eshell/em-pred.el | |||
| @@ -173,7 +173,7 @@ OWNERSHIP: | |||
| 173 | 173 | ||
| 174 | FILE ATTRIBUTES: | 174 | FILE ATTRIBUTES: |
| 175 | l[+-]N +/-/= N links | 175 | l[+-]N +/-/= N links |
| 176 | a[Mwhms][+-](N|'FILE') access time +/-/= N mnths/weeks/hours/mins/secs | 176 | a[Mwhms][+-](N|'FILE') access time +/-/= N months/weeks/hours/mins/secs |
| 177 | (days if unspecified) if FILE specified, | 177 | (days if unspecified) if FILE specified, |
| 178 | use as comparison basis; so a+'file.c' | 178 | use as comparison basis; so a+'file.c' |
| 179 | shows files accessed before file.c was | 179 | shows files accessed before file.c was |
diff --git a/lisp/eshell/em-term.el b/lisp/eshell/em-term.el index 7d5fbbeabeb..bd575a0f809 100644 --- a/lisp/eshell/em-term.el +++ b/lisp/eshell/em-term.el | |||
| @@ -24,7 +24,7 @@ | |||
| 24 | ;; At the moment, eshell is stream-based in its interactive input and | 24 | ;; At the moment, eshell is stream-based in its interactive input and |
| 25 | ;; output. This means that full-screen commands, such as "vi" or | 25 | ;; output. This means that full-screen commands, such as "vi" or |
| 26 | ;; "lynx", will not display correctly. These are therefore thought of | 26 | ;; "lynx", will not display correctly. These are therefore thought of |
| 27 | ;; as "visual" programs. In order to run these progrem under Emacs, | 27 | ;; as "visual" programs. In order to run these programs under Emacs, |
| 28 | ;; Eshell uses the term.el package, and invokes them in a separate | 28 | ;; Eshell uses the term.el package, and invokes them in a separate |
| 29 | ;; buffer, giving the illusion that Eshell itself is allowing these | 29 | ;; buffer, giving the illusion that Eshell itself is allowing these |
| 30 | ;; visual processes to execute. | 30 | ;; visual processes to execute. |
diff --git a/lisp/eshell/esh-cmd.el b/lisp/eshell/esh-cmd.el index a7c92084bf9..7b90797eb43 100644 --- a/lisp/eshell/esh-cmd.el +++ b/lisp/eshell/esh-cmd.el | |||
| @@ -480,25 +480,20 @@ implemented via rewriting, rather than as a function." | |||
| 480 | (let ((body (car (last terms)))) | 480 | (let ((body (car (last terms)))) |
| 481 | (setcdr (last terms 2) nil) | 481 | (setcdr (last terms 2) nil) |
| 482 | `(let ((for-items | 482 | `(let ((for-items |
| 483 | ;; Apparently, eshell-do-eval only works for immutable | 483 | (append |
| 484 | ;; let-bindings, i.e. we cannot use `setq' on `for-items'. | 484 | ,@(mapcar |
| 485 | ;; Instead we store the list in the car of a cons-cell (which | 485 | (lambda (elem) |
| 486 | ;; acts as a ref-cell) so we can setcar instead of setq. | 486 | (if (listp elem) |
| 487 | (list | 487 | elem |
| 488 | (append | 488 | `(list ,elem))) |
| 489 | ,@(mapcar | 489 | (cdr (cddr terms))))) |
| 490 | (lambda (elem) | ||
| 491 | (if (listp elem) | ||
| 492 | elem | ||
| 493 | `(list ,elem))) | ||
| 494 | (cdr (cddr terms)))))) | ||
| 495 | (eshell-command-body '(nil)) | 490 | (eshell-command-body '(nil)) |
| 496 | (eshell-test-body '(nil))) | 491 | (eshell-test-body '(nil))) |
| 497 | (while (consp (car for-items)) | 492 | (while (consp for-items) |
| 498 | (let ((,(intern (cadr terms)) (caar for-items))) | 493 | (let ((,(intern (cadr terms)) (car for-items))) |
| 499 | (eshell-protect | 494 | (eshell-protect |
| 500 | ,(eshell-invokify-arg body t))) | 495 | ,(eshell-invokify-arg body t))) |
| 501 | (setcar for-items (cdar for-items))) | 496 | (setq for-items (cdr for-items))) |
| 502 | (eshell-close-handles | 497 | (eshell-close-handles |
| 503 | eshell-last-command-status | 498 | eshell-last-command-status |
| 504 | (list 'quote eshell-last-command-result)))))) | 499 | (list 'quote eshell-last-command-result)))))) |
| @@ -766,9 +761,8 @@ This macro calls itself recursively, with NOTFIRST non-nil." | |||
| 766 | `(eshell-copy-handles | 761 | `(eshell-copy-handles |
| 767 | (progn | 762 | (progn |
| 768 | ,(when (cdr pipeline) | 763 | ,(when (cdr pipeline) |
| 769 | `(let (nextproc) | 764 | `(let ((nextproc |
| 770 | (setq nextproc | 765 | (eshell-do-pipelines (quote ,(cdr pipeline)) t))) |
| 771 | (eshell-do-pipelines (quote ,(cdr pipeline)) t)) | ||
| 772 | (eshell-set-output-handle ,eshell-output-handle | 766 | (eshell-set-output-handle ,eshell-output-handle |
| 773 | 'append nextproc) | 767 | 'append nextproc) |
| 774 | (eshell-set-output-handle ,eshell-error-handle | 768 | (eshell-set-output-handle ,eshell-error-handle |
| @@ -796,10 +790,9 @@ This macro calls itself recursively, with NOTFIRST non-nil." | |||
| 796 | Output of each command is passed as input to the next one in the pipeline. | 790 | Output of each command is passed as input to the next one in the pipeline. |
| 797 | This is used on systems where `start-process' is not supported." | 791 | This is used on systems where `start-process' is not supported." |
| 798 | (when (setq pipeline (cadr pipeline)) | 792 | (when (setq pipeline (cadr pipeline)) |
| 799 | `(let (result) | 793 | `(progn |
| 800 | ,(when (cdr pipeline) | 794 | ,(when (cdr pipeline) |
| 801 | `(let (output-marker) | 795 | `(let ((output-marker ,(point-marker))) |
| 802 | (setq output-marker ,(point-marker)) | ||
| 803 | (eshell-set-output-handle ,eshell-output-handle | 796 | (eshell-set-output-handle ,eshell-output-handle |
| 804 | 'append output-marker) | 797 | 'append output-marker) |
| 805 | (eshell-set-output-handle ,eshell-error-handle | 798 | (eshell-set-output-handle ,eshell-error-handle |
| @@ -811,21 +804,21 @@ This is used on systems where `start-process' is not supported." | |||
| 811 | (when (memq (car head) eshell-deferrable-commands) | 804 | (when (memq (car head) eshell-deferrable-commands) |
| 812 | (ignore | 805 | (ignore |
| 813 | (setcar head | 806 | (setcar head |
| 814 | (intern-soft | 807 | (intern-soft |
| 815 | (concat (symbol-name (car head)) "*")))))) | 808 | (concat (symbol-name (car head)) "*")))))) |
| 816 | ;; The last process in the pipe should get its handles | 809 | ;; The last process in the pipe should get its handles |
| 817 | ;; redirected as we found them before running the pipe. | 810 | ;; redirected as we found them before running the pipe. |
| 818 | ,(if (null (cdr pipeline)) | 811 | ,(if (null (cdr pipeline)) |
| 819 | `(progn | 812 | `(progn |
| 820 | (setq eshell-current-handles tail-handles) | 813 | (setq eshell-current-handles tail-handles) |
| 821 | (setq eshell-in-pipeline-p nil))) | 814 | (setq eshell-in-pipeline-p nil))) |
| 822 | (setq result ,(car pipeline)) | 815 | (let ((result ,(car pipeline))) |
| 823 | ;; tailproc gets the result of the last successful process in | 816 | ;; tailproc gets the result of the last successful process in |
| 824 | ;; the pipeline. | 817 | ;; the pipeline. |
| 825 | (setq tailproc (or result tailproc)) | 818 | (setq tailproc (or result tailproc)) |
| 826 | ,(if (cdr pipeline) | 819 | ,(if (cdr pipeline) |
| 827 | `(eshell-do-pipelines-synchronously (quote ,(cdr pipeline)))) | 820 | `(eshell-do-pipelines-synchronously (quote ,(cdr pipeline)))) |
| 828 | result))) | 821 | result)))) |
| 829 | 822 | ||
| 830 | (defalias 'eshell-process-identity 'identity) | 823 | (defalias 'eshell-process-identity 'identity) |
| 831 | 824 | ||
| @@ -890,8 +883,7 @@ Returns a string comprising the output from the command." | |||
| 890 | (eshell-print "errors\n")) | 883 | (eshell-print "errors\n")) |
| 891 | (if eshell-debug-command | 884 | (if eshell-debug-command |
| 892 | (eshell-print "commands\n"))) | 885 | (eshell-print "commands\n"))) |
| 893 | ((or (string= (car args) "-h") | 886 | ((member (car args) '("-h" "--help")) |
| 894 | (string= (car args) "--help")) | ||
| 895 | (eshell-print "usage: eshell-debug [kinds] | 887 | (eshell-print "usage: eshell-debug [kinds] |
| 896 | 888 | ||
| 897 | This command is used to aid in debugging problems related to Eshell | 889 | This command is used to aid in debugging problems related to Eshell |
| @@ -1091,6 +1083,11 @@ be finished later after the completion of an asynchronous subprocess." | |||
| 1091 | (eshell-manipulate "handling special form" | 1083 | (eshell-manipulate "handling special form" |
| 1092 | (setcar args `(eshell-do-eval ',(car args) ,synchronous-p)))) | 1084 | (setcar args `(eshell-do-eval ',(car args) ,synchronous-p)))) |
| 1093 | (eval form)) | 1085 | (eval form)) |
| 1086 | ((eq (car form) 'setq) | ||
| 1087 | (if (cddr args) (error "Unsupported form (setq X1 E1 X2 E2..)")) | ||
| 1088 | (eshell-manipulate "evaluating arguments to setq" | ||
| 1089 | (setcar (cdr args) (eshell-do-eval (cadr args) synchronous-p))) | ||
| 1090 | (list 'quote (eval form))) | ||
| 1094 | (t | 1091 | (t |
| 1095 | (if (and args (not (memq (car form) '(run-hooks)))) | 1092 | (if (and args (not (memq (car form) '(run-hooks)))) |
| 1096 | (eshell-manipulate | 1093 | (eshell-manipulate |
| @@ -1127,11 +1124,12 @@ be finished later after the completion of an asynchronous subprocess." | |||
| 1127 | ;; Thus, aliases can even contain references to asynchronous | 1124 | ;; Thus, aliases can even contain references to asynchronous |
| 1128 | ;; sub-commands, and things will still work out as they | 1125 | ;; sub-commands, and things will still work out as they |
| 1129 | ;; should. | 1126 | ;; should. |
| 1130 | (let (result new-form) | 1127 | (let* (result |
| 1131 | (if (setq new-form | 1128 | (new-form |
| 1132 | (catch 'eshell-replace-command | 1129 | (catch 'eshell-replace-command |
| 1133 | (ignore | 1130 | (ignore |
| 1134 | (setq result (eval form))))) | 1131 | (setq result (eval form)))))) |
| 1132 | (if new-form | ||
| 1135 | (progn | 1133 | (progn |
| 1136 | (eshell-manipulate "substituting replacement form" | 1134 | (eshell-manipulate "substituting replacement form" |
| 1137 | (setcar form (car new-form)) | 1135 | (setcar form (car new-form)) |
| @@ -1247,25 +1245,23 @@ or an external command." | |||
| 1247 | PRINTER and ERRPRINT are functions to use for printing regular | 1245 | PRINTER and ERRPRINT are functions to use for printing regular |
| 1248 | messages, and errors. FORM-P should be non-nil if FUNC-OR-FORM | 1246 | messages, and errors. FORM-P should be non-nil if FUNC-OR-FORM |
| 1249 | represent a lisp form; ARGS will be ignored in that case." | 1247 | represent a lisp form; ARGS will be ignored in that case." |
| 1250 | (let (result) | 1248 | (eshell-condition-case err |
| 1251 | (eshell-condition-case err | 1249 | (let ((result |
| 1252 | (progn | 1250 | (save-current-buffer |
| 1253 | (setq result | 1251 | (if form-p |
| 1254 | (save-current-buffer | 1252 | (eval func-or-form) |
| 1255 | (if form-p | 1253 | (apply func-or-form args))))) |
| 1256 | (eval func-or-form) | 1254 | (and result (funcall printer result)) |
| 1257 | (apply func-or-form args)))) | 1255 | result) |
| 1258 | (and result (funcall printer result)) | 1256 | (error |
| 1259 | result) | 1257 | (let ((msg (error-message-string err))) |
| 1260 | (error | 1258 | (if (and (not form-p) |
| 1261 | (let ((msg (error-message-string err))) | 1259 | (string-match "^Wrong number of arguments" msg) |
| 1262 | (if (and (not form-p) | 1260 | (fboundp 'eldoc-get-fnsym-args-string)) |
| 1263 | (string-match "^Wrong number of arguments" msg) | 1261 | (let ((func-doc (eldoc-get-fnsym-args-string func-or-form))) |
| 1264 | (fboundp 'eldoc-get-fnsym-args-string)) | 1262 | (setq msg (format "usage: %s" func-doc)))) |
| 1265 | (let ((func-doc (eldoc-get-fnsym-args-string func-or-form))) | 1263 | (funcall errprint msg)) |
| 1266 | (setq msg (format "usage: %s" func-doc)))) | 1264 | nil))) |
| 1267 | (funcall errprint msg)) | ||
| 1268 | nil)))) | ||
| 1269 | 1265 | ||
| 1270 | (defsubst eshell-apply* (printer errprint func args) | 1266 | (defsubst eshell-apply* (printer errprint func args) |
| 1271 | "Call FUNC, with ARGS, trapping errors and return them as output. | 1267 | "Call FUNC, with ARGS, trapping errors and return them as output. |
diff --git a/lisp/eshell/esh-util.el b/lisp/eshell/esh-util.el index 424d246a2b6..b508fd5352f 100644 --- a/lisp/eshell/esh-util.el +++ b/lisp/eshell/esh-util.el | |||
| @@ -81,7 +81,7 @@ Setting this to nil is offered as an aid to debugging only." | |||
| 81 | Numeric form is tested using the regular expression | 81 | Numeric form is tested using the regular expression |
| 82 | `eshell-number-regexp'. | 82 | `eshell-number-regexp'. |
| 83 | 83 | ||
| 84 | NOTE: If you find that numeric conversions are intefering with the | 84 | NOTE: If you find that numeric conversions are interfering with the |
| 85 | specification of filenames (for example, in calling `find-file', or | 85 | specification of filenames (for example, in calling `find-file', or |
| 86 | some other Lisp function that deals with files, not numbers), add the | 86 | some other Lisp function that deals with files, not numbers), add the |
| 87 | following in your .emacs file: | 87 | following in your .emacs file: |
| @@ -140,14 +140,13 @@ function `string-to-number'." | |||
| 140 | (defmacro eshell-condition-case (tag form &rest handlers) | 140 | (defmacro eshell-condition-case (tag form &rest handlers) |
| 141 | "If `eshell-handle-errors' is non-nil, this is `condition-case'. | 141 | "If `eshell-handle-errors' is non-nil, this is `condition-case'. |
| 142 | Otherwise, evaluates FORM with no error handling." | 142 | Otherwise, evaluates FORM with no error handling." |
| 143 | (declare (indent 2)) | ||
| 143 | (if eshell-handle-errors | 144 | (if eshell-handle-errors |
| 144 | `(condition-case ,tag | 145 | `(condition-case ,tag |
| 145 | ,form | 146 | ,form |
| 146 | ,@handlers) | 147 | ,@handlers) |
| 147 | form)) | 148 | form)) |
| 148 | 149 | ||
| 149 | (put 'eshell-condition-case 'lisp-indent-function 2) | ||
| 150 | |||
| 151 | (defun eshell-find-delimiter | 150 | (defun eshell-find-delimiter |
| 152 | (open close &optional bound reverse-p backslash-p) | 151 | (open close &optional bound reverse-p backslash-p) |
| 153 | "From point, find the CLOSE delimiter corresponding to OPEN. | 152 | "From point, find the CLOSE delimiter corresponding to OPEN. |
| @@ -275,14 +274,14 @@ Prepend remote identification of `default-directory', if any." | |||
| 275 | text)) | 274 | text)) |
| 276 | 275 | ||
| 277 | (defmacro eshell-for (for-var for-list &rest forms) | 276 | (defmacro eshell-for (for-var for-list &rest forms) |
| 278 | "Iterate through a list" | 277 | "Iterate through a list." |
| 278 | (declare (indent 2)) | ||
| 279 | `(let ((list-iter ,for-list)) | 279 | `(let ((list-iter ,for-list)) |
| 280 | (while list-iter | 280 | (while list-iter |
| 281 | (let ((,for-var (car list-iter))) | 281 | (let ((,for-var (car list-iter))) |
| 282 | ,@forms) | 282 | ,@forms) |
| 283 | (setq list-iter (cdr list-iter))))) | 283 | (setq list-iter (cdr list-iter))))) |
| 284 | 284 | ||
| 285 | (put 'eshell-for 'lisp-indent-function 2) | ||
| 286 | 285 | ||
| 287 | (make-obsolete 'eshell-for 'dolist "24.1") | 286 | (make-obsolete 'eshell-for 'dolist "24.1") |
| 288 | 287 | ||
diff --git a/lisp/ezimage.el b/lisp/ezimage.el index a3562944039..d0bbdfb2f8a 100644 --- a/lisp/ezimage.el +++ b/lisp/ezimage.el | |||
| @@ -239,7 +239,7 @@ IMAGESPEC is the image data, and DOCSTRING is documentation for the image." | |||
| 239 | ("[ ]" . ezimage-page) | 239 | ("[ ]" . ezimage-page) |
| 240 | ("{+}" . ezimage-box-plus) | 240 | ("{+}" . ezimage-box-plus) |
| 241 | ("{-}" . ezimage-box-minus) | 241 | ("{-}" . ezimage-box-minus) |
| 242 | ;; Some vaguely representitive entries | 242 | ;; Some vaguely representative entries |
| 243 | ("*" . ezimage-checkout) | 243 | ("*" . ezimage-checkout) |
| 244 | ("#" . ezimage-object) | 244 | ("#" . ezimage-object) |
| 245 | ("!" . ezimage-object-out-of-date) | 245 | ("!" . ezimage-object-out-of-date) |
diff --git a/lisp/faces.el b/lisp/faces.el index 7bc103ca699..f10c9f87f25 100644 --- a/lisp/faces.el +++ b/lisp/faces.el | |||
| @@ -1925,7 +1925,7 @@ frame parameters in PARAMETERS." | |||
| 1925 | (progn | 1925 | (progn |
| 1926 | ;; Initialize faces from face spec and custom theme. | 1926 | ;; Initialize faces from face spec and custom theme. |
| 1927 | (face-spec-recalc face frame) | 1927 | (face-spec-recalc face frame) |
| 1928 | ;; X resouces for the default face are applied during | 1928 | ;; X resources for the default face are applied during |
| 1929 | ;; `x-create-frame'. | 1929 | ;; `x-create-frame'. |
| 1930 | (and (not (eq face 'default)) window-system-p | 1930 | (and (not (eq face 'default)) window-system-p |
| 1931 | (make-face-x-resource-internal face frame)) | 1931 | (make-face-x-resource-internal face frame)) |
diff --git a/lisp/files-x.el b/lisp/files-x.el index a6320b32e50..ca847097184 100644 --- a/lisp/files-x.el +++ b/lisp/files-x.el | |||
| @@ -149,7 +149,7 @@ from the Local Variables list ignoring the input argument VALUE." | |||
| 149 | 149 | ||
| 150 | (goto-char (point-max)) | 150 | (goto-char (point-max)) |
| 151 | (let ((comment-style 'plain) | 151 | (let ((comment-style 'plain) |
| 152 | (comment-start (or comment-start ";;; "))) | 152 | (comment-start (or comment-start ";; "))) |
| 153 | (comment-region | 153 | (comment-region |
| 154 | (prog1 (setq beg (point)) | 154 | (prog1 (setq beg (point)) |
| 155 | (insert "\nLocal Variables:\nEnd:\n")) | 155 | (insert "\nLocal Variables:\nEnd:\n")) |
diff --git a/lisp/files.el b/lisp/files.el index 6cf94a89c92..0f167ce3ffa 100644 --- a/lisp/files.el +++ b/lisp/files.el | |||
| @@ -5790,7 +5790,7 @@ returns nil." | |||
| 5790 | 5790 | ||
| 5791 | ;; vc dired listings provide the state or blanks between file | 5791 | ;; vc dired listings provide the state or blanks between file |
| 5792 | ;; permissions and date. The state is always surrounded by | 5792 | ;; permissions and date. The state is always surrounded by |
| 5793 | ;; parantheses: | 5793 | ;; parentheses: |
| 5794 | ;; -rw-r--r-- (modified) 2005-10-22 21:25 files.el | 5794 | ;; -rw-r--r-- (modified) 2005-10-22 21:25 files.el |
| 5795 | ;; This is not supported yet. | 5795 | ;; This is not supported yet. |
| 5796 | (purecopy (concat "\\([0-9][BkKMGTPEZY]? " iso | 5796 | (purecopy (concat "\\([0-9][BkKMGTPEZY]? " iso |
diff --git a/lisp/foldout.el b/lisp/foldout.el index b0eaf753d60..4f93b4205b2 100644 --- a/lisp/foldout.el +++ b/lisp/foldout.el | |||
| @@ -111,9 +111,9 @@ | |||
| 111 | ;; setup a lot easier. | 111 | ;; setup a lot easier. |
| 112 | ;; | 112 | ;; |
| 113 | ;; folding.el by Jamie Lokier <u90jl@ecs.ox.ac.uk> supports folding by | 113 | ;; folding.el by Jamie Lokier <u90jl@ecs.ox.ac.uk> supports folding by |
| 114 | ;; recognising special marker text in you file. | 114 | ;; recognizing special marker text in you file. |
| 115 | ;; | 115 | ;; |
| 116 | ;; c-outline.el (by me) provides outline-mode support to recognise `C' | 116 | ;; c-outline.el (by me) provides outline-mode support to recognize `C' |
| 117 | ;; statements as outline headings, so with foldout you can have a folding `C' | 117 | ;; statements as outline headings, so with foldout you can have a folding `C' |
| 118 | ;; code editor without having to put in start- and end-of-fold markers. This | 118 | ;; code editor without having to put in start- and end-of-fold markers. This |
| 119 | ;; is a real winner! | 119 | ;; is a real winner! |
diff --git a/lisp/follow.el b/lisp/follow.el index 92efc8d8cfa..72a091e8ce2 100644 --- a/lisp/follow.el +++ b/lisp/follow.el | |||
| @@ -87,7 +87,7 @@ | |||
| 87 | ;; to turn it off. | 87 | ;; to turn it off. |
| 88 | 88 | ||
| 89 | 89 | ||
| 90 | ;; The command `follow-delete-other-windows-and-split' maximises the | 90 | ;; The command `follow-delete-other-windows-and-split' maximizes the |
| 91 | ;; visible area of the current buffer. | 91 | ;; visible area of the current buffer. |
| 92 | ;; | 92 | ;; |
| 93 | ;; I recommend adding it, and `follow-mode', to hotkeys in the global | 93 | ;; I recommend adding it, and `follow-mode', to hotkeys in the global |
| @@ -154,7 +154,7 @@ | |||
| 154 | ;; follow-delete-other-windows-and-split C-c . 1 | 154 | ;; follow-delete-other-windows-and-split C-c . 1 |
| 155 | ;; Maximize the visible area of the current buffer, | 155 | ;; Maximize the visible area of the current buffer, |
| 156 | ;; and enter Follow mode. This is a very convenient | 156 | ;; and enter Follow mode. This is a very convenient |
| 157 | ;; way to start Follow mode, hence we recomend that | 157 | ;; way to start Follow mode, hence we recommend that |
| 158 | ;; this command be added to the global keymap. | 158 | ;; this command be added to the global keymap. |
| 159 | ;; | 159 | ;; |
| 160 | ;; follow-recenter C-c . C-l | 160 | ;; follow-recenter C-c . C-l |
| @@ -562,7 +562,7 @@ Keys specific to Follow mode: | |||
| 562 | ;; | 562 | ;; |
| 563 | ;; Almost like the real thing, except when the cursor ends up outside | 563 | ;; Almost like the real thing, except when the cursor ends up outside |
| 564 | ;; the top or bottom... In our case however, we end up outside the | 564 | ;; the top or bottom... In our case however, we end up outside the |
| 565 | ;; window and hence we are recenterd. Should we let `recenter' handle | 565 | ;; window and hence we are recentered. Should we let `recenter' handle |
| 566 | ;; the point position we would never leave the selected window. To do | 566 | ;; the point position we would never leave the selected window. To do |
| 567 | ;; it ourselves we would need to do our own redisplay, which is easier | 567 | ;; it ourselves we would need to do our own redisplay, which is easier |
| 568 | ;; said than done. (Why didn't I do a real display abstraction from | 568 | ;; said than done. (Why didn't I do a real display abstraction from |
diff --git a/lisp/font-core.el b/lisp/font-core.el index 0db17efd7b7..a5de29520f7 100644 --- a/lisp/font-core.el +++ b/lisp/font-core.el | |||
| @@ -210,7 +210,7 @@ this function onto `change-major-mode-hook'." | |||
| 210 | ;; A few people have hassled in the past for a way to make it easier to turn on | 210 | ;; A few people have hassled in the past for a way to make it easier to turn on |
| 211 | ;; Font Lock mode, without the user needing to know for which modes s/he has to | 211 | ;; Font Lock mode, without the user needing to know for which modes s/he has to |
| 212 | ;; turn it on, perhaps the same way hilit19.el/hl319.el does. I've always | 212 | ;; turn it on, perhaps the same way hilit19.el/hl319.el does. I've always |
| 213 | ;; balked at that way, as I see it as just re-moulding the same problem in | 213 | ;; balked at that way, as I see it as just re-molding the same problem in |
| 214 | ;; another form. That is; some person would still have to keep track of which | 214 | ;; another form. That is; some person would still have to keep track of which |
| 215 | ;; modes (which may not even be distributed with Emacs) support Font Lock mode. | 215 | ;; modes (which may not even be distributed with Emacs) support Font Lock mode. |
| 216 | ;; The list would always be out of date. And that person might have to be me. | 216 | ;; The list would always be out of date. And that person might have to be me. |
diff --git a/lisp/font-lock.el b/lisp/font-lock.el index d410b8eb51a..c319974fb41 100644 --- a/lisp/font-lock.el +++ b/lisp/font-lock.el | |||
| @@ -981,7 +981,7 @@ The value of this variable is used when Font Lock mode is turned on." | |||
| 981 | ;; rules one way and C code another. Neat! | 981 | ;; rules one way and C code another. Neat! |
| 982 | ;; | 982 | ;; |
| 983 | ;; A further reason to use the fontification indirection feature is when the | 983 | ;; A further reason to use the fontification indirection feature is when the |
| 984 | ;; default syntactual fontification, or the default fontification in general, | 984 | ;; default syntactic fontification, or the default fontification in general, |
| 985 | ;; is not flexible enough for a particular major mode. For example, perhaps | 985 | ;; is not flexible enough for a particular major mode. For example, perhaps |
| 986 | ;; comments are just too hairy for `font-lock-fontify-syntactically-region' to | 986 | ;; comments are just too hairy for `font-lock-fontify-syntactically-region' to |
| 987 | ;; cope with. You need to write your own version of that function, e.g., | 987 | ;; cope with. You need to write your own version of that function, e.g., |
diff --git a/lisp/forms.el b/lisp/forms.el index ef6d9b023b4..215f3ce88f7 100644 --- a/lisp/forms.el +++ b/lisp/forms.el | |||
| @@ -1295,7 +1295,7 @@ Commands: Equivalent keys in read-only mode: | |||
| 1295 | ) | 1295 | ) |
| 1296 | 1296 | ||
| 1297 | (defun forms--mode-menu-ro (map) | 1297 | (defun forms--mode-menu-ro (map) |
| 1298 | ;;; Menu initialisation | 1298 | ;;; Menu initialization |
| 1299 | ; (define-key map [menu-bar] (make-sparse-keymap)) | 1299 | ; (define-key map [menu-bar] (make-sparse-keymap)) |
| 1300 | (define-key map [menu-bar forms] | 1300 | (define-key map [menu-bar forms] |
| 1301 | (cons "Forms" (make-sparse-keymap "Forms"))) | 1301 | (cons "Forms" (make-sparse-keymap "Forms"))) |
| @@ -1341,7 +1341,7 @@ Commands: Equivalent keys in read-only mode: | |||
| 1341 | (put 'forms-delete-record 'menu-enable '(not forms-read-only)) | 1341 | (put 'forms-delete-record 'menu-enable '(not forms-read-only)) |
| 1342 | ) | 1342 | ) |
| 1343 | (defun forms--mode-menu-edit (map) | 1343 | (defun forms--mode-menu-edit (map) |
| 1344 | ;;; Menu initialisation | 1344 | ;;; Menu initialization |
| 1345 | ; (define-key map [menu-bar] (make-sparse-keymap)) | 1345 | ; (define-key map [menu-bar] (make-sparse-keymap)) |
| 1346 | (define-key map [menu-bar forms] | 1346 | (define-key map [menu-bar forms] |
| 1347 | (cons "Forms" (make-sparse-keymap "Forms"))) | 1347 | (cons "Forms" (make-sparse-keymap "Forms"))) |
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 5e25d01da71..889a5230d15 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,3 +1,24 @@ | |||
| 1 | 2011-11-22 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 2 | |||
| 3 | * gnus-art.el (gnus-article-setup-buffer): Decode group name used for | ||
| 4 | article buffers' name. | ||
| 5 | |||
| 6 | 2011-11-22 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 7 | |||
| 8 | * shr.el (shr-table-horizontal-line): Revert infinite loops introduced | ||
| 9 | by Paul Eggert's spellfixes two days ago. | ||
| 10 | |||
| 11 | 2011-11-21 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 12 | |||
| 13 | * mm-view.el (mm-display-inline-fontify): Make the font-lock variables | ||
| 14 | buffer-local instead of binding them to avoid warnings. Also demote | ||
| 15 | errors (bug#10063). | ||
| 16 | (font-lock-mode-hook): Shut up byte compiler. | ||
| 17 | |||
| 18 | 2011-11-20 Juanma Barranquero <lekktu@gmail.com> | ||
| 19 | |||
| 20 | * mm-util.el (mm-charset-after): Fix typo. | ||
| 21 | |||
| 1 | 2011-11-16 Juanma Barranquero <lekktu@gmail.com> | 22 | 2011-11-16 Juanma Barranquero <lekktu@gmail.com> |
| 2 | 23 | ||
| 3 | * gnus-sum.el (gnus-summary-make-menu-bar): | 24 | * gnus-sum.el (gnus-summary-make-menu-bar): |
| @@ -332,7 +353,7 @@ | |||
| 332 | decoding nnimap groups. | 353 | decoding nnimap groups. |
| 333 | 354 | ||
| 334 | * gnus.el (gnus-variable-list): Don't save `gnus-format-specs' in the | 355 | * gnus.el (gnus-variable-list): Don't save `gnus-format-specs' in the |
| 335 | newsrc file. It doesn't seem like an important optimisation any more. | 356 | newsrc file. It doesn't seem like an important optimization any more. |
| 336 | 357 | ||
| 337 | 2011-09-10 Dave Abrahams <dave@boostpro.com> (tiny change) | 358 | 2011-09-10 Dave Abrahams <dave@boostpro.com> (tiny change) |
| 338 | 359 | ||
| @@ -985,7 +1006,7 @@ | |||
| 985 | * nnimap.el (nnimap-process-expiry-targets): Say what target we're | 1006 | * nnimap.el (nnimap-process-expiry-targets): Say what target we're |
| 986 | expiring articles to. | 1007 | expiring articles to. |
| 987 | 1008 | ||
| 988 | * mm-util.el (mm-charset-to-coding-system): Recognise all ANSI.x3.4 | 1009 | * mm-util.el (mm-charset-to-coding-system): Recognize all ANSI.x3.4 |
| 989 | variations as ASCII (bug#5458). | 1010 | variations as ASCII (bug#5458). |
| 990 | 1011 | ||
| 991 | 2011-06-30 Katsumi Yamaoka <yamaoka@jpl.org> | 1012 | 2011-06-30 Katsumi Yamaoka <yamaoka@jpl.org> |
| @@ -2849,7 +2870,7 @@ | |||
| 2849 | 2870 | ||
| 2850 | 2011-01-24 Lars Ingebrigtsen <larsi@gnus.org> | 2871 | 2011-01-24 Lars Ingebrigtsen <larsi@gnus.org> |
| 2851 | 2872 | ||
| 2852 | * shr.el (shr-expand-newlines): Proof of concept implemantation of boxy | 2873 | * shr.el (shr-expand-newlines): Proof of concept implementation of boxy |
| 2853 | backgrounds. | 2874 | backgrounds. |
| 2854 | (shr-expand-newlines): Switch to using overlays to enable kill'n'yank | 2875 | (shr-expand-newlines): Switch to using overlays to enable kill'n'yank |
| 2855 | in a more sensible manner. | 2876 | in a more sensible manner. |
| @@ -4504,7 +4525,7 @@ | |||
| 4504 | 4525 | ||
| 4505 | 2010-10-30 Lars Magne Ingebrigtsen <larsi@gnus.org> | 4526 | 2010-10-30 Lars Magne Ingebrigtsen <larsi@gnus.org> |
| 4506 | 4527 | ||
| 4507 | * shr.el (shr-tag-span): Drop colorisation of regions since we don't | 4528 | * shr.el (shr-tag-span): Drop colorization of regions since we don't |
| 4508 | control the background color. | 4529 | control the background color. |
| 4509 | (shr-tag-img): Ignore very small web bug type images. | 4530 | (shr-tag-img): Ignore very small web bug type images. |
| 4510 | (shr-put-image): Add help-echo alt texts to the images. | 4531 | (shr-put-image): Add help-echo alt texts to the images. |
| @@ -11860,7 +11881,7 @@ | |||
| 11860 | 11881 | ||
| 11861 | * message.el (message-font-lock-keywords): Use message-header-xheader | 11882 | * message.el (message-font-lock-keywords): Use message-header-xheader |
| 11862 | face for "X-Foo", its apparent intended purpose. Move "X-" pattern | 11883 | face for "X-Foo", its apparent intended purpose. Move "X-" pattern |
| 11863 | ahead of the anything pattern, to get it recognised. | 11884 | ahead of the anything pattern, to get it recognized. |
| 11864 | 11885 | ||
| 11865 | 2007-05-12 Michaël Cadilhac <michael@cadilhac.name> | 11886 | 2007-05-12 Michaël Cadilhac <michael@cadilhac.name> |
| 11866 | 11887 | ||
| @@ -14905,7 +14926,7 @@ | |||
| 14905 | (nnweb-request-list): Don't list bogus groups. There can only be one. | 14926 | (nnweb-request-list): Don't list bogus groups. There can only be one. |
| 14906 | (nnweb-request-create-group): Don't use ARGS. | 14927 | (nnweb-request-create-group): Don't use ARGS. |
| 14907 | (nnweb-possibly-change-server, nnweb-request-group): Remove some | 14928 | (nnweb-possibly-change-server, nnweb-request-group): Remove some |
| 14908 | initialisations. Let nnoo do the work. | 14929 | initializations. Let nnoo do the work. |
| 14909 | 14930 | ||
| 14910 | 2006-01-31 Katsumi Yamaoka <yamaoka@jpl.org> | 14931 | 2006-01-31 Katsumi Yamaoka <yamaoka@jpl.org> |
| 14911 | 14932 | ||
| @@ -19398,7 +19419,7 @@ | |||
| 19398 | * gnus-group.el (gnus-group-get-new-news-this-group): | 19419 | * gnus-group.el (gnus-group-get-new-news-this-group): |
| 19399 | Don't update info that isn't there. | 19420 | Don't update info that isn't there. |
| 19400 | 19421 | ||
| 19401 | 2004-06-29 Ilya N. Golubev <gin@mo.msk.ru>. | 19422 | 2004-06-29 Ilya N. Golubev <gin@mo.msk.ru> |
| 19402 | 19423 | ||
| 19403 | * mm-util.el (mm-mime-mule-charset-alist): Add the windows-1251 | 19424 | * mm-util.el (mm-mime-mule-charset-alist): Add the windows-1251 |
| 19404 | entry. | 19425 | entry. |
diff --git a/lisp/gnus/ChangeLog.2 b/lisp/gnus/ChangeLog.2 index e52f898b184..e519ce340c2 100644 --- a/lisp/gnus/ChangeLog.2 +++ b/lisp/gnus/ChangeLog.2 | |||
| @@ -2111,7 +2111,7 @@ | |||
| 2111 | * gnus-srvr.el (gnus-browse-foreign-server): Parse garbage NNTP | 2111 | * gnus-srvr.el (gnus-browse-foreign-server): Parse garbage NNTP |
| 2112 | groups correctly. | 2112 | groups correctly. |
| 2113 | 2113 | ||
| 2114 | 2003-06-06 Benjamin Rutt <rutt+news@cis.ohio-state.edu>. | 2114 | 2003-06-06 Benjamin Rutt <rutt+news@cis.ohio-state.edu> |
| 2115 | 2115 | ||
| 2116 | * message.el (message-fetch-field): Augment documentation to state | 2116 | * message.el (message-fetch-field): Augment documentation to state |
| 2117 | the narrowed-to-headers restriction. | 2117 | the narrowed-to-headers restriction. |
| @@ -6816,7 +6816,7 @@ | |||
| 6816 | downloaded variable if we're in an uncovered group. | 6816 | downloaded variable if we're in an uncovered group. |
| 6817 | 6817 | ||
| 6818 | * gnus-agent.el (gnus-agent-downloaded-article-face): Change the | 6818 | * gnus-agent.el (gnus-agent-downloaded-article-face): Change the |
| 6819 | font to soemthing less noticeable. | 6819 | font to something less noticeable. |
| 6820 | (gnus-agent-group-covered-p): New function. | 6820 | (gnus-agent-group-covered-p): New function. |
| 6821 | 6821 | ||
| 6822 | 2002-12-09 ShengHuo ZHU <zsh@cs.rochester.edu> | 6822 | 2002-12-09 ShengHuo ZHU <zsh@cs.rochester.edu> |
| @@ -6972,7 +6972,7 @@ | |||
| 6972 | * gnus-agent.el (gnus-agent-check-overview-buffer): Make debugger | 6972 | * gnus-agent.el (gnus-agent-check-overview-buffer): Make debugger |
| 6973 | print message on entry. | 6973 | print message on entry. |
| 6974 | 6974 | ||
| 6975 | 2002-11-25 Kevin Greiner <kgreiner@xpediantsolutions.com>. | 6975 | 2002-11-25 Kevin Greiner <kgreiner@xpediantsolutions.com> |
| 6976 | 6976 | ||
| 6977 | * gnus-range.el (gnus-range-difference): New function. | 6977 | * gnus-range.el (gnus-range-difference): New function. |
| 6978 | * gnus-sum.el (gnus-summary-insert-old-articles): Use it. | 6978 | * gnus-sum.el (gnus-summary-insert-old-articles): Use it. |
| @@ -7964,7 +7964,7 @@ | |||
| 7964 | (mml2015-pgg-encrypt): New functions. | 7964 | (mml2015-pgg-encrypt): New functions. |
| 7965 | (defvar, autoload): Prevent byte-compile warnings. | 7965 | (defvar, autoload): Prevent byte-compile warnings. |
| 7966 | 7966 | ||
| 7967 | 2002-09-24 TSUCHIYA Masatoshi <tsuchiya@namazu.org>. | 7967 | 2002-09-24 TSUCHIYA Masatoshi <tsuchiya@namazu.org> |
| 7968 | 7968 | ||
| 7969 | * gnus-art.el (article-strip-banner): Check for the existence of | 7969 | * gnus-art.el (article-strip-banner): Check for the existence of |
| 7970 | from header. | 7970 | from header. |
| @@ -8097,7 +8097,7 @@ | |||
| 8097 | 8097 | ||
| 8098 | * gnus-sum.el (gnus-summary-next-group): Semi-exit only when needed. | 8098 | * gnus-sum.el (gnus-summary-next-group): Semi-exit only when needed. |
| 8099 | 8099 | ||
| 8100 | 2002-09-12 John Paul Wallington <jpw@shootybangbang.com>. | 8100 | 2002-09-12 John Paul Wallington <jpw@shootybangbang.com> |
| 8101 | 8101 | ||
| 8102 | * gnus.el (gnus-visual, gnus-meta): Fix typo. | 8102 | * gnus.el (gnus-visual, gnus-meta): Fix typo. |
| 8103 | 8103 | ||
| @@ -8111,7 +8111,7 @@ | |||
| 8111 | (nnimap-split-rule): Doc fix. | 8111 | (nnimap-split-rule): Doc fix. |
| 8112 | (nnimap-request-expire-articles): Cleanup code. | 8112 | (nnimap-request-expire-articles): Cleanup code. |
| 8113 | 8113 | ||
| 8114 | 2002-09-11 TSUCHIYA Masatoshi <tsuchiya@namazu.org>. | 8114 | 2002-09-11 TSUCHIYA Masatoshi <tsuchiya@namazu.org> |
| 8115 | 8115 | ||
| 8116 | * gnus-art.el (gnus-article-address-banner-alist): New option. | 8116 | * gnus-art.el (gnus-article-address-banner-alist): New option. |
| 8117 | (article-strip-banner): Refer the above option to split banners of | 8117 | (article-strip-banner): Refer the above option to split banners of |
| @@ -8170,7 +8170,7 @@ | |||
| 8170 | 8170 | ||
| 8171 | 2002-09-03 Simon Josefsson <jas@extundo.com> | 8171 | 2002-09-03 Simon Josefsson <jas@extundo.com> |
| 8172 | 8172 | ||
| 8173 | * nntp.el (nntp-wait-for-string): Dont infloop if process died. | 8173 | * nntp.el (nntp-wait-for-string): Don't infloop if process died. |
| 8174 | 8174 | ||
| 8175 | * gnus-agent.el (gnus-agent-batch): Add doc. | 8175 | * gnus-agent.el (gnus-agent-batch): Add doc. |
| 8176 | 8176 | ||
| @@ -8205,7 +8205,7 @@ | |||
| 8205 | (gnus-group-fetch-control): New function. | 8205 | (gnus-group-fetch-control): New function. |
| 8206 | Add them to the keymap and menu. Require mm-url. | 8206 | Add them to the keymap and menu. Require mm-url. |
| 8207 | 8207 | ||
| 8208 | 2002-08-30 Alex Schroeder <alex@emacswiki.org>. | 8208 | 2002-08-30 Alex Schroeder <alex@emacswiki.org> |
| 8209 | 8209 | ||
| 8210 | * gnus-mlspl.el (gnus-group-split-fancy): Doc fix. | 8210 | * gnus-mlspl.el (gnus-group-split-fancy): Doc fix. |
| 8211 | 8211 | ||
| @@ -8270,7 +8270,7 @@ | |||
| 8270 | 8270 | ||
| 8271 | * gnus-util.el (gnus-select-frame-set-input-focus): New function. | 8271 | * gnus-util.el (gnus-select-frame-set-input-focus): New function. |
| 8272 | 8272 | ||
| 8273 | 2002-08-20 $B>.4X(B $B5HB'(B (KOSEKI Yoshinori) <kose@meadowy.org>. | 8273 | 2002-08-20 $B>.4X(B $B5HB'(B (KOSEKI Yoshinori) <kose@meadowy.org> |
| 8274 | 8274 | ||
| 8275 | * message.el (message-set-auto-save-file-name): Add support for | 8275 | * message.el (message-set-auto-save-file-name): Add support for |
| 8276 | the Cygwin Emacs; the system-type is `cygwin'. | 8276 | the Cygwin Emacs; the system-type is `cygwin'. |
| @@ -8396,7 +8396,7 @@ | |||
| 8396 | * nnimap.el (nnimap-split-articles): Do not call nnmail-fetch-field | 8396 | * nnimap.el (nnimap-split-articles): Do not call nnmail-fetch-field |
| 8397 | when splitting malformed messages without message-id. | 8397 | when splitting malformed messages without message-id. |
| 8398 | 8398 | ||
| 8399 | 2002-07-28 Niklas Morberg <niklas.morberg@axis.com>. | 8399 | 2002-07-28 Niklas Morberg <niklas.morberg@axis.com> |
| 8400 | 8400 | ||
| 8401 | * nnweb.el (nnweb-type, nnweb-type-definition) | 8401 | * nnweb.el (nnweb-type, nnweb-type-definition) |
| 8402 | (nnweb-gmane-create-mapping, nnweb-gmane-wash-article) | 8402 | (nnweb-gmane-create-mapping, nnweb-gmane-wash-article) |
| @@ -8440,18 +8440,18 @@ | |||
| 8440 | nnmail-expiry-target to 'delete, so that absolute deletion | 8440 | nnmail-expiry-target to 'delete, so that absolute deletion |
| 8441 | happens when absolute deletion is requested. | 8441 | happens when absolute deletion is requested. |
| 8442 | 8442 | ||
| 8443 | 2002-07-21 Nevin Kapur <nevin@jhu.edu>. | 8443 | 2002-07-21 Nevin Kapur <nevin@jhu.edu> |
| 8444 | 8444 | ||
| 8445 | * nnmail.el (nnmail-fancy-expiry-target): Treat nonexisting | 8445 | * nnmail.el (nnmail-fancy-expiry-target): Treat nonexisting |
| 8446 | headers as empty headers. | 8446 | headers as empty headers. |
| 8447 | 8447 | ||
| 8448 | 2002-07-21 Jochen Hein <jochen@jochen.org>. | 8448 | 2002-07-21 Jochen Hein <jochen@jochen.org> |
| 8449 | 8449 | ||
| 8450 | * gnus-art.el (gnus-emphasis-alist): Add strikethrough and | 8450 | * gnus-art.el (gnus-emphasis-alist): Add strikethrough and |
| 8451 | correct typo. | 8451 | correct typo. |
| 8452 | (gnus-emphasis-strikethru): New face. | 8452 | (gnus-emphasis-strikethru): New face. |
| 8453 | 8453 | ||
| 8454 | 2002-07-20 Jason Merrill <jason@redhat.com>. | 8454 | 2002-07-20 Jason Merrill <jason@redhat.com> |
| 8455 | 8455 | ||
| 8456 | * nnfolder.el (nnfolder-retrieve-headers): Avoid searching the | 8456 | * nnfolder.el (nnfolder-retrieve-headers): Avoid searching the |
| 8457 | entire file for each of a sequence of missing articles. | 8457 | entire file for each of a sequence of missing articles. |
| @@ -9879,7 +9879,7 @@ | |||
| 9879 | (rfc2047-decode-region): Don't unfold. Let | 9879 | (rfc2047-decode-region): Don't unfold. Let |
| 9880 | gnus-article-treat-unfold-headers do it. | 9880 | gnus-article-treat-unfold-headers do it. |
| 9881 | 9881 | ||
| 9882 | 2002-02-07 Matt Armstrong <matt@lickey.com>. | 9882 | 2002-02-07 Matt Armstrong <matt@lickey.com> |
| 9883 | 9883 | ||
| 9884 | * message.el (message-mode): Set local-abbrev-table. | 9884 | * message.el (message-mode): Set local-abbrev-table. |
| 9885 | 9885 | ||
| @@ -10428,7 +10428,7 @@ | |||
| 10428 | * mml-sec.el (mml-secure-message-encrypt-smime): New. | 10428 | * mml-sec.el (mml-secure-message-encrypt-smime): New. |
| 10429 | * mml-sec.el (mml-secure-message-encrypt-pgp): New. | 10429 | * mml-sec.el (mml-secure-message-encrypt-pgp): New. |
| 10430 | * mml-sec.el (mml-secure-message-encrypt-pgpmime): New. | 10430 | * mml-sec.el (mml-secure-message-encrypt-pgpmime): New. |
| 10431 | * mml.el (mml-parse-1): Added code to recognise the secure tag and | 10431 | * mml.el (mml-parse-1): Added code to recognize the secure tag and |
| 10432 | convert it to either a part or multipart depending on if there are | 10432 | convert it to either a part or multipart depending on if there are |
| 10433 | other parts in the message. | 10433 | other parts in the message. |
| 10434 | * mml.el (mml-mode-map): Changed default sign/encrypt keybindings | 10434 | * mml.el (mml-mode-map): Changed default sign/encrypt keybindings |
| @@ -13226,7 +13226,7 @@ | |||
| 13226 | (gnus-topic-catchup-articles): New function. Suggested by Robin | 13226 | (gnus-topic-catchup-articles): New function. Suggested by Robin |
| 13227 | S. Socha <robin-dated-1001857693.185e29@socha.net>. | 13227 | S. Socha <robin-dated-1001857693.185e29@socha.net>. |
| 13228 | 13228 | ||
| 13229 | 2001-09-27 11:00:00 Gerd M,Av(Bllmann <gerd@gnu.org>. | 13229 | 2001-09-27 11:00:00 Gerd M,Av(Bllmann <gerd@gnu.org> |
| 13230 | 13230 | ||
| 13231 | * gnus-ems.el (gnus-article-display-xface): Insert xface after | 13231 | * gnus-ems.el (gnus-article-display-xface): Insert xface after |
| 13232 | previous ones. | 13232 | previous ones. |
| @@ -13977,7 +13977,7 @@ | |||
| 13977 | * mml.el (mml-menu): Changed name to "Attachments". | 13977 | * mml.el (mml-menu): Changed name to "Attachments". |
| 13978 | 13978 | ||
| 13979 | * mm-decode.el (mm-destroy-postponed-undisplay-list): Only message | 13979 | * mm-decode.el (mm-destroy-postponed-undisplay-list): Only message |
| 13980 | when there is something to detroy. | 13980 | when there is something to destroy. |
| 13981 | 13981 | ||
| 13982 | 2001-05-21 17:11:46 Lars Magne Ingebrigtsen <larsi@gnus.org> | 13982 | 2001-05-21 17:11:46 Lars Magne Ingebrigtsen <larsi@gnus.org> |
| 13983 | 13983 | ||
diff --git a/lisp/gnus/gnus-agent.el b/lisp/gnus/gnus-agent.el index 71f8cf82d39..bf7f31e6392 100644 --- a/lisp/gnus/gnus-agent.el +++ b/lisp/gnus/gnus-agent.el | |||
| @@ -1368,7 +1368,7 @@ downloaded into the agent." | |||
| 1368 | ;; disable the set read each time this server is opened. | 1368 | ;; disable the set read each time this server is opened. |
| 1369 | ;; NOTE: Opening this group will restore the valid local | 1369 | ;; NOTE: Opening this group will restore the valid local |
| 1370 | ;; range but it will also expand the local range to | 1370 | ;; range but it will also expand the local range to |
| 1371 | ;; incompass the new active range. | 1371 | ;; encompass the new active range. |
| 1372 | (gnus-agent-set-local group agent-min (1- active-min))))))) | 1372 | (gnus-agent-set-local group agent-min (1- active-min))))))) |
| 1373 | 1373 | ||
| 1374 | (defun gnus-agent-save-group-info (method group active) | 1374 | (defun gnus-agent-save-group-info (method group active) |
| @@ -3232,7 +3232,7 @@ FORCE is equivalent to setting the expiration predicates to true." | |||
| 3232 | 3232 | ||
| 3233 | ;; Convert the keep lists to elements that look like (article# | 3233 | ;; Convert the keep lists to elements that look like (article# |
| 3234 | ;; nil keep_flag nil) then append it to the expanded dlist | 3234 | ;; nil keep_flag nil) then append it to the expanded dlist |
| 3235 | ;; These statements are sorted by ascending precidence of the | 3235 | ;; These statements are sorted by ascending precedence of the |
| 3236 | ;; keep_flag. | 3236 | ;; keep_flag. |
| 3237 | (setq dlist (nconc dlist | 3237 | (setq dlist (nconc dlist |
| 3238 | (mapcar (lambda (e) | 3238 | (mapcar (lambda (e) |
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el index dd41947a2af..0abc802f558 100644 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el | |||
| @@ -4497,7 +4497,9 @@ commands: | |||
| 4497 | (defun gnus-article-setup-buffer () | 4497 | (defun gnus-article-setup-buffer () |
| 4498 | "Initialize the article buffer." | 4498 | "Initialize the article buffer." |
| 4499 | (let* ((name (if gnus-single-article-buffer "*Article*" | 4499 | (let* ((name (if gnus-single-article-buffer "*Article*" |
| 4500 | (concat "*Article " gnus-newsgroup-name "*"))) | 4500 | (concat "*Article " |
| 4501 | (gnus-group-decoded-name gnus-newsgroup-name) | ||
| 4502 | "*"))) | ||
| 4501 | (original | 4503 | (original |
| 4502 | (progn (string-match "\\*Article" name) | 4504 | (progn (string-match "\\*Article" name) |
| 4503 | (concat " *Original Article" | 4505 | (concat " *Original Article" |
diff --git a/lisp/gnus/gnus-dired.el b/lisp/gnus/gnus-dired.el index c38b0cd3606..b4d23ff579c 100644 --- a/lisp/gnus/gnus-dired.el +++ b/lisp/gnus/gnus-dired.el | |||
| @@ -251,7 +251,7 @@ file to save in." | |||
| 251 | (if (eq gnus-dired-mail-mode 'gnus-user-agent) | 251 | (if (eq gnus-dired-mail-mode 'gnus-user-agent) |
| 252 | (gnus-print-buffer) | 252 | (gnus-print-buffer) |
| 253 | ;; FIXME: | 253 | ;; FIXME: |
| 254 | (error "MIME print only implemeted via Gnus"))) | 254 | (error "MIME print only implemented via Gnus"))) |
| 255 | (ps-despool print-to)))) | 255 | (ps-despool print-to)))) |
| 256 | ((file-symlink-p file-name) | 256 | ((file-symlink-p file-name) |
| 257 | (error "File is a symlink to a nonexistent target")) | 257 | (error "File is a symlink to a nonexistent target")) |
diff --git a/lisp/gnus/gnus-group.el b/lisp/gnus/gnus-group.el index 4c527caff5c..6f146644115 100644 --- a/lisp/gnus/gnus-group.el +++ b/lisp/gnus/gnus-group.el | |||
| @@ -1361,7 +1361,7 @@ if it is a string, only list groups matching REGEXP." | |||
| 1361 | ; We list groups with unread articles | 1361 | ; We list groups with unread articles |
| 1362 | (and gnus-list-groups-with-ticked-articles | 1362 | (and gnus-list-groups-with-ticked-articles |
| 1363 | (cdr (assq 'tick (gnus-info-marks info)))) | 1363 | (cdr (assq 'tick (gnus-info-marks info)))) |
| 1364 | ; And groups with tickeds | 1364 | ; And groups with ticked articles |
| 1365 | ;; Check for permanent visibility. | 1365 | ;; Check for permanent visibility. |
| 1366 | (and gnus-permanently-visible-groups | 1366 | (and gnus-permanently-visible-groups |
| 1367 | (string-match gnus-permanently-visible-groups | 1367 | (string-match gnus-permanently-visible-groups |
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el index 08f5e44e13f..7cea88e7f54 100644 --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el | |||
| @@ -364,7 +364,7 @@ newsgroups, set the variable to nil in `gnus-select-group-hook'." | |||
| 364 | This variable can either be the symbols `first' (place point on the | 364 | This variable can either be the symbols `first' (place point on the |
| 365 | first subject), `unread' (place point on the subject line of the first | 365 | first subject), `unread' (place point on the subject line of the first |
| 366 | unread article), `best' (place point on the subject line of the | 366 | unread article), `best' (place point on the subject line of the |
| 367 | higest-scored article), `unseen' (place point on the subject line of | 367 | highest-scored article), `unseen' (place point on the subject line of |
| 368 | the first unseen article), `unseen-or-unread' (place point on the subject | 368 | the first unseen article), `unseen-or-unread' (place point on the subject |
| 369 | line of the first unseen article or, if all articles have been seen, on the | 369 | line of the first unseen article or, if all articles have been seen, on the |
| 370 | subject line of the first unread article), or a function to be called to | 370 | subject line of the first unread article), or a function to be called to |
| @@ -1657,7 +1657,7 @@ For example: | |||
| 1657 | 1657 | ||
| 1658 | This variable is a list of FUNCTION or (REGEXP . FUNCTION). If item | 1658 | This variable is a list of FUNCTION or (REGEXP . FUNCTION). If item |
| 1659 | is FUNCTION, FUNCTION will be apply to all newsgroups. If item is a | 1659 | is FUNCTION, FUNCTION will be apply to all newsgroups. If item is a |
| 1660 | \(REGEXP . FUNCTION), FUNCTION will be only apply to thes newsgroups | 1660 | \(REGEXP . FUNCTION), FUNCTION will be applied only to the newsgroups |
| 1661 | whose names match REGEXP. | 1661 | whose names match REGEXP. |
| 1662 | 1662 | ||
| 1663 | For example: | 1663 | For example: |
diff --git a/lisp/gnus/mail-parse.el b/lisp/gnus/mail-parse.el index 06aac776486..0fcc206cf71 100644 --- a/lisp/gnus/mail-parse.el +++ b/lisp/gnus/mail-parse.el | |||
| @@ -22,7 +22,7 @@ | |||
| 22 | 22 | ||
| 23 | ;; This file contains wrapper functions for a wide range of mail | 23 | ;; This file contains wrapper functions for a wide range of mail |
| 24 | ;; parsing functions. The idea is that there are low-level libraries | 24 | ;; parsing functions. The idea is that there are low-level libraries |
| 25 | ;; that impement according to various specs (RFC2231, DRUMS, USEFOR), | 25 | ;; that implement according to various specs (RFC2231, DRUMS, USEFOR), |
| 26 | ;; but that programmers that want to parse some header (say, | 26 | ;; but that programmers that want to parse some header (say, |
| 27 | ;; Content-Type) will want to use the latest spec. | 27 | ;; Content-Type) will want to use the latest spec. |
| 28 | ;; | 28 | ;; |
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index 176857633e1..5d82faee20d 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el | |||
| @@ -7167,7 +7167,7 @@ header line with the old Message-ID." | |||
| 7167 | 7167 | ||
| 7168 | (defun message-wash-subject (subject) | 7168 | (defun message-wash-subject (subject) |
| 7169 | "Remove junk like \"Re:\", \"(fwd)\", etc. added to subject string SUBJECT. | 7169 | "Remove junk like \"Re:\", \"(fwd)\", etc. added to subject string SUBJECT. |
| 7170 | Previous forwarders, replyers, etc. may add it." | 7170 | Previous forwarders, repliers, etc. may add it." |
| 7171 | (with-temp-buffer | 7171 | (with-temp-buffer |
| 7172 | (insert subject) | 7172 | (insert subject) |
| 7173 | (goto-char (point-min)) | 7173 | (goto-char (point-min)) |
diff --git a/lisp/gnus/mm-util.el b/lisp/gnus/mm-util.el index d57b61dac83..129609df10d 100644 --- a/lisp/gnus/mm-util.el +++ b/lisp/gnus/mm-util.el | |||
| @@ -956,7 +956,7 @@ This is a no-op in XEmacs." | |||
| 956 | 956 | ||
| 957 | (defun mm-charset-after (&optional pos) | 957 | (defun mm-charset-after (&optional pos) |
| 958 | "Return charset of a character in current buffer at position POS. | 958 | "Return charset of a character in current buffer at position POS. |
| 959 | If POS is nil, it defauls to the current point. | 959 | If POS is nil, it defaults to the current point. |
| 960 | If POS is out of range, the value is nil. | 960 | If POS is out of range, the value is nil. |
| 961 | If the charset is `composition', return the actual one." | 961 | If the charset is `composition', return the actual one." |
| 962 | (let ((char (char-after pos)) charset) | 962 | (let ((char (char-after pos)) charset) |
diff --git a/lisp/gnus/mm-view.el b/lisp/gnus/mm-view.el index 6358e34176f..854ca3497da 100644 --- a/lisp/gnus/mm-view.el +++ b/lisp/gnus/mm-view.el | |||
| @@ -566,6 +566,8 @@ | |||
| 566 | (face-property 'default prop) (current-buffer)))) | 566 | (face-property 'default prop) (current-buffer)))) |
| 567 | (delete-region ,(point-min-marker) ,(point-max-marker))))))))) | 567 | (delete-region ,(point-min-marker) ,(point-max-marker))))))))) |
| 568 | 568 | ||
| 569 | ;; Shut up byte-compiler. | ||
| 570 | (defvar font-lock-mode-hook) | ||
| 569 | (defun mm-display-inline-fontify (handle &optional mode) | 571 | (defun mm-display-inline-fontify (handle &optional mode) |
| 570 | "Insert HANDLE inline fontifying with MODE. | 572 | "Insert HANDLE inline fontifying with MODE. |
| 571 | If MODE is not set, try to find mode automatically." | 573 | If MODE is not set, try to find mode automatically." |
| @@ -597,25 +599,25 @@ If MODE is not set, try to find mode automatically." | |||
| 597 | (t | 599 | (t |
| 598 | text))) | 600 | text))) |
| 599 | (require 'font-lock) | 601 | (require 'font-lock) |
| 600 | (let ((font-lock-maximum-size nil) | 602 | ;; I find font-lock a bit too verbose. |
| 601 | ;; Disable support modes, e.g., jit-lock, lazy-lock, etc. | 603 | (let ((font-lock-verbose nil)) |
| 602 | (font-lock-mode-hook nil) | 604 | ;; Disable support modes, e.g., jit-lock, lazy-lock, etc. |
| 603 | (font-lock-support-mode nil) | 605 | (set (make-local-variable 'font-lock-mode-hook) nil) |
| 604 | ;; I find font-lock a bit too verbose. | 606 | (set (make-local-variable 'font-lock-support-mode) nil) |
| 605 | (font-lock-verbose nil)) | ||
| 606 | (setq buffer-file-name (mm-handle-filename handle)) | 607 | (setq buffer-file-name (mm-handle-filename handle)) |
| 607 | (set (make-local-variable 'enable-local-variables) nil) | 608 | (set (make-local-variable 'enable-local-variables) nil) |
| 608 | (if mode | 609 | (with-demoted-errors |
| 609 | (funcall mode) | 610 | (if mode |
| 610 | (let ((auto-mode-alist | 611 | (funcall mode) |
| 611 | (delq (rassq 'doc-view-mode-maybe auto-mode-alist) | 612 | (let ((auto-mode-alist |
| 612 | (copy-sequence auto-mode-alist)))) | 613 | (delq (rassq 'doc-view-mode-maybe auto-mode-alist) |
| 613 | (set-auto-mode))) | 614 | (copy-sequence auto-mode-alist)))) |
| 614 | ;; The mode function might have already turned on font-lock. | 615 | (set-auto-mode))) |
| 615 | ;; Do not fontify if the guess mode is fundamental. | 616 | ;; The mode function might have already turned on font-lock. |
| 616 | (unless (or (symbol-value 'font-lock-mode) | 617 | ;; Do not fontify if the guess mode is fundamental. |
| 617 | (eq major-mode 'fundamental-mode)) | 618 | (unless (or (symbol-value 'font-lock-mode) |
| 618 | (font-lock-fontify-buffer))) | 619 | (eq major-mode 'fundamental-mode)) |
| 620 | (font-lock-fontify-buffer)))) | ||
| 619 | ;; By default, XEmacs font-lock uses non-duplicable text | 621 | ;; By default, XEmacs font-lock uses non-duplicable text |
| 620 | ;; properties. This code forces all the text properties | 622 | ;; properties. This code forces all the text properties |
| 621 | ;; to be copied along with the text. | 623 | ;; to be copied along with the text. |
diff --git a/lisp/gnus/nndiary.el b/lisp/gnus/nndiary.el index a798e22902f..043356ca841 100644 --- a/lisp/gnus/nndiary.el +++ b/lisp/gnus/nndiary.el | |||
| @@ -55,7 +55,7 @@ | |||
| 55 | 55 | ||
| 56 | ;; * nnoo. NNDiary is very similar to nnml. This makes the idea of using nnoo | 56 | ;; * nnoo. NNDiary is very similar to nnml. This makes the idea of using nnoo |
| 57 | ;; (to derive nndiary from nnml) natural. However, my experience with nnoo | 57 | ;; (to derive nndiary from nnml) natural. However, my experience with nnoo |
| 58 | ;; is that for reasonably complex back ends like this one, noo is a burden | 58 | ;; is that for reasonably complex back ends like this one, nnoo is a burden |
| 59 | ;; rather than an help. It's tricky to use, not everything can be inherited, | 59 | ;; rather than an help. It's tricky to use, not everything can be inherited, |
| 60 | ;; what can be inherited and when is not very clear, and you've got to be | 60 | ;; what can be inherited and when is not very clear, and you've got to be |
| 61 | ;; very careful because a little mistake can fuck up your other back ends, | 61 | ;; very careful because a little mistake can fuck up your other back ends, |
| @@ -1320,7 +1320,7 @@ all. This may very well take some time.") | |||
| 1320 | (or minute (setq minute 59)) | 1320 | (or minute (setq minute 59)) |
| 1321 | (or hour (setq hour 23)) | 1321 | (or hour (setq hour 23)) |
| 1322 | ;; I'll just compute all possible values and test them by decreasing | 1322 | ;; I'll just compute all possible values and test them by decreasing |
| 1323 | ;; order until one succeeds. This is probably quide rude, but I got | 1323 | ;; order until one succeeds. This is probably quite rude, but I got |
| 1324 | ;; bored in finding a good algorithm for doing that ;-) | 1324 | ;; bored in finding a good algorithm for doing that ;-) |
| 1325 | ;; ### FIXME: remove identical entries. | 1325 | ;; ### FIXME: remove identical entries. |
| 1326 | (let ((dom-list (nth 2 sched)) | 1326 | (let ((dom-list (nth 2 sched)) |
diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el index cda17ba57c6..b4e6e31fae4 100644 --- a/lisp/gnus/nnimap.el +++ b/lisp/gnus/nnimap.el | |||
| @@ -1035,7 +1035,7 @@ textual parts.") | |||
| 1035 | ((eq action 'set) "")) | 1035 | ((eq action 'set) "")) |
| 1036 | (mapconcat #'identity flags " "))))))) | 1036 | (mapconcat #'identity flags " "))))))) |
| 1037 | ;; Wait for the last command to complete to avoid later | 1037 | ;; Wait for the last command to complete to avoid later |
| 1038 | ;; syncronisation problems with the stream. | 1038 | ;; synchronization problems with the stream. |
| 1039 | (when sequence | 1039 | (when sequence |
| 1040 | (nnimap-wait-for-response sequence)))))) | 1040 | (nnimap-wait-for-response sequence)))))) |
| 1041 | 1041 | ||
diff --git a/lisp/gnus/nnir.el b/lisp/gnus/nnir.el index 88fd4fe1ff6..78d2478b4fb 100644 --- a/lisp/gnus/nnir.el +++ b/lisp/gnus/nnir.el | |||
| @@ -1269,7 +1269,7 @@ Tested with swish-e-2.0.1 on Windows NT 4.0." | |||
| 1269 | ;; nnir-search failure reason is in this buffer, show it if | 1269 | ;; nnir-search failure reason is in this buffer, show it if |
| 1270 | ;; the user wants it. | 1270 | ;; the user wants it. |
| 1271 | (when (> gnus-verbose 6) | 1271 | (when (> gnus-verbose 6) |
| 1272 | (display-buffer nnir-tmp-buffer)))) ;; FIXME: Dont clear buffer ! | 1272 | (display-buffer nnir-tmp-buffer)))) ;; FIXME: Don't clear buffer ! |
| 1273 | (message "Doing hyrex-search query \"%s\"...done" qstring) | 1273 | (message "Doing hyrex-search query \"%s\"...done" qstring) |
| 1274 | (sit-for 0) | 1274 | (sit-for 0) |
| 1275 | ;; nnir-search returns: | 1275 | ;; nnir-search returns: |
diff --git a/lisp/gnus/nnmail.el b/lisp/gnus/nnmail.el index d83467a1ed5..93e8544b633 100644 --- a/lisp/gnus/nnmail.el +++ b/lisp/gnus/nnmail.el | |||
| @@ -1799,7 +1799,7 @@ See the Info node `(gnus)Fancy Mail Splitting' for more details." | |||
| 1799 | (i 0) | 1799 | (i 0) |
| 1800 | (new 0) | 1800 | (new 0) |
| 1801 | (total 0) | 1801 | (total 0) |
| 1802 | incoming incomings source) | 1802 | source) |
| 1803 | (when (and (nnmail-get-value "%s-get-new-mail" method) | 1803 | (when (and (nnmail-get-value "%s-get-new-mail" method) |
| 1804 | sources) | 1804 | sources) |
| 1805 | (while (setq source (pop sources)) | 1805 | (while (setq source (pop sources)) |
diff --git a/lisp/gnus/nnmairix.el b/lisp/gnus/nnmairix.el index 9d6011e6573..4ad9d11f906 100644 --- a/lisp/gnus/nnmairix.el +++ b/lisp/gnus/nnmairix.el | |||
| @@ -204,7 +204,7 @@ | |||
| 204 | (add-hook 'gnus-summary-mode-hook 'nnmairix-summary-mode-hook) | 204 | (add-hook 'gnus-summary-mode-hook 'nnmairix-summary-mode-hook) |
| 205 | 205 | ||
| 206 | ;; ;;;###autoload | 206 | ;; ;;;###autoload |
| 207 | ;; (defun nnmairix-initalize (&optional force) | 207 | ;; (defun nnmairix-initialize (&optional force) |
| 208 | ;; (interactive "P") | 208 | ;; (interactive "P") |
| 209 | ;; (if (not (or (file-readable-p "~/.mairixrc") | 209 | ;; (if (not (or (file-readable-p "~/.mairixrc") |
| 210 | ;; force)) | 210 | ;; force)) |
| @@ -333,7 +333,7 @@ can happen are wrong marks in nnmairix groups." | |||
| 333 | "Use only the registry for determining original group(s). | 333 | "Use only the registry for determining original group(s). |
| 334 | If set to t, nnmairix will only use the registry for determining | 334 | If set to t, nnmairix will only use the registry for determining |
| 335 | the original group(s) of an article (which is also necessary for | 335 | the original group(s) of an article (which is also necessary for |
| 336 | propapagting marks). If set to nil, it will also try to determine | 336 | propagating marks). If set to nil, it will also try to determine |
| 337 | the group from an additional mairix search which might be slow | 337 | the group from an additional mairix search which might be slow |
| 338 | when propagating lots of marks." | 338 | when propagating lots of marks." |
| 339 | :version "23.1" | 339 | :version "23.1" |
| @@ -512,7 +512,7 @@ Other back ends might or might not work.") | |||
| 512 | ;; Everything else is an error | 512 | ;; Everything else is an error |
| 513 | (t | 513 | (t |
| 514 | (nnheader-report | 514 | (nnheader-report |
| 515 | 'nnmairix "Error running marix. See buffer %s for details" | 515 | 'nnmairix "Error running mairix. See buffer %s for details" |
| 516 | nnmairix-mairix-output-buffer) | 516 | nnmairix-mairix-output-buffer) |
| 517 | nil)))))) | 517 | nil)))))) |
| 518 | 518 | ||
diff --git a/lisp/gnus/nntp.el b/lisp/gnus/nntp.el index 325aa67f80d..9816c208fab 100644 --- a/lisp/gnus/nntp.el +++ b/lisp/gnus/nntp.el | |||
| @@ -1681,7 +1681,7 @@ password contained in '~/.nntp-authinfo'." | |||
| 1681 | ;; for the first available article. Obviously, a client can | 1681 | ;; for the first available article. Obviously, a client can |
| 1682 | ;; use that entry to avoid making unnecessary requests. The | 1682 | ;; use that entry to avoid making unnecessary requests. The |
| 1683 | ;; only problem is for a client that assumes that the response | 1683 | ;; only problem is for a client that assumes that the response |
| 1684 | ;; will always be within the requested ranage. For such a | 1684 | ;; will always be within the requested range. For such a |
| 1685 | ;; client, we can get N copies of the same entry (one for each | 1685 | ;; client, we can get N copies of the same entry (one for each |
| 1686 | ;; XOVER command sent to the server). | 1686 | ;; XOVER command sent to the server). |
| 1687 | 1687 | ||
diff --git a/lisp/gnus/shr.el b/lisp/gnus/shr.el index 7b9af3302af..119d8e0a7f3 100644 --- a/lisp/gnus/shr.el +++ b/lisp/gnus/shr.el | |||
| @@ -53,17 +53,17 @@ fit these criteria." | |||
| 53 | :group 'shr | 53 | :group 'shr |
| 54 | :type 'regexp) | 54 | :type 'regexp) |
| 55 | 55 | ||
| 56 | (defcustom shr-table-horizontal-line ? | 56 | (defcustom shr-table-horizontal-line ? ; space |
| 57 | "Character used to draw horizontal table lines." | 57 | "Character used to draw horizontal table lines." |
| 58 | :group 'shr | 58 | :group 'shr |
| 59 | :type 'character) | 59 | :type 'character) |
| 60 | 60 | ||
| 61 | (defcustom shr-table-vertical-line ? | 61 | (defcustom shr-table-vertical-line ? ; space |
| 62 | "Character used to draw vertical table lines." | 62 | "Character used to draw vertical table lines." |
| 63 | :group 'shr | 63 | :group 'shr |
| 64 | :type 'character) | 64 | :type 'character) |
| 65 | 65 | ||
| 66 | (defcustom shr-table-corner ? | 66 | (defcustom shr-table-corner ? ; space |
| 67 | "Character used to draw table corners." | 67 | "Character used to draw table corners." |
| 68 | :group 'shr | 68 | :group 'shr |
| 69 | :type 'character) | 69 | :type 'character) |
| @@ -583,7 +583,7 @@ Return a string with image data." | |||
| 583 | "Return a function to display an image. | 583 | "Return a function to display an image. |
| 584 | CONTENT-FUNCTION is a function to retrieve an image for a cid url that | 584 | CONTENT-FUNCTION is a function to retrieve an image for a cid url that |
| 585 | is an argument. The function to be returned takes three arguments URL, | 585 | is an argument. The function to be returned takes three arguments URL, |
| 586 | START, and END. Note that START and END should be merkers." | 586 | START, and END. Note that START and END should be markers." |
| 587 | `(lambda (url start end) | 587 | `(lambda (url start end) |
| 588 | (when url | 588 | (when url |
| 589 | (if (string-match "\\`cid:" url) | 589 | (if (string-match "\\`cid:" url) |
diff --git a/lisp/gnus/sieve-manage.el b/lisp/gnus/sieve-manage.el index 5c2e775a211..a0c1d4f108b 100644 --- a/lisp/gnus/sieve-manage.el +++ b/lisp/gnus/sieve-manage.el | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | ;;; sieve-manage.el --- Implementation of the managesive protocol in elisp | 1 | ;;; sieve-manage.el --- Implementation of the managesieve protocol in elisp |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2001-2011 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2001-2011 Free Software Foundation, Inc. |
| 4 | 4 | ||
diff --git a/lisp/gnus/smime.el b/lisp/gnus/smime.el index 128bda6f516..3c1f75f3dc9 100644 --- a/lisp/gnus/smime.el +++ b/lisp/gnus/smime.el | |||
| @@ -99,7 +99,7 @@ | |||
| 99 | ;; | 99 | ;; |
| 100 | ;; I would include pointers to introductory text on concepts used in | 100 | ;; I would include pointers to introductory text on concepts used in |
| 101 | ;; this library here, but the material I've read are so horrible I | 101 | ;; this library here, but the material I've read are so horrible I |
| 102 | ;; don't want to recomend them. | 102 | ;; don't want to recommend them. |
| 103 | ;; | 103 | ;; |
| 104 | ;; Why can't someone write a simple introduction to all this stuff? | 104 | ;; Why can't someone write a simple introduction to all this stuff? |
| 105 | ;; Until then, much of this resemble security by obscurity. | 105 | ;; Until then, much of this resemble security by obscurity. |
| @@ -180,7 +180,7 @@ File should contain certificates in PEM format." | |||
| 180 | (defcustom smime-certificate-directory "~/Mail/certs/" | 180 | (defcustom smime-certificate-directory "~/Mail/certs/" |
| 181 | "*Directory containing other people's certificates. | 181 | "*Directory containing other people's certificates. |
| 182 | It should contain files named to the X.509 hash of the certificate, | 182 | It should contain files named to the X.509 hash of the certificate, |
| 183 | and the files themself should be in PEM format." | 183 | and the files themselves should be in PEM format." |
| 184 | ;The S/MIME library provide simple functionality for fetching | 184 | ;The S/MIME library provide simple functionality for fetching |
| 185 | ;certificates into this directory, so there is no need to populate it | 185 | ;certificates into this directory, so there is no need to populate it |
| 186 | ;manually. | 186 | ;manually. |
diff --git a/lisp/gnus/spam-report.el b/lisp/gnus/spam-report.el index 95b5fb578f4..6c94dbdd2c4 100644 --- a/lisp/gnus/spam-report.el +++ b/lisp/gnus/spam-report.el | |||
| @@ -102,7 +102,7 @@ Reports is as ham when HAM is set." | |||
| 102 | (customize-set-variable | 102 | (customize-set-variable |
| 103 | spam-report-resend-to | 103 | spam-report-resend-to |
| 104 | (read-from-minibuffer "email address to resend SPAM/HAM to? "))) | 104 | (read-from-minibuffer "email address to resend SPAM/HAM to? "))) |
| 105 | ;; This is ganked from the `gnus-summary-resend-message' function. | 105 | ;; This is yanked from the `gnus-summary-resend-message' function. |
| 106 | ;; It involves rendering the SPAM, which is undesirable, but there does | 106 | ;; It involves rendering the SPAM, which is undesirable, but there does |
| 107 | ;; not seem to be a nicer way to achieve this. | 107 | ;; not seem to be a nicer way to achieve this. |
| 108 | ;; select this particular article | 108 | ;; select this particular article |
diff --git a/lisp/gnus/spam.el b/lisp/gnus/spam.el index fa152f688c4..869dbc9bc0e 100644 --- a/lisp/gnus/spam.el +++ b/lisp/gnus/spam.el | |||
| @@ -156,7 +156,7 @@ last rule in your split configuration." | |||
| 156 | :group 'spam) | 156 | :group 'spam) |
| 157 | 157 | ||
| 158 | (defcustom spam-autodetect-recheck-messages nil | 158 | (defcustom spam-autodetect-recheck-messages nil |
| 159 | "Should spam.el recheck all meessages when autodetecting? | 159 | "Should spam.el recheck all messages when autodetecting? |
| 160 | Normally this is nil, so only unseen messages will be checked." | 160 | Normally this is nil, so only unseen messages will be checked." |
| 161 | :type 'boolean | 161 | :type 'boolean |
| 162 | :group 'spam) | 162 | :group 'spam) |
diff --git a/lisp/help-mode.el b/lisp/help-mode.el index 5d67a6c4f4c..5906683071b 100644 --- a/lisp/help-mode.el +++ b/lisp/help-mode.el | |||
| @@ -141,7 +141,7 @@ The format is (FUNCTION ARGS...).") | |||
| 141 | 'help-function 'describe-character-set | 141 | 'help-function 'describe-character-set |
| 142 | 'help-echo (purecopy "mouse-2, RET: describe this character set")) | 142 | 'help-echo (purecopy "mouse-2, RET: describe this character set")) |
| 143 | 143 | ||
| 144 | ;; make some more ideosyncratic button types | 144 | ;; Make some more idiosyncratic button types. |
| 145 | 145 | ||
| 146 | (define-button-type 'help-symbol | 146 | (define-button-type 'help-symbol |
| 147 | :supertype 'help-xref | 147 | :supertype 'help-xref |
diff --git a/lisp/hippie-exp.el b/lisp/hippie-exp.el index 75bc1f9743c..69da8fc6110 100644 --- a/lisp/hippie-exp.el +++ b/lisp/hippie-exp.el | |||
| @@ -391,7 +391,7 @@ undoes the expansion." | |||
| 391 | lst))) | 391 | lst))) |
| 392 | 392 | ||
| 393 | ;; Check if current buffer matches any atom or regexp in LST. | 393 | ;; Check if current buffer matches any atom or regexp in LST. |
| 394 | ;; Atoms are interpreted as major modes, strings as regexps mathing the name. | 394 | ;; Atoms are interpreted as major modes, strings as regexps matching the name. |
| 395 | (defun he-buffer-member (lst) | 395 | (defun he-buffer-member (lst) |
| 396 | (or (memq major-mode lst) | 396 | (or (memq major-mode lst) |
| 397 | (progn | 397 | (progn |
diff --git a/lisp/htmlfontify.el b/lisp/htmlfontify.el index cd9f1fa6b43..056115f57b7 100644 --- a/lisp/htmlfontify.el +++ b/lisp/htmlfontify.el | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | ;;; htmlfontify.el --- htmlise a buffer/source tree with optional hyperlinks | 1 | ;;; htmlfontify.el --- htmlize a buffer/source tree with optional hyperlinks |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2002-2003, 2009-2011 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2002-2003, 2009-2011 Free Software Foundation, Inc. |
| 4 | 4 | ||
| @@ -10,7 +10,7 @@ | |||
| 10 | ;; Author: Vivek Dasmohapatra <vivek@etla.org> | 10 | ;; Author: Vivek Dasmohapatra <vivek@etla.org> |
| 11 | ;; Maintainer: Vivek Dasmohapatra <vivek@etla.org> | 11 | ;; Maintainer: Vivek Dasmohapatra <vivek@etla.org> |
| 12 | ;; Created: 2002-01-05 | 12 | ;; Created: 2002-01-05 |
| 13 | ;; Description: htmlise a buffer/source tree with optional hyperlinks | 13 | ;; Description: htmlize a buffer/source tree with optional hyperlinks |
| 14 | ;; URL: http://rtfm.etla.org/emacs/htmlfontify/ | 14 | ;; URL: http://rtfm.etla.org/emacs/htmlfontify/ |
| 15 | ;; Compatibility: Emacs23, Emacs22 | 15 | ;; Compatibility: Emacs23, Emacs22 |
| 16 | ;; Incompatibility: Emacs19, Emacs20, Emacs21 | 16 | ;; Incompatibility: Emacs19, Emacs20, Emacs21 |
| @@ -1576,7 +1576,7 @@ FILE, if set, is the file name." | |||
| 1576 | (delete-overlay rovl)) | 1576 | (delete-overlay rovl)) |
| 1577 | (copy-to-buffer html-buffer (point-min) (point-max)) | 1577 | (copy-to-buffer html-buffer (point-min) (point-max)) |
| 1578 | (set-buffer html-buffer) | 1578 | (set-buffer html-buffer) |
| 1579 | ;; rip out props that could interfere with our htmlisation of the buffer: | 1579 | ;; rip out props that could interfere with our htmlization of the buffer: |
| 1580 | (remove-text-properties (point-min) (point-max) hfy-ignored-properties) | 1580 | (remove-text-properties (point-min) (point-max) hfy-ignored-properties) |
| 1581 | ;; Apply overlay invisible spec | 1581 | ;; Apply overlay invisible spec |
| 1582 | (setq orig-ovls | 1582 | (setq orig-ovls |
| @@ -1774,7 +1774,7 @@ Strips any leading \"./\" from each filename." | |||
| 1774 | (split-string (shell-command-to-string hfy-find-cmd))) ) | 1774 | (split-string (shell-command-to-string hfy-find-cmd))) ) |
| 1775 | 1775 | ||
| 1776 | ;; strip the filename off, return a directory name | 1776 | ;; strip the filename off, return a directory name |
| 1777 | ;; not a particularly thorough implementaion, but it will be | 1777 | ;; not a particularly thorough implementation, but it will be |
| 1778 | ;; fed pretty carefully, so it should be Ok: | 1778 | ;; fed pretty carefully, so it should be Ok: |
| 1779 | (defun hfy-dirname (file) | 1779 | (defun hfy-dirname (file) |
| 1780 | "Return everything preceding the last \"/\" from a relative filename FILE, | 1780 | "Return everything preceding the last \"/\" from a relative filename FILE, |
| @@ -2026,13 +2026,13 @@ FILE is the specific file we are rendering." | |||
| 2026 | (hash-entry nil) (tag-string nil) (tag-line nil) | 2026 | (hash-entry nil) (tag-string nil) (tag-line nil) |
| 2027 | (tag-point nil) (new-entry nil) (etags-file nil)) | 2027 | (tag-point nil) (new-entry nil) (etags-file nil)) |
| 2028 | 2028 | ||
| 2029 | ;; (re)initialise the tag reverse map: | 2029 | ;; (re)initialize the tag reverse map: |
| 2030 | (if trmap-cache (setq trmap-hash (cadr trmap-cache)) | 2030 | (if trmap-cache (setq trmap-hash (cadr trmap-cache)) |
| 2031 | (setq trmap-hash (make-hash-table :test 'equal)) | 2031 | (setq trmap-hash (make-hash-table :test 'equal)) |
| 2032 | (setq hfy-tags-rmap (list (list srcdir trmap-hash) hfy-tags-rmap))) | 2032 | (setq hfy-tags-rmap (list (list srcdir trmap-hash) hfy-tags-rmap))) |
| 2033 | (clrhash trmap-hash) | 2033 | (clrhash trmap-hash) |
| 2034 | 2034 | ||
| 2035 | ;; (re)initialise the tag cache: | 2035 | ;; (re)initialize the tag cache: |
| 2036 | (if cache-entry (setq cache-hash (cadr cache-entry)) | 2036 | (if cache-entry (setq cache-hash (cadr cache-entry)) |
| 2037 | (setq cache-hash (make-hash-table :test 'equal)) | 2037 | (setq cache-hash (make-hash-table :test 'equal)) |
| 2038 | (setq hfy-tags-cache (list (list srcdir cache-hash) hfy-tags-cache))) | 2038 | (setq hfy-tags-cache (list (list srcdir cache-hash) hfy-tags-cache))) |
diff --git a/lisp/ido.el b/lisp/ido.el index 6af431a2882..f425fd5fc63 100644 --- a/lisp/ido.el +++ b/lisp/ido.el | |||
| @@ -770,7 +770,7 @@ can be completed using TAB, | |||
| 770 | (defcustom ido-use-virtual-buffers nil | 770 | (defcustom ido-use-virtual-buffers nil |
| 771 | "If non-nil, refer to past buffers as well as existing ones. | 771 | "If non-nil, refer to past buffers as well as existing ones. |
| 772 | Essentially it works as follows: Say you are visiting a file and | 772 | Essentially it works as follows: Say you are visiting a file and |
| 773 | the buffer gets cleaned up by mignight.el. Later, you want to | 773 | the buffer gets cleaned up by midnight.el. Later, you want to |
| 774 | switch to that buffer, but find it's no longer open. With | 774 | switch to that buffer, but find it's no longer open. With |
| 775 | virtual buffers enabled, the buffer name stays in the buffer | 775 | virtual buffers enabled, the buffer name stays in the buffer |
| 776 | list (using the `ido-virtual' face, and always at the end), and if | 776 | list (using the `ido-virtual' face, and always at the end), and if |
diff --git a/lisp/image-dired.el b/lisp/image-dired.el index 8c151d35ed2..4a164dfaa42 100644 --- a/lisp/image-dired.el +++ b/lisp/image-dired.el | |||
| @@ -469,7 +469,7 @@ For more information, see the documentation for | |||
| 469 | If non-nil, using `image-dired-next-line-and-display' and | 469 | If non-nil, using `image-dired-next-line-and-display' and |
| 470 | `image-dired-previous-line-and-display' will leave a trail of thumbnail | 470 | `image-dired-previous-line-and-display' will leave a trail of thumbnail |
| 471 | images in the thumbnail buffer. If you enable this and want to clean | 471 | images in the thumbnail buffer. If you enable this and want to clean |
| 472 | the thumbnail buffer because it is filled with too many thumbmnails, | 472 | the thumbnail buffer because it is filled with too many thumbnails, |
| 473 | just call `image-dired-display-thumb' to display only the image at point. | 473 | just call `image-dired-display-thumb' to display only the image at point. |
| 474 | This value can be toggled using `image-dired-toggle-append-browsing'." | 474 | This value can be toggled using `image-dired-toggle-append-browsing'." |
| 475 | :type 'boolean | 475 | :type 'boolean |
| @@ -1605,7 +1605,7 @@ With prefix argument ARG, create thumbnails even if they already exist | |||
| 1605 | (setq thumb-name (image-dired-thumb-name curr-file)) | 1605 | (setq thumb-name (image-dired-thumb-name curr-file)) |
| 1606 | ;; If the user overrides the exist check, we must clear the | 1606 | ;; If the user overrides the exist check, we must clear the |
| 1607 | ;; image cache so that if the user wants to display the | 1607 | ;; image cache so that if the user wants to display the |
| 1608 | ;; thumnail, it is not fetched from cache. | 1608 | ;; thumbnail, it is not fetched from cache. |
| 1609 | (if arg | 1609 | (if arg |
| 1610 | (clear-image-cache)) | 1610 | (clear-image-cache)) |
| 1611 | (if (or (not (file-exists-p thumb-name)) | 1611 | (if (or (not (file-exists-p thumb-name)) |
| @@ -2043,7 +2043,7 @@ function. The result is a couple of new files in | |||
| 2043 | files))) | 2043 | files))) |
| 2044 | 2044 | ||
| 2045 | (defun image-dired-display-next-thumbnail-original () | 2045 | (defun image-dired-display-next-thumbnail-original () |
| 2046 | "In thubnail buffer, move to next thumbnail and display the image." | 2046 | "In thumbnail buffer, move to next thumbnail and display the image." |
| 2047 | (interactive) | 2047 | (interactive) |
| 2048 | (image-dired-forward-image) | 2048 | (image-dired-forward-image) |
| 2049 | (image-dired-display-thumbnail-original-image)) | 2049 | (image-dired-display-thumbnail-original-image)) |
diff --git a/lisp/info-xref.el b/lisp/info-xref.el index 41da9d12c99..805bec064cf 100644 --- a/lisp/info-xref.el +++ b/lisp/info-xref.el | |||
| @@ -313,7 +313,7 @@ should be harmless." | |||
| 313 | (interactive) | 313 | (interactive) |
| 314 | (info-xref-check-list (info-xref-all-info-files))) | 314 | (info-xref-check-list (info-xref-all-info-files))) |
| 315 | 315 | ||
| 316 | ;; An alternative for geting only top-level files here would be to simply | 316 | ;; An alternative for getting only top-level files here would be to simply |
| 317 | ;; return all files and have info-xref-check-list not follow "Indirect:". | 317 | ;; return all files and have info-xref-check-list not follow "Indirect:". |
| 318 | ;; The current way seems better because it (potentially) gets the proper | 318 | ;; The current way seems better because it (potentially) gets the proper |
| 319 | ;; top-level filename into the error messages, and suppresses duplicate "not | 319 | ;; top-level filename into the error messages, and suppresses duplicate "not |
| @@ -413,7 +413,7 @@ and can take a long time." | |||
| 413 | (unless (boundp 'viper-mode) | 413 | (unless (boundp 'viper-mode) |
| 414 | (setq viper-mode nil)) ;; avoid viper.el ask about viperizing | 414 | (setq viper-mode nil)) ;; avoid viper.el ask about viperizing |
| 415 | (unless (boundp 'gnus-registry-install) | 415 | (unless (boundp 'gnus-registry-install) |
| 416 | (setq gnus-registry-install nil)) ;; avoid gnus-registery.el querying | 416 | (setq gnus-registry-install nil)) ;; avoid gnus-registry.el querying |
| 417 | 417 | ||
| 418 | (mapatoms | 418 | (mapatoms |
| 419 | (lambda (symbol) | 419 | (lambda (symbol) |
diff --git a/lisp/info.el b/lisp/info.el index 0148ee544f9..4f2f33d017c 100644 --- a/lisp/info.el +++ b/lisp/info.el | |||
| @@ -231,6 +231,12 @@ want to set `Info-refill-paragraphs'." | |||
| 231 | (const :tag "Replace tag and hide reference" t) | 231 | (const :tag "Replace tag and hide reference" t) |
| 232 | (const :tag "Hide tag and reference" hide) | 232 | (const :tag "Hide tag and reference" hide) |
| 233 | (other :tag "Only replace tag" tag)) | 233 | (other :tag "Only replace tag" tag)) |
| 234 | :set (lambda (sym val) | ||
| 235 | (set sym val) | ||
| 236 | (dolist (buffer (buffer-list)) | ||
| 237 | (with-current-buffer buffer | ||
| 238 | (when (eq major-mode 'Info-mode) | ||
| 239 | (revert-buffer t t))))) | ||
| 234 | :group 'info) | 240 | :group 'info) |
| 235 | 241 | ||
| 236 | (defcustom Info-refill-paragraphs nil | 242 | (defcustom Info-refill-paragraphs nil |
| @@ -811,10 +817,6 @@ otherwise, that defaults to `Top'." | |||
| 811 | (concat default-directory (buffer-name)))) | 817 | (concat default-directory (buffer-name)))) |
| 812 | (Info-find-node-2 nil nodename)) | 818 | (Info-find-node-2 nil nodename)) |
| 813 | 819 | ||
| 814 | ;; It's perhaps a bit nasty to kill the *info* buffer to force a re-read, | ||
| 815 | ;; but at least it keeps this routine (which is for makeinfo-buffer and | ||
| 816 | ;; Info-revert-buffer-function) out of the way of normal operations. | ||
| 817 | ;; | ||
| 818 | (defun Info-revert-find-node (filename nodename) | 820 | (defun Info-revert-find-node (filename nodename) |
| 819 | "Go to an Info node FILENAME and NODENAME, re-reading disk contents. | 821 | "Go to an Info node FILENAME and NODENAME, re-reading disk contents. |
| 820 | When *info* is already displaying FILENAME and NODENAME, the window position | 822 | When *info* is already displaying FILENAME and NODENAME, the window position |
| @@ -822,27 +824,23 @@ is preserved, if possible." | |||
| 822 | (or (eq major-mode 'Info-mode) (switch-to-buffer "*info*")) | 824 | (or (eq major-mode 'Info-mode) (switch-to-buffer "*info*")) |
| 823 | (let ((old-filename Info-current-file) | 825 | (let ((old-filename Info-current-file) |
| 824 | (old-nodename Info-current-node) | 826 | (old-nodename Info-current-node) |
| 825 | (old-buffer-name (buffer-name)) | 827 | (window-selected (eq (selected-window) (get-buffer-window))) |
| 826 | (pcolumn (current-column)) | 828 | (pcolumn (current-column)) |
| 827 | (pline (count-lines (point-min) (line-beginning-position))) | 829 | (pline (count-lines (point-min) (line-beginning-position))) |
| 828 | (wline (count-lines (point-min) (window-start))) | 830 | (wline (count-lines (point-min) (window-start))) |
| 829 | (old-history-forward Info-history-forward) | ||
| 830 | (old-history Info-history) | ||
| 831 | (new-history (and Info-current-file | 831 | (new-history (and Info-current-file |
| 832 | (list Info-current-file Info-current-node (point))))) | 832 | (list Info-current-file Info-current-node (point))))) |
| 833 | (kill-buffer (current-buffer)) | 833 | ;; When `Info-current-file' is nil, `Info-find-node-2' rereads the file. |
| 834 | (switch-to-buffer (or old-buffer-name "*info*")) | 834 | (setq Info-current-file nil) |
| 835 | (Info-mode) | ||
| 836 | (Info-find-node filename nodename) | 835 | (Info-find-node filename nodename) |
| 837 | (setq Info-history-forward old-history-forward) | ||
| 838 | (setq Info-history old-history) | ||
| 839 | (if (and (equal old-filename Info-current-file) | 836 | (if (and (equal old-filename Info-current-file) |
| 840 | (equal old-nodename Info-current-node)) | 837 | (equal old-nodename Info-current-node)) |
| 841 | (progn | 838 | (progn |
| 842 | ;; note goto-line is no good, we want to measure from point-min | 839 | ;; note goto-line is no good, we want to measure from point-min |
| 843 | (goto-char (point-min)) | 840 | (when window-selected |
| 844 | (forward-line wline) | 841 | (goto-char (point-min)) |
| 845 | (set-window-start (selected-window) (point)) | 842 | (forward-line wline) |
| 843 | (set-window-start (selected-window) (point))) | ||
| 846 | (goto-char (point-min)) | 844 | (goto-char (point-min)) |
| 847 | (forward-line pline) | 845 | (forward-line pline) |
| 848 | (move-to-column pcolumn)) | 846 | (move-to-column pcolumn)) |
| @@ -1087,7 +1085,7 @@ a case-insensitive match is tried." | |||
| 1087 | ;; Add anchors to the history too | 1085 | ;; Add anchors to the history too |
| 1088 | (setq Info-history-list | 1086 | (setq Info-history-list |
| 1089 | (cons new-history | 1087 | (cons new-history |
| 1090 | (delete new-history Info-history-list)))) | 1088 | (remove new-history Info-history-list)))) |
| 1091 | (goto-char anchorpos)) | 1089 | (goto-char anchorpos)) |
| 1092 | ((numberp Info-point-loc) | 1090 | ((numberp Info-point-loc) |
| 1093 | (forward-line (- Info-point-loc 2)) | 1091 | (forward-line (- Info-point-loc 2)) |
| @@ -1514,7 +1512,7 @@ escaped (\\\",\\\\)." | |||
| 1514 | ;; Add a new unique history item to full history list | 1512 | ;; Add a new unique history item to full history list |
| 1515 | (let ((new-history (list Info-current-file Info-current-node))) | 1513 | (let ((new-history (list Info-current-file Info-current-node))) |
| 1516 | (setq Info-history-list | 1514 | (setq Info-history-list |
| 1517 | (cons new-history (delete new-history Info-history-list))) | 1515 | (cons new-history (remove new-history Info-history-list))) |
| 1518 | (setq Info-history-forward nil)) | 1516 | (setq Info-history-forward nil)) |
| 1519 | (if (not (eq Info-fontify-maximum-menu-size nil)) | 1517 | (if (not (eq Info-fontify-maximum-menu-size nil)) |
| 1520 | (Info-fontify-node)) | 1518 | (Info-fontify-node)) |
| @@ -1846,7 +1844,9 @@ If DIRECTION is `backward', search in the reverse direction." | |||
| 1846 | (setq list nil))) | 1844 | (setq list nil))) |
| 1847 | (if found | 1845 | (if found |
| 1848 | (message "") | 1846 | (message "") |
| 1849 | (signal 'search-failed (list regexp)))) | 1847 | (signal 'search-failed (if isearch-mode |
| 1848 | (list regexp "end of the manual") | ||
| 1849 | (list regexp))))) | ||
| 1850 | (if (not found) | 1850 | (if (not found) |
| 1851 | (progn (Info-read-subfile osubfile) | 1851 | (progn (Info-read-subfile osubfile) |
| 1852 | (goto-char opoint) | 1852 | (goto-char opoint) |
| @@ -2153,7 +2153,7 @@ If SAME-FILE is non-nil, do not move to a different Info file." | |||
| 2153 | (insert "Recently Visited Nodes\n") | 2153 | (insert "Recently Visited Nodes\n") |
| 2154 | (insert "**********************\n\n") | 2154 | (insert "**********************\n\n") |
| 2155 | (insert "* Menu:\n\n") | 2155 | (insert "* Menu:\n\n") |
| 2156 | (let ((hl (delete '("*History*" "Top") Info-history-list))) | 2156 | (let ((hl (remove '("*History*" "Top") Info-history-list))) |
| 2157 | (while hl | 2157 | (while hl |
| 2158 | (let ((file (nth 0 (car hl))) | 2158 | (let ((file (nth 0 (car hl))) |
| 2159 | (node (nth 1 (car hl)))) | 2159 | (node (nth 1 (car hl)))) |
| @@ -3403,7 +3403,7 @@ Build a menu of the possible matches." | |||
| 3403 | (declare-function finder-unknown-keywords "finder" ()) | 3403 | (declare-function finder-unknown-keywords "finder" ()) |
| 3404 | (declare-function lm-commentary "lisp-mnt" (&optional file)) | 3404 | (declare-function lm-commentary "lisp-mnt" (&optional file)) |
| 3405 | (defvar finder-keywords-hash) | 3405 | (defvar finder-keywords-hash) |
| 3406 | (defvar package-alist) ; finder requires package | 3406 | (defvar package--builtins) ; finder requires package |
| 3407 | 3407 | ||
| 3408 | (defun Info-finder-find-node (_filename nodename &optional _no-going-back) | 3408 | (defun Info-finder-find-node (_filename nodename &optional _no-going-back) |
| 3409 | "Finder-specific implementation of `Info-find-node-2'." | 3409 | "Finder-specific implementation of `Info-find-node-2'." |
| @@ -3417,14 +3417,14 @@ Build a menu of the possible matches." | |||
| 3417 | (insert "***************\n\n") | 3417 | (insert "***************\n\n") |
| 3418 | (insert "* Menu:\n\n") | 3418 | (insert "* Menu:\n\n") |
| 3419 | (dolist (assoc (append '((all . "All package info") | 3419 | (dolist (assoc (append '((all . "All package info") |
| 3420 | (unknown . "unknown keywords")) | 3420 | (unknown . "Unknown keywords")) |
| 3421 | finder-known-keywords)) | 3421 | finder-known-keywords)) |
| 3422 | (let ((keyword (car assoc))) | 3422 | (let ((keyword (car assoc))) |
| 3423 | (insert (format "* %s %s.\n" | 3423 | (insert (format "* %s %s.\n" |
| 3424 | (concat (symbol-name keyword) ": " | 3424 | (concat (symbol-name keyword) ": " |
| 3425 | "kw:" (symbol-name keyword) ".") | 3425 | "Keyword " (symbol-name keyword) ".") |
| 3426 | (cdr assoc)))))) | 3426 | (cdr assoc)))))) |
| 3427 | ((equal nodename "unknown") | 3427 | ((equal nodename "Keyword unknown") |
| 3428 | ;; Display unknown keywords | 3428 | ;; Display unknown keywords |
| 3429 | (insert (format "\n\^_\nFile: %s, Node: %s, Up: Top\n\n" | 3429 | (insert (format "\n\^_\nFile: %s, Node: %s, Up: Top\n\n" |
| 3430 | Info-finder-file nodename)) | 3430 | Info-finder-file nodename)) |
| @@ -3434,24 +3434,29 @@ Build a menu of the possible matches." | |||
| 3434 | (mapc | 3434 | (mapc |
| 3435 | (lambda (assoc) | 3435 | (lambda (assoc) |
| 3436 | (insert (format "* %-14s %s.\n" | 3436 | (insert (format "* %-14s %s.\n" |
| 3437 | (concat (symbol-name (car assoc)) "::") | 3437 | (concat (symbol-name (car assoc)) ": " |
| 3438 | "Keyword " (symbol-name (car assoc)) ".") | ||
| 3438 | (cdr assoc)))) | 3439 | (cdr assoc)))) |
| 3439 | (finder-unknown-keywords))) | 3440 | (finder-unknown-keywords))) |
| 3440 | ((equal nodename "all") | 3441 | ((equal nodename "Keyword all") |
| 3441 | ;; Display all package info. | 3442 | ;; Display all package info. |
| 3442 | (insert (format "\n\^_\nFile: %s, Node: %s, Up: Top\n\n" | 3443 | (insert (format "\n\^_\nFile: %s, Node: %s, Up: Top\n\n" |
| 3443 | Info-finder-file nodename)) | 3444 | Info-finder-file nodename)) |
| 3444 | (insert "Finder Package Info\n") | 3445 | (insert "Finder Package Info\n") |
| 3445 | (insert "*******************\n\n") | 3446 | (insert "*******************\n\n") |
| 3446 | (dolist (package package-alist) | 3447 | (insert "* Menu:\n\n") |
| 3447 | (insert (format "%s - %s\n" | 3448 | (let (desc) |
| 3448 | (format "*Note %s::" (nth 0 package)) | 3449 | (dolist (package package--builtins) |
| 3449 | (nth 1 package))))) | 3450 | (setq desc (cdr-safe package)) |
| 3450 | ((string-match "\\`kw:" nodename) | 3451 | (when (vectorp desc) |
| 3452 | (insert (format "* %-16s %s.\n" | ||
| 3453 | (concat (symbol-name (car package)) "::") | ||
| 3454 | (aref desc 2))))))) | ||
| 3455 | ((string-match "\\`Keyword " nodename) | ||
| 3451 | (setq nodename (substring nodename (match-end 0))) | 3456 | (setq nodename (substring nodename (match-end 0))) |
| 3452 | ;; Display packages that match the keyword | 3457 | ;; Display packages that match the keyword |
| 3453 | ;; or the list of keywords separated by comma. | 3458 | ;; or the list of keywords separated by comma. |
| 3454 | (insert (format "\n\^_\nFile: %s, Node: kw:%s, Up: Top\n\n" | 3459 | (insert (format "\n\^_\nFile: %s, Node: Keyword %s, Up: Top\n\n" |
| 3455 | Info-finder-file nodename)) | 3460 | Info-finder-file nodename)) |
| 3456 | (insert "Finder Packages\n") | 3461 | (insert "Finder Packages\n") |
| 3457 | (insert "***************\n\n") | 3462 | (insert "***************\n\n") |
| @@ -3463,11 +3468,11 @@ Build a menu of the possible matches." | |||
| 3463 | (split-string nodename ",[ \t\n]*" t) | 3468 | (split-string nodename ",[ \t\n]*" t) |
| 3464 | (list nodename)))) | 3469 | (list nodename)))) |
| 3465 | hits desc) | 3470 | hits desc) |
| 3466 | (dolist (kw keywords) | 3471 | (dolist (keyword keywords) |
| 3467 | (push (copy-tree (gethash kw finder-keywords-hash)) hits)) | 3472 | (push (copy-tree (gethash keyword finder-keywords-hash)) hits)) |
| 3468 | (setq hits (delete-dups (apply 'append hits))) | 3473 | (setq hits (delete-dups (apply 'append hits))) |
| 3469 | (dolist (package hits) | 3474 | (dolist (package hits) |
| 3470 | (setq desc (cdr-safe (assq package package-alist))) | 3475 | (setq desc (cdr-safe (assq package package--builtins))) |
| 3471 | (when (vectorp desc) | 3476 | (when (vectorp desc) |
| 3472 | (insert (format "* %-16s %s.\n" | 3477 | (insert (format "* %-16s %s.\n" |
| 3473 | (concat (symbol-name package) "::") | 3478 | (concat (symbol-name package) "::") |
diff --git a/lisp/international/characters.el b/lisp/international/characters.el index 94237a0a489..55aee4d53db 100644 --- a/lisp/international/characters.el +++ b/lisp/international/characters.el | |||
| @@ -410,7 +410,7 @@ with L, LRE, or LRO Unicode bidi character type.") | |||
| 410 | ("à¾-ྐྵྺྻྼ" "w" ?0) ; | 410 | ("à¾-ྐྵྺྻྼ" "w" ?0) ; |
| 411 | ("ིེཻོཽྀ" "w" ?2) ; upper vowel | 411 | ("ིེཻོཽྀ" "w" ?2) ; upper vowel |
| 412 | ("ཾྂྃ྆྇ྈྉྊྋ" "w" ?2) ; upper modifier | 412 | ("ཾྂྃ྆྇ྈྉྊྋ" "w" ?2) ; upper modifier |
| 413 | ("྄ཱུ༙༵༷" "w" ?3) ; lowel vowel/modifier | 413 | ("྄ཱུ༙༵༷" "w" ?3) ; lower vowel/modifier |
| 414 | ("཰" "w" ?3) ; invisible vowel a | 414 | ("཰" "w" ?3) ; invisible vowel a |
| 415 | ("༠-༩༪-༳" "w" ?6) ; digit | 415 | ("༠-༩༪-༳" "w" ?6) ; digit |
| 416 | ("་à¼-༒༔ཿ" "." ?|) ; line-break char | 416 | ("་à¼-༒༔ཿ" "." ?|) ; line-break char |
| @@ -512,7 +512,7 @@ with L, LRE, or LRO Unicode bidi character type.") | |||
| 512 | ;; relating Unicode categories to Emacs syntax codes. | 512 | ;; relating Unicode categories to Emacs syntax codes. |
| 513 | 513 | ||
| 514 | ;; NBSP isn't semantically interchangeable with other whitespace chars, | 514 | ;; NBSP isn't semantically interchangeable with other whitespace chars, |
| 515 | ;; so it's more like punctation. | 515 | ;; so it's more like punctuation. |
| 516 | (set-case-syntax ? "." tbl) | 516 | (set-case-syntax ? "." tbl) |
| 517 | (set-case-syntax ?¡ "." tbl) | 517 | (set-case-syntax ?¡ "." tbl) |
| 518 | (set-case-syntax ?¦ "_" tbl) | 518 | (set-case-syntax ?¦ "_" tbl) |
diff --git a/lisp/international/mule-conf.el b/lisp/international/mule-conf.el index 870f2bece28..e27424b2328 100644 --- a/lisp/international/mule-conf.el +++ b/lisp/international/mule-conf.el | |||
| @@ -218,7 +218,7 @@ | |||
| 218 | (fmakunbound 'define-iso-single-byte-charset) | 218 | (fmakunbound 'define-iso-single-byte-charset) |
| 219 | 219 | ||
| 220 | ;; Can this be shared with 8859-11? | 220 | ;; Can this be shared with 8859-11? |
| 221 | ;; N.b. not all of these are defined unicodes. | 221 | ;; N.b. not all of these are defined in Unicode. |
| 222 | (define-charset 'thai-tis620 | 222 | (define-charset 'thai-tis620 |
| 223 | "TIS620.2533" | 223 | "TIS620.2533" |
| 224 | :short-name "TIS620.2533" | 224 | :short-name "TIS620.2533" |
| @@ -865,7 +865,7 @@ | |||
| 865 | 865 | ||
| 866 | ;; Lao script. | 866 | ;; Lao script. |
| 867 | ;; Codes 0x21..0x7E are mapped to Unicode U+0E81..U+0EDF. | 867 | ;; Codes 0x21..0x7E are mapped to Unicode U+0E81..U+0EDF. |
| 868 | ;; Not all of them are defined unicodes. | 868 | ;; Not all of them are defined in Unicode. |
| 869 | (define-charset 'lao | 869 | (define-charset 'lao |
| 870 | "Lao characters (ISO10646 0E81..0EDF)" | 870 | "Lao characters (ISO10646 0E81..0EDF)" |
| 871 | :short-name "Lao" | 871 | :short-name "Lao" |
diff --git a/lisp/international/mule.el b/lisp/international/mule.el index 6888056704d..58a08f4506f 100644 --- a/lisp/international/mule.el +++ b/lisp/international/mule.el | |||
| @@ -1572,7 +1572,7 @@ of `ctext-non-standard-encodings-alist'.") | |||
| 1572 | ;; character in CHARSET is encoded using extended segment. In the | 1572 | ;; character in CHARSET is encoded using extended segment. In the |
| 1573 | ;; latter case, a character in CHARSET is encoded using normal ISO2022 | 1573 | ;; latter case, a character in CHARSET is encoded using normal ISO2022 |
| 1574 | ;; designation sequence. If a character is not in any of CHARSETs, it | 1574 | ;; designation sequence. If a character is not in any of CHARSETs, it |
| 1575 | ;; is encoded using UTF-8 encoding extention. | 1575 | ;; is encoded using UTF-8 encoding extension. |
| 1576 | 1576 | ||
| 1577 | (defun ctext-non-standard-encodings-table () | 1577 | (defun ctext-non-standard-encodings-table () |
| 1578 | (let* ((table (append ctext-non-standard-encodings | 1578 | (let* ((table (append ctext-non-standard-encodings |
| @@ -1656,7 +1656,7 @@ in-place." | |||
| 1656 | (insert 2))) | 1656 | (insert 2))) |
| 1657 | ;; Encode this range as characters in CHARSET. | 1657 | ;; Encode this range as characters in CHARSET. |
| 1658 | (put-text-property last-pos (point) 'charset charset)) | 1658 | (put-text-property last-pos (point) 'charset charset)) |
| 1659 | ;; Encode this range using UTF-8 encoding extention. | 1659 | ;; Encode this range using UTF-8 encoding extension. |
| 1660 | (encode-coding-region last-pos (point) 'mule-utf-8) | 1660 | (encode-coding-region last-pos (point) 'mule-utf-8) |
| 1661 | (save-excursion | 1661 | (save-excursion |
| 1662 | (goto-char last-pos) | 1662 | (goto-char last-pos) |
diff --git a/lisp/international/ogonek.el b/lisp/international/ogonek.el index 0da6cc614fd..cc8d1e25c66 100644 --- a/lisp/international/ogonek.el +++ b/lisp/international/ogonek.el | |||
| @@ -284,11 +284,11 @@ The functions come in the following groups. | |||
| 284 | :type 'character | 284 | :type 'character |
| 285 | :group 'ogonek) | 285 | :group 'ogonek) |
| 286 | (defcustom ogonek-prefix-from-encoding "iso8859-2" | 286 | (defcustom ogonek-prefix-from-encoding "iso8859-2" |
| 287 | "Encoding in the source file subject to prefixifation." | 287 | "Encoding in the source file subject to prefixation." |
| 288 | :type ogonek-encoding-choices | 288 | :type ogonek-encoding-choices |
| 289 | :group 'ogonek) | 289 | :group 'ogonek) |
| 290 | (defcustom ogonek-prefix-to-encoding "iso8859-2" | 290 | (defcustom ogonek-prefix-to-encoding "iso8859-2" |
| 291 | "Encoding in the target file subject to deprefixifation." | 291 | "Encoding in the target file subject to deprefixation." |
| 292 | :type ogonek-encoding-choices | 292 | :type ogonek-encoding-choices |
| 293 | :group 'ogonek) | 293 | :group 'ogonek) |
| 294 | 294 | ||
diff --git a/lisp/international/quail.el b/lisp/international/quail.el index bdbf2c07b7a..a29b729dcf0 100644 --- a/lisp/international/quail.el +++ b/lisp/international/quail.el | |||
| @@ -2701,7 +2701,7 @@ KEY BINDINGS FOR CONVERSION | |||
| 2701 | 2701 | ||
| 2702 | (put 'quail-decode-map 'char-table-extra-slots 0) | 2702 | (put 'quail-decode-map 'char-table-extra-slots 0) |
| 2703 | 2703 | ||
| 2704 | ;; Generate a halfly-cooked decode map (char-table) for the current | 2704 | ;; Generate a half-cooked decode map (char-table) for the current |
| 2705 | ;; Quail map. An element for a character C is a key string or a list | 2705 | ;; Quail map. An element for a character C is a key string or a list |
| 2706 | ;; of a key strings to type to input C. The lenth of key string is at | 2706 | ;; of a key strings to type to input C. The lenth of key string is at |
| 2707 | ;; most 2. If it is 2, more keys may be required to input C. | 2707 | ;; most 2. If it is 2, more keys may be required to input C. |
| @@ -2974,7 +2974,7 @@ of each directory." | |||
| 2974 | (if (not (re-search-forward leim-list-entry-regexp nil t)) | 2974 | (if (not (re-search-forward leim-list-entry-regexp nil t)) |
| 2975 | nil | 2975 | nil |
| 2976 | 2976 | ||
| 2977 | ;; Remove garbages after the header. | 2977 | ;; Remove garbage after the header. |
| 2978 | (goto-char (match-beginning 0)) | 2978 | (goto-char (match-beginning 0)) |
| 2979 | (if (< pos (point)) | 2979 | (if (< pos (point)) |
| 2980 | (delete-region pos (point))) | 2980 | (delete-region pos (point))) |
diff --git a/lisp/international/titdic-cnv.el b/lisp/international/titdic-cnv.el index 757322aa0ce..0ba0b9085b9 100644 --- a/lisp/international/titdic-cnv.el +++ b/lisp/international/titdic-cnv.el | |||
| @@ -1179,7 +1179,7 @@ the generated Quail package is saved." | |||
| 1179 | (setq tail (cdr tail))))) | 1179 | (setq tail (cdr tail))))) |
| 1180 | 1180 | ||
| 1181 | (defun batch-miscdic-convert () | 1181 | (defun batch-miscdic-convert () |
| 1182 | "Run `miscdic-convert' on the files remaing on the command line. | 1182 | "Run `miscdic-convert' on the files remaining on the command line. |
| 1183 | Use this from the command line, with `-batch'; | 1183 | Use this from the command line, with `-batch'; |
| 1184 | it won't work in an interactive Emacs. | 1184 | it won't work in an interactive Emacs. |
| 1185 | If there's an argument \"-dir\", the next argument specifies a directory | 1185 | If there's an argument \"-dir\", the next argument specifies a directory |
diff --git a/lisp/isearch.el b/lisp/isearch.el index 977de6ac4b0..39ed7adc9c4 100644 --- a/lisp/isearch.el +++ b/lisp/isearch.el | |||
| @@ -1162,11 +1162,10 @@ The following additional command keys are active while editing. | |||
| 1162 | 1162 | ||
| 1163 | (unwind-protect | 1163 | (unwind-protect |
| 1164 | (let* ((message-log-max nil) | 1164 | (let* ((message-log-max nil) |
| 1165 | ;; Protect global value of search rings from updating | 1165 | ;; Don't add a new search string to the search ring here |
| 1166 | ;; by `read-from-minibuffer'. It should be updated only | 1166 | ;; in `read-from-minibuffer'. It should be added only |
| 1167 | ;; by `isearch-update-ring' in `isearch-done', not here. | 1167 | ;; by `isearch-update-ring' called from `isearch-done'. |
| 1168 | (search-ring search-ring) | 1168 | (history-add-new-input nil) |
| 1169 | (regexp-search-ring regexp-search-ring) | ||
| 1170 | ;; Binding minibuffer-history-symbol to nil is a work-around | 1169 | ;; Binding minibuffer-history-symbol to nil is a work-around |
| 1171 | ;; for some incompatibility with gmhist. | 1170 | ;; for some incompatibility with gmhist. |
| 1172 | (minibuffer-history-symbol)) | 1171 | (minibuffer-history-symbol)) |
| @@ -2674,25 +2673,27 @@ by other Emacs features." | |||
| 2674 | ;; something important did indeed change | 2673 | ;; something important did indeed change |
| 2675 | (lazy-highlight-cleanup t) ;kill old loop & remove overlays | 2674 | (lazy-highlight-cleanup t) ;kill old loop & remove overlays |
| 2676 | (setq isearch-lazy-highlight-error isearch-error) | 2675 | (setq isearch-lazy-highlight-error isearch-error) |
| 2677 | (when (not isearch-error) | 2676 | ;; It used to check for `(not isearch-error)' here, but actually |
| 2678 | (setq isearch-lazy-highlight-start-limit beg | 2677 | ;; lazy-highlighting might find matches to highlight even when |
| 2679 | isearch-lazy-highlight-end-limit end) | 2678 | ;; `isearch-error' is non-nil. (Bug#9918) |
| 2680 | (setq isearch-lazy-highlight-window (selected-window) | 2679 | (setq isearch-lazy-highlight-start-limit beg |
| 2681 | isearch-lazy-highlight-window-start (window-start) | 2680 | isearch-lazy-highlight-end-limit end) |
| 2682 | isearch-lazy-highlight-window-end (window-end) | 2681 | (setq isearch-lazy-highlight-window (selected-window) |
| 2683 | isearch-lazy-highlight-start (point) | 2682 | isearch-lazy-highlight-window-start (window-start) |
| 2684 | isearch-lazy-highlight-end (point) | 2683 | isearch-lazy-highlight-window-end (window-end) |
| 2685 | isearch-lazy-highlight-wrapped nil | 2684 | isearch-lazy-highlight-start (point) |
| 2686 | isearch-lazy-highlight-last-string isearch-string | 2685 | isearch-lazy-highlight-end (point) |
| 2687 | isearch-lazy-highlight-case-fold-search isearch-case-fold-search | 2686 | isearch-lazy-highlight-wrapped nil |
| 2688 | isearch-lazy-highlight-regexp isearch-regexp | 2687 | isearch-lazy-highlight-last-string isearch-string |
| 2689 | isearch-lazy-highlight-space-regexp search-whitespace-regexp | 2688 | isearch-lazy-highlight-case-fold-search isearch-case-fold-search |
| 2690 | isearch-lazy-highlight-word isearch-word | 2689 | isearch-lazy-highlight-regexp isearch-regexp |
| 2691 | isearch-lazy-highlight-forward isearch-forward) | 2690 | isearch-lazy-highlight-space-regexp search-whitespace-regexp |
| 2691 | isearch-lazy-highlight-word isearch-word | ||
| 2692 | isearch-lazy-highlight-forward isearch-forward) | ||
| 2692 | (unless (equal isearch-string "") | 2693 | (unless (equal isearch-string "") |
| 2693 | (setq isearch-lazy-highlight-timer | 2694 | (setq isearch-lazy-highlight-timer |
| 2694 | (run-with-idle-timer lazy-highlight-initial-delay nil | 2695 | (run-with-idle-timer lazy-highlight-initial-delay nil |
| 2695 | 'isearch-lazy-highlight-update)))))) | 2696 | 'isearch-lazy-highlight-update))))) |
| 2696 | 2697 | ||
| 2697 | (defun isearch-lazy-highlight-search () | 2698 | (defun isearch-lazy-highlight-search () |
| 2698 | "Search ahead for the next or previous match, for lazy highlighting. | 2699 | "Search ahead for the next or previous match, for lazy highlighting. |
diff --git a/lisp/iswitchb.el b/lisp/iswitchb.el index a96fbf9253f..21201c6cff5 100644 --- a/lisp/iswitchb.el +++ b/lisp/iswitchb.el | |||
| @@ -122,7 +122,7 @@ | |||
| 122 | ;; t IN | INBOX | 122 | ;; t IN | INBOX |
| 123 | ;; t In | [No match] | 123 | ;; t In | [No match] |
| 124 | 124 | ||
| 125 | ;;; Customisation | 125 | ;;; Customization |
| 126 | 126 | ||
| 127 | ;; See the User Variables section below for easy ways to change the | 127 | ;; See the User Variables section below for easy ways to change the |
| 128 | ;; functionality of the program. These are accessible using the | 128 | ;; functionality of the program. These are accessible using the |
diff --git a/lisp/json.el b/lisp/json.el index 33e985abbee..2debd46c842 100644 --- a/lisp/json.el +++ b/lisp/json.el | |||
| @@ -166,7 +166,7 @@ this around your call to `json-read' instead of `setq'ing it.") | |||
| 166 | (put 'json-number-format 'error-conditions | 166 | (put 'json-number-format 'error-conditions |
| 167 | '(json-number-format json-error error)) | 167 | '(json-number-format json-error error)) |
| 168 | 168 | ||
| 169 | (put 'json-string-escape 'error-message "Bad unicode escape") | 169 | (put 'json-string-escape 'error-message "Bad Unicode escape") |
| 170 | (put 'json-string-escape 'error-conditions | 170 | (put 'json-string-escape 'error-conditions |
| 171 | '(json-string-escape json-error error)) | 171 | '(json-string-escape json-error error)) |
| 172 | 172 | ||
diff --git a/lisp/language/european.el b/lisp/language/european.el index 5bdec6dec7b..3c2cb083ff6 100644 --- a/lisp/language/european.el +++ b/lisp/language/european.el | |||
| @@ -613,6 +613,7 @@ method and applying Turkish case rules for the characters i, I, $(D)E(B, $(D* | |||
| 613 | :mnemonic ?M | 613 | :mnemonic ?M |
| 614 | :charset-list '(mac-roman) | 614 | :charset-list '(mac-roman) |
| 615 | :mime-charset 'macintosh) | 615 | :mime-charset 'macintosh) |
| 616 | (define-coding-system-alias 'macintosh 'mac-roman) | ||
| 616 | 617 | ||
| 617 | (define-coding-system 'next | 618 | (define-coding-system 'next |
| 618 | "NeXTstep encoding" | 619 | "NeXTstep encoding" |
diff --git a/lisp/language/thai-util.el b/lisp/language/thai-util.el index b7dbcc1a956..e9943df12a8 100644 --- a/lisp/language/thai-util.el +++ b/lisp/language/thai-util.el | |||
| @@ -124,7 +124,7 @@ | |||
| 124 | (?ใ vowel-base "VOWEL SIGN SARA MAI MUAN") ; 0xE3 | 124 | (?ใ vowel-base "VOWEL SIGN SARA MAI MUAN") ; 0xE3 |
| 125 | (?ไ vowel-base "VOWEL SIGN SARA MAI MALAI") ; 0xE4 | 125 | (?ไ vowel-base "VOWEL SIGN SARA MAI MALAI") ; 0xE4 |
| 126 | (?ๅ vowel-base "LAK KHANG YAO") ; 0xE5 | 126 | (?ๅ vowel-base "LAK KHANG YAO") ; 0xE5 |
| 127 | (?ๆ special "MAI YAMOK (repetion)") ; 0xE6 | 127 | (?ๆ special "MAI YAMOK (repetition)") ; 0xE6 |
| 128 | (?็ sign-upper "VOWEL SIGN MAI TAI KHU N/S-T") ; 0xE7 | 128 | (?็ sign-upper "VOWEL SIGN MAI TAI KHU N/S-T") ; 0xE7 |
| 129 | (?่ tone "TONE MAI EK N/S-T") ; 0xE8 | 129 | (?่ tone "TONE MAI EK N/S-T") ; 0xE8 |
| 130 | (?้ tone "TONE MAI THO N/S-T") ; 0xE9 | 130 | (?้ tone "TONE MAI THO N/S-T") ; 0xE9 |
diff --git a/lisp/loadhist.el b/lisp/loadhist.el index da20e4cb7ca..51df6ecff0a 100644 --- a/lisp/loadhist.el +++ b/lisp/loadhist.el | |||
| @@ -133,7 +133,7 @@ from a file." | |||
| 133 | font-lock-unfontify-region-function | 133 | font-lock-unfontify-region-function |
| 134 | kill-buffer-query-functions kill-emacs-query-functions | 134 | kill-buffer-query-functions kill-emacs-query-functions |
| 135 | lisp-indent-function mouse-position-function | 135 | lisp-indent-function mouse-position-function |
| 136 | redisplaylay-end-trigger-functions suspend-tty-functions | 136 | redisplay-end-trigger-functions suspend-tty-functions |
| 137 | temp-buffer-show-function window-scroll-functions | 137 | temp-buffer-show-function window-scroll-functions |
| 138 | window-size-change-functions write-contents-functions | 138 | window-size-change-functions write-contents-functions |
| 139 | write-file-functions write-region-annotate-functions) | 139 | write-file-functions write-region-annotate-functions) |
diff --git a/lisp/mail/feedmail.el b/lisp/mail/feedmail.el index 47583e3f860..7167fa567d3 100644 --- a/lisp/mail/feedmail.el +++ b/lisp/mail/feedmail.el | |||
| @@ -1010,7 +1010,7 @@ If it contains a \"%s\", that will be replaced with the value of | |||
| 1010 | 1010 | ||
| 1011 | 1011 | ||
| 1012 | (defcustom feedmail-ask-before-queue-reprompt "FQM: Please type q, i, d, or e; or ? for help [%s]: " | 1012 | (defcustom feedmail-ask-before-queue-reprompt "FQM: Please type q, i, d, or e; or ? for help [%s]: " |
| 1013 | "A string which will be used for repompting after invalid input. | 1013 | "A string which will be used for reprompting after invalid input. |
| 1014 | If it contains a \"%s\", that will be replaced with the value of | 1014 | If it contains a \"%s\", that will be replaced with the value of |
| 1015 | `feedmail-ask-before-queue-default'." | 1015 | `feedmail-ask-before-queue-default'." |
| 1016 | :group 'feedmail-queue | 1016 | :group 'feedmail-queue |
| @@ -2188,7 +2188,7 @@ you can set `feedmail-queue-reminder-alist' to nil." | |||
| 2188 | (if (or (eq user-sez ?\C-m) (eq user-sez ?\C-j) (eq user-sez ?y)) | 2188 | (if (or (eq user-sez ?\C-m) (eq user-sez ?\C-j) (eq user-sez ?y)) |
| 2189 | (setq user-sez d-char)) | 2189 | (setq user-sez d-char)) |
| 2190 | ;; these char-to-int things are because of some | 2190 | ;; these char-to-int things are because of some |
| 2191 | ;; incomprensible difference between the two in | 2191 | ;; incomprehensible difference between the two in |
| 2192 | ;; byte-compiled stuff between Emacs and XEmacs | 2192 | ;; byte-compiled stuff between Emacs and XEmacs |
| 2193 | ;; (well, I'm sure someone could comprehend it, | 2193 | ;; (well, I'm sure someone could comprehend it, |
| 2194 | ;; but I say 'uncle') | 2194 | ;; but I say 'uncle') |
| @@ -2261,9 +2261,9 @@ the counts." | |||
| 2261 | (while (string-match feedmail-queue-slug-suspect-regexp slug) (setq slug (replace-match "-" nil nil slug))) | 2261 | (while (string-match feedmail-queue-slug-suspect-regexp slug) (setq slug (replace-match "-" nil nil slug))) |
| 2262 | ;; collapse multiple hyphens to one | 2262 | ;; collapse multiple hyphens to one |
| 2263 | (while (string-match "--+" slug) (setq slug (replace-match "-" nil nil slug))) | 2263 | (while (string-match "--+" slug) (setq slug (replace-match "-" nil nil slug))) |
| 2264 | ;; for tidyness, peel off leading hyphens | 2264 | ;; for tidiness, peel off leading hyphens |
| 2265 | (if (string-match "^-*" slug) (setq slug (replace-match "" nil nil slug))) | 2265 | (if (string-match "^-*" slug) (setq slug (replace-match "" nil nil slug))) |
| 2266 | ;; for tidyness, peel off trailing hyphens | 2266 | ;; for tidiness, peel off trailing hyphens |
| 2267 | (if (string-match "-*$" slug) (setq slug (replace-match "" nil nil slug))) | 2267 | (if (string-match "-*$" slug) (setq slug (replace-match "" nil nil slug))) |
| 2268 | slug | 2268 | slug |
| 2269 | ) | 2269 | ) |
diff --git a/lisp/mail/footnote.el b/lisp/mail/footnote.el index 0f1669562de..342d6c16b6e 100644 --- a/lisp/mail/footnote.el +++ b/lisp/mail/footnote.el | |||
| @@ -294,14 +294,14 @@ Use a range of Latin-1 non-ASCII characters for footnoting." | |||
| 294 | ;; Unicode | 294 | ;; Unicode |
| 295 | 295 | ||
| 296 | (defconst footnote-unicode-string "â°Â¹Â²Â³â´âµâ¶â·â¸â¹" | 296 | (defconst footnote-unicode-string "â°Â¹Â²Â³â´âµâ¶â·â¸â¹" |
| 297 | "String of unicode footnoting characters.") | 297 | "String of Unicode footnoting characters.") |
| 298 | 298 | ||
| 299 | (defconst footnote-unicode-regexp (concat "[" footnote-unicode-string "]+") | 299 | (defconst footnote-unicode-regexp (concat "[" footnote-unicode-string "]+") |
| 300 | "Regexp for unicode footnoting characters.") | 300 | "Regexp for Unicode footnoting characters.") |
| 301 | 301 | ||
| 302 | (defun Footnote-unicode (n) | 302 | (defun Footnote-unicode (n) |
| 303 | "Unicode footnote style. | 303 | "Unicode footnote style. |
| 304 | Use unicode characters for footnoting." | 304 | Use Unicode characters for footnoting." |
| 305 | (let (modulus result done) | 305 | (let (modulus result done) |
| 306 | (while (not done) | 306 | (while (not done) |
| 307 | (setq modulus (mod n 10) | 307 | (setq modulus (mod n 10) |
| @@ -348,7 +348,7 @@ buffer use the command `Footnote-set-style'." | |||
| 348 | 348 | ||
| 349 | ;;; Style utilities & functions | 349 | ;;; Style utilities & functions |
| 350 | (defun Footnote-style-p (style) | 350 | (defun Footnote-style-p (style) |
| 351 | "Return non-nil if style is a valid style known to footnote-mode." | 351 | "Return non-nil if style is a valid style known to `footnote-mode'." |
| 352 | (assq style footnote-style-alist)) | 352 | (assq style footnote-style-alist)) |
| 353 | 353 | ||
| 354 | (defun Footnote-index-to-string (index) | 354 | (defun Footnote-index-to-string (index) |
diff --git a/lisp/mail/metamail.el b/lisp/mail/metamail.el index 9269a24c4cb..fcc334ea30b 100644 --- a/lisp/mail/metamail.el +++ b/lisp/mail/metamail.el | |||
| @@ -165,7 +165,7 @@ redisplayed as output is inserted." | |||
| 165 | (list (format "EMACS_VIEW_MODE=%d" | 165 | (list (format "EMACS_VIEW_MODE=%d" |
| 166 | (if (numberp viewmode) viewmode 1))))) | 166 | (if (numberp viewmode) viewmode 1))))) |
| 167 | (save-excursion | 167 | (save-excursion |
| 168 | ;; Gee! Metamail does not ouput to stdout if input comes from | 168 | ;; Gee! Metamail does not output to stdout if input comes from |
| 169 | ;; stdin. | 169 | ;; stdin. |
| 170 | (let ((selective-display nil)) ;Disable ^M to nl translation. | 170 | (let ((selective-display nil)) ;Disable ^M to nl translation. |
| 171 | (write-region beg end metafile nil 'nomessage)) | 171 | (write-region beg end metafile nil 'nomessage)) |
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el index 5d219c0084f..184eaca6c4b 100644 --- a/lisp/mail/rmail.el +++ b/lisp/mail/rmail.el | |||
| @@ -638,8 +638,11 @@ be available." | |||
| 638 | :version "23.3" | 638 | :version "23.3" |
| 639 | :group 'rmail) | 639 | :group 'rmail) |
| 640 | 640 | ||
| 641 | (defvar rmail-enable-mime-composing t | 641 | (defcustom rmail-enable-mime-composing t |
| 642 | "*If non-nil, RMAIL uses `rmail-insert-mime-forwarded-message-function' to forward.") | 642 | "If non-nil, use `rmail-insert-mime-forwarded-message-function' to forward." |
| 643 | :type 'boolean | ||
| 644 | :version "24.1" ; nil -> t | ||
| 645 | :group 'rmail) | ||
| 643 | 646 | ||
| 644 | (defvar rmail-show-mime-function nil | 647 | (defvar rmail-show-mime-function nil |
| 645 | "Function of no argument called to show a decoded MIME message. | 648 | "Function of no argument called to show a decoded MIME message. |
| @@ -649,8 +652,8 @@ The package providing MIME support should set this.") | |||
| 649 | ;;;###autoload | 652 | ;;;###autoload |
| 650 | (defvar rmail-insert-mime-forwarded-message-function nil | 653 | (defvar rmail-insert-mime-forwarded-message-function nil |
| 651 | "Function to insert a message in MIME format so it can be forwarded. | 654 | "Function to insert a message in MIME format so it can be forwarded. |
| 652 | This function is called if `rmail-enable-mime' or | 655 | This function is called if `rmail-enable-mime' and |
| 653 | `rmail-enable-mime-composing' is non-nil. | 656 | `rmail-enable-mime-composing' are non-nil. |
| 654 | It is called with one argument FORWARD-BUFFER, which is a | 657 | It is called with one argument FORWARD-BUFFER, which is a |
| 655 | buffer containing the message to forward. The current buffer | 658 | buffer containing the message to forward. The current buffer |
| 656 | is the outgoing mail buffer.") | 659 | is the outgoing mail buffer.") |
| @@ -681,12 +684,17 @@ expression, LIMIT is the position specifying the end of header.") | |||
| 681 | 684 | ||
| 682 | (defvar rmail-mime-feature 'rmailmm | 685 | (defvar rmail-mime-feature 'rmailmm |
| 683 | "Feature to require for MIME support in Rmail. | 686 | "Feature to require for MIME support in Rmail. |
| 684 | When starting Rmail, if `rmail-enable-mime' is non-nil, | 687 | When starting Rmail, if `rmail-enable-mime' is non-nil, this |
| 685 | this feature is required with `require'. | 688 | feature is loaded with `require'. The default value is `rmailmm'. |
| 686 | 689 | ||
| 687 | The default value is `rmailmm'") | 690 | The library should set the variable `rmail-show-mime-function' |
| 691 | to an appropriate value, and optionally also set | ||
| 692 | `rmail-search-mime-message-function', | ||
| 693 | `rmail-search-mime-header-function', | ||
| 694 | `rmail-insert-mime-forwarded-message-function', and | ||
| 695 | `rmail-insert-mime-resent-message-function'.") | ||
| 688 | 696 | ||
| 689 | ;; FIXME this is unused. | 697 | ;; FIXME this is unused since 23.1. |
| 690 | (defvar rmail-decode-mime-charset t | 698 | (defvar rmail-decode-mime-charset t |
| 691 | "*Non-nil means a message is decoded by MIME's charset specification. | 699 | "*Non-nil means a message is decoded by MIME's charset specification. |
| 692 | If this variable is nil, or the message has not MIME specification, | 700 | If this variable is nil, or the message has not MIME specification, |
| @@ -696,6 +704,9 @@ If the variable `rmail-enable-mime' is non-nil, this variable is | |||
| 696 | ignored, and all the decoding work is done by a feature specified by | 704 | ignored, and all the decoding work is done by a feature specified by |
| 697 | the variable `rmail-mime-feature'.") | 705 | the variable `rmail-mime-feature'.") |
| 698 | 706 | ||
| 707 | (make-obsolete-variable 'rmail-decode-mime-charset | ||
| 708 | "it does nothing." "23.1") | ||
| 709 | |||
| 699 | (defvar rmail-mime-charset-pattern | 710 | (defvar rmail-mime-charset-pattern |
| 700 | (concat "^content-type:[ \t]*text/plain;" | 711 | (concat "^content-type:[ \t]*text/plain;" |
| 701 | "\\(?:[ \t\n]*\\(?:format\\|delsp\\)=\"?[-a-z0-9]+\"?;\\)*" | 712 | "\\(?:[ \t\n]*\\(?:format\\|delsp\\)=\"?[-a-z0-9]+\"?;\\)*" |
| @@ -3128,10 +3139,9 @@ but probably is garbage." | |||
| 3128 | ;; This is adequate because its only caller, rmail-search, | 3139 | ;; This is adequate because its only caller, rmail-search, |
| 3129 | ;; unswaps the buffers. | 3140 | ;; unswaps the buffers. |
| 3130 | (goto-char (rmail-msgbeg msg)) | 3141 | (goto-char (rmail-msgbeg msg)) |
| 3131 | (if rmail-enable-mime | 3142 | (if (and rmail-enable-mime |
| 3132 | (if rmail-search-mime-message-function | 3143 | rmail-search-mime-message-function) |
| 3133 | (funcall rmail-search-mime-message-function msg regexp) | 3144 | (funcall rmail-search-mime-message-function msg regexp) |
| 3134 | (error "You must set `rmail-search-mime-message-function'")) | ||
| 3135 | (re-search-forward regexp (rmail-msgend msg) t))) | 3145 | (re-search-forward regexp (rmail-msgend msg) t))) |
| 3136 | 3146 | ||
| 3137 | (defvar rmail-search-last-regexp nil) | 3147 | (defvar rmail-search-last-regexp nil) |
| @@ -3798,7 +3808,8 @@ see the documentation of `rmail-resend'." | |||
| 3798 | ;; Insert after header separator--before signature if any. | 3808 | ;; Insert after header separator--before signature if any. |
| 3799 | (rfc822-goto-eoh) | 3809 | (rfc822-goto-eoh) |
| 3800 | (forward-line 1) | 3810 | (forward-line 1) |
| 3801 | (if (and rmail-enable-mime rmail-enable-mime-composing) | 3811 | (if (and rmail-enable-mime rmail-enable-mime-composing |
| 3812 | rmail-insert-mime-forwarded-message-function) | ||
| 3802 | (prog1 | 3813 | (prog1 |
| 3803 | (funcall rmail-insert-mime-forwarded-message-function | 3814 | (funcall rmail-insert-mime-forwarded-message-function |
| 3804 | forward-buffer) | 3815 | forward-buffer) |
| @@ -3854,10 +3865,9 @@ typically for purposes of moderating a list." | |||
| 3854 | (unwind-protect | 3865 | (unwind-protect |
| 3855 | (with-current-buffer tembuf | 3866 | (with-current-buffer tembuf |
| 3856 | ;;>> Copy message into temp buffer | 3867 | ;;>> Copy message into temp buffer |
| 3857 | (if rmail-enable-mime | 3868 | (if (and rmail-enable-mime |
| 3858 | (if rmail-insert-mime-resent-message-function | 3869 | rmail-insert-mime-resent-message-function) |
| 3859 | (funcall rmail-insert-mime-resent-message-function mailbuf) | 3870 | (funcall rmail-insert-mime-resent-message-function mailbuf) |
| 3860 | (error "You must set `rmail-insert-mime-resent-message-function'")) | ||
| 3861 | (insert-buffer-substring mailbuf)) | 3871 | (insert-buffer-substring mailbuf)) |
| 3862 | (goto-char (point-min)) | 3872 | (goto-char (point-min)) |
| 3863 | ;; Delete any Sender field, since that's not specifiable. | 3873 | ;; Delete any Sender field, since that's not specifiable. |
| @@ -4494,7 +4504,7 @@ With prefix argument N moves forward N messages with these labels. | |||
| 4494 | 4504 | ||
| 4495 | ;;;*** | 4505 | ;;;*** |
| 4496 | 4506 | ||
| 4497 | ;;;### (autoloads (rmail-mime) "rmailmm" "rmailmm.el" "6296f0170a37670c49a88a1b92d78187") | 4507 | ;;;### (autoloads (rmail-mime) "rmailmm" "rmailmm.el" "5ecb69456c4d86a4e905eb3008602a95") |
| 4498 | ;;; Generated autoloads from rmailmm.el | 4508 | ;;; Generated autoloads from rmailmm.el |
| 4499 | 4509 | ||
| 4500 | (autoload 'rmail-mime "rmailmm" "\ | 4510 | (autoload 'rmail-mime "rmailmm" "\ |
| @@ -4596,7 +4606,7 @@ If prefix argument REVERSE is non-nil, sorts in reverse order. | |||
| 4596 | 4606 | ||
| 4597 | ;;;### (autoloads (rmail-summary-by-senders rmail-summary-by-topic | 4607 | ;;;### (autoloads (rmail-summary-by-senders rmail-summary-by-topic |
| 4598 | ;;;;;; rmail-summary-by-regexp rmail-summary-by-recipients rmail-summary-by-labels | 4608 | ;;;;;; rmail-summary-by-regexp rmail-summary-by-recipients rmail-summary-by-labels |
| 4599 | ;;;;;; rmail-summary) "rmailsum" "rmailsum.el" "35e07b0a5ea8e41971f31a8780eba6bb") | 4609 | ;;;;;; rmail-summary) "rmailsum" "rmailsum.el" "1375d6512b953c0d7c3bde52192f4055") |
| 4600 | ;;; Generated autoloads from rmailsum.el | 4610 | ;;; Generated autoloads from rmailsum.el |
| 4601 | 4611 | ||
| 4602 | (autoload 'rmail-summary "rmailsum" "\ | 4612 | (autoload 'rmail-summary "rmailsum" "\ |
diff --git a/lisp/mail/rmailmm.el b/lisp/mail/rmailmm.el index f3b539c52d0..e53e0c0744e 100644 --- a/lisp/mail/rmailmm.el +++ b/lisp/mail/rmailmm.el | |||
| @@ -281,13 +281,20 @@ TRUNCATED is non-nil if the text of this entity was truncated." | |||
| 281 | 281 | ||
| 282 | (define-button-type 'rmail-mime-save 'action 'rmail-mime-save) | 282 | (define-button-type 'rmail-mime-save 'action 'rmail-mime-save) |
| 283 | 283 | ||
| 284 | ;; Display options returned by rmail-mime-entity-display. | ||
| 285 | ;; Value is on of nil, t, raw. | ||
| 286 | (defsubst rmail-mime-display-header (disp) (aref disp 0)) | ||
| 287 | (defsubst rmail-mime-display-tagline (disp) (aref disp 1)) | ||
| 288 | (defsubst rmail-mime-display-body (disp) (aref disp 2)) | ||
| 289 | |||
| 284 | (defun rmail-mime-entity-segment (pos &optional entity) | 290 | (defun rmail-mime-entity-segment (pos &optional entity) |
| 285 | "Return a vector describing the displayed region of a MIME-entity at POS. | 291 | "Return a vector describing the displayed region of a MIME-entity at POS. |
| 286 | Optional 2nd argument ENTITY is the MIME-entity at POS. | 292 | Optional 2nd argument ENTITY is the MIME-entity at POS. |
| 287 | The value is a vector [INDEX HEADER TAGLINE BODY END], where | 293 | The value is a vector [INDEX HEADER TAGLINE BODY END], where |
| 288 | INDEX: index into the returned vector indicating where POS is (1..3) | 294 | INDEX: index into the returned vector indicating where POS is (1..3) |
| 289 | HEADER: the position of the beginning of a header | 295 | HEADER: the position of the beginning of a header |
| 290 | TAGLINE: the position of the beginning of a tag line | 296 | TAGLINE: the position of the beginning of a tag line, including |
| 297 | the newline that precedes it | ||
| 291 | BODY: the position of the beginning of a body | 298 | BODY: the position of the beginning of a body |
| 292 | END: the position of the end of the entity." | 299 | END: the position of the end of the entity." |
| 293 | (save-excursion | 300 | (save-excursion |
| @@ -305,21 +312,32 @@ The value is a vector [INDEX HEADER TAGLINE BODY END], where | |||
| 305 | (index 1) | 312 | (index 1) |
| 306 | tagline-beg body-beg end) | 313 | tagline-beg body-beg end) |
| 307 | (goto-char beg) | 314 | (goto-char beg) |
| 308 | (if (aref current 0) | 315 | ;; If the header is displayed, get past it to the tagline. |
| 316 | (if (rmail-mime-display-header current) | ||
| 309 | (search-forward "\n\n" nil t)) | 317 | (search-forward "\n\n" nil t)) |
| 310 | (setq tagline-beg (point)) | 318 | (setq tagline-beg (point)) |
| 311 | (if (>= pos tagline-beg) | 319 | (if (>= pos tagline-beg) |
| 312 | (setq index 2)) | 320 | (setq index 2)) |
| 313 | (if (aref current 1) | 321 | ;; If the tagline is displayed, get past it to the body. |
| 314 | (forward-line 1)) | 322 | (if (rmail-mime-display-tagline current) |
| 323 | ;; The next foward-line call must be in sync with how | ||
| 324 | ;; `rmail-mime-insert-tagline' formats the tagline. The | ||
| 325 | ;; body begins after the empty line that ends the tagline. | ||
| 326 | (forward-line 3)) | ||
| 315 | (setq body-beg (point)) | 327 | (setq body-beg (point)) |
| 316 | (if (>= pos body-beg) | 328 | (if (>= pos body-beg) |
| 317 | (setq index 3)) | 329 | (setq index 3)) |
| 318 | (if (aref current 2) | 330 | ;; If the body is displayed, find its end. |
| 331 | (if (rmail-mime-display-body current) | ||
| 319 | (let ((tag (aref (rmail-mime-entity-tagline entity) 0)) | 332 | (let ((tag (aref (rmail-mime-entity-tagline entity) 0)) |
| 320 | tag2) | 333 | tag2) |
| 321 | (setq end (next-single-property-change beg 'rmail-mime-entity | 334 | (setq end (next-single-property-change beg 'rmail-mime-entity |
| 322 | nil (point-max))) | 335 | nil (point-max))) |
| 336 | ;; `tag' is either an empty string or "/n" where n is | ||
| 337 | ;; the number of the part of the multipart MIME message. | ||
| 338 | ;; The loop below finds the next location whose | ||
| 339 | ;; `rmail-mime-entity' property specifies a tag of a | ||
| 340 | ;; different value. | ||
| 323 | (while (and (< end (point-max)) | 341 | (while (and (< end (point-max)) |
| 324 | (setq entity (get-text-property end 'rmail-mime-entity) | 342 | (setq entity (get-text-property end 'rmail-mime-entity) |
| 325 | tag2 (aref (rmail-mime-entity-tagline entity) 0)) | 343 | tag2 (aref (rmail-mime-entity-tagline entity) 0)) |
| @@ -367,7 +385,7 @@ Use `raw' for raw mode, and any other non-nil value for decoded mode." | |||
| 367 | (segment (rmail-mime-entity-segment pos entity))) | 385 | (segment (rmail-mime-entity-segment pos entity))) |
| 368 | (if (or (eq state 'raw) | 386 | (if (or (eq state 'raw) |
| 369 | (and (not state) | 387 | (and (not state) |
| 370 | (not (eq (aref current 0) 'raw)))) | 388 | (not (eq (rmail-mime-display-header current) 'raw)))) |
| 371 | ;; Enter the raw mode. | 389 | ;; Enter the raw mode. |
| 372 | (rmail-mime-raw-mode entity) | 390 | (rmail-mime-raw-mode entity) |
| 373 | ;; Enter the shown mode. | 391 | ;; Enter the shown mode. |
| @@ -389,7 +407,7 @@ Use `raw' for raw mode, and any other non-nil value for decoded mode." | |||
| 389 | (entity (get-text-property pos 'rmail-mime-entity)) | 407 | (entity (get-text-property pos 'rmail-mime-entity)) |
| 390 | (current (aref (rmail-mime-entity-display entity) 0)) | 408 | (current (aref (rmail-mime-entity-display entity) 0)) |
| 391 | (segment (rmail-mime-entity-segment pos entity))) | 409 | (segment (rmail-mime-entity-segment pos entity))) |
| 392 | (if (aref current 2) | 410 | (if (rmail-mime-display-body current) |
| 393 | ;; Enter the hidden mode. | 411 | ;; Enter the hidden mode. |
| 394 | (progn | 412 | (progn |
| 395 | ;; If point is in the body part, move it to the tagline | 413 | ;; If point is in the body part, move it to the tagline |
| @@ -430,12 +448,15 @@ Use `raw' for raw mode, and any other non-nil value for decoded mode." | |||
| 430 | "Insert a tag line for MIME-entity ENTITY. | 448 | "Insert a tag line for MIME-entity ENTITY. |
| 431 | ITEM-LIST is a list of strings or button-elements (list) to add | 449 | ITEM-LIST is a list of strings or button-elements (list) to add |
| 432 | to the tag line." | 450 | to the tag line." |
| 451 | ;; Precede the tagline by an empty line to make it a separate | ||
| 452 | ;; paragraph, so that it is aligned to the left margin of the window | ||
| 453 | ;; even if preceded by a right-to-left paragraph. | ||
| 433 | (insert "\n[") | 454 | (insert "\n[") |
| 434 | (let ((tag (aref (rmail-mime-entity-tagline entity) 0))) | 455 | (let ((tag (aref (rmail-mime-entity-tagline entity) 0))) |
| 435 | (if (> (length tag) 0) (insert (substring tag 1) ":"))) | 456 | (if (> (length tag) 0) (insert (substring tag 1) ":"))) |
| 436 | (insert (car (rmail-mime-entity-type entity)) " ") | 457 | (insert (car (rmail-mime-entity-type entity)) " ") |
| 437 | (insert-button (let ((new (aref (rmail-mime-entity-display entity) 1))) | 458 | (insert-button (let ((new (aref (rmail-mime-entity-display entity) 1))) |
| 438 | (if (aref new 2) "Hide" "Show")) | 459 | (if (rmail-mime-display-body new) "Hide" "Show")) |
| 439 | :type 'rmail-mime-toggle | 460 | :type 'rmail-mime-toggle |
| 440 | 'help-echo "mouse-2, RET: Toggle show/hide") | 461 | 'help-echo "mouse-2, RET: Toggle show/hide") |
| 441 | (dolist (item item-list) | 462 | (dolist (item item-list) |
| @@ -443,6 +464,9 @@ to the tag line." | |||
| 443 | (if (stringp item) | 464 | (if (stringp item) |
| 444 | (insert item) | 465 | (insert item) |
| 445 | (apply 'insert-button item)))) | 466 | (apply 'insert-button item)))) |
| 467 | ;; Follow the tagline by an empty line to make it a separate | ||
| 468 | ;; paragraph, so that the paragraph direction of the following text | ||
| 469 | ;; is determined based on that text. | ||
| 446 | (insert "]\n\n")) | 470 | (insert "]\n\n")) |
| 447 | 471 | ||
| 448 | (defun rmail-mime-update-tagline (entity) | 472 | (defun rmail-mime-update-tagline (entity) |
| @@ -463,7 +487,9 @@ to the tag line." | |||
| 463 | (delete-region (button-start button) (point)) | 487 | (delete-region (button-start button) (point)) |
| 464 | (put-text-property (point) (button-end button) 'rmail-mime-entity entity) | 488 | (put-text-property (point) (button-end button) 'rmail-mime-entity entity) |
| 465 | (restore-buffer-modified-p modified) | 489 | (restore-buffer-modified-p modified) |
| 466 | (forward-line 1))) | 490 | ;; The following call to forward-line must be in sync with how |
| 491 | ;; rmail-mime-insert-tagline formats the tagline. | ||
| 492 | (forward-line 2))) | ||
| 467 | 493 | ||
| 468 | (defun rmail-mime-insert-header (header) | 494 | (defun rmail-mime-insert-header (header) |
| 469 | "Decode and insert a MIME-entity header HEADER in the current buffer. | 495 | "Decode and insert a MIME-entity header HEADER in the current buffer. |
| @@ -557,48 +583,35 @@ HEADER is a header component of a MIME-entity object (see | |||
| 557 | (delete-region (point-min) (point-max)))) | 583 | (delete-region (point-min) (point-max)))) |
| 558 | 584 | ||
| 559 | ;; header | 585 | ;; header |
| 560 | (if (eq (aref current 0) (aref new 0)) | 586 | (if (eq (rmail-mime-display-header current) |
| 587 | (rmail-mime-display-header new)) | ||
| 561 | (goto-char (aref segment 2)) | 588 | (goto-char (aref segment 2)) |
| 562 | (if (aref current 0) | 589 | (if (rmail-mime-display-header current) |
| 563 | (delete-char (- (aref segment 2) (aref segment 1)))) | 590 | (delete-char (- (aref segment 2) (aref segment 1)))) |
| 564 | (if (aref new 0) | 591 | (if (rmail-mime-display-header new) |
| 565 | (rmail-mime-insert-header header))) | 592 | (rmail-mime-insert-header header))) |
| 566 | ;; tagline | 593 | ;; tagline |
| 567 | (if (eq (aref current 1) (aref new 1)) | 594 | (if (eq (rmail-mime-display-tagline current) |
| 568 | (if (or (not (aref current 1)) | 595 | (rmail-mime-display-tagline new)) |
| 569 | (eq (aref current 2) (aref new 2))) | 596 | (if (or (not (rmail-mime-display-tagline current)) |
| 597 | (eq (rmail-mime-display-body current) | ||
| 598 | (rmail-mime-display-body new))) | ||
| 570 | (forward-char (- (aref segment 3) (aref segment 2))) | 599 | (forward-char (- (aref segment 3) (aref segment 2))) |
| 571 | (rmail-mime-update-tagline entity)) | 600 | (rmail-mime-update-tagline entity)) |
| 572 | (if (aref current 1) | 601 | (if (rmail-mime-display-tagline current) |
| 573 | (delete-char (- (aref segment 3) (aref segment 2)))) | 602 | (delete-char (- (aref segment 3) (aref segment 2)))) |
| 574 | (if (aref new 1) | 603 | (if (rmail-mime-display-tagline new) |
| 575 | (rmail-mime-insert-tagline entity))) | 604 | (rmail-mime-insert-tagline entity))) |
| 576 | ;; body | 605 | ;; body |
| 577 | (if (eq (aref current 2) (aref new 2)) | 606 | (if (eq (rmail-mime-display-body current) |
| 607 | (rmail-mime-display-body new)) | ||
| 578 | (forward-char (- (aref segment 4) (aref segment 3))) | 608 | (forward-char (- (aref segment 4) (aref segment 3))) |
| 579 | (if (aref current 2) | 609 | (if (rmail-mime-display-body current) |
| 580 | (delete-char (- (aref segment 4) (aref segment 3)))) | 610 | (delete-char (- (aref segment 4) (aref segment 3)))) |
| 581 | (if (aref new 2) | 611 | (if (rmail-mime-display-body new) |
| 582 | (rmail-mime-insert-decoded-text entity))) | 612 | (rmail-mime-insert-decoded-text entity))) |
| 583 | (put-text-property beg (point) 'rmail-mime-entity entity))) | 613 | (put-text-property beg (point) 'rmail-mime-entity entity))) |
| 584 | 614 | ||
| 585 | ;; FIXME move to the test/ directory? | ||
| 586 | (defun test-rmail-mime-handler () | ||
| 587 | "Test of a mail using no MIME parts at all." | ||
| 588 | (let ((mail "To: alex@gnu.org | ||
| 589 | Content-Type: text/plain; charset=koi8-r | ||
| 590 | Content-Transfer-Encoding: 8bit | ||
| 591 | MIME-Version: 1.0 | ||
| 592 | |||
| 593 | \372\304\322\301\327\323\324\327\325\312\324\305\41")) | ||
| 594 | (switch-to-buffer (get-buffer-create "*test*")) | ||
| 595 | (erase-buffer) | ||
| 596 | (set-buffer-multibyte nil) | ||
| 597 | (insert mail) | ||
| 598 | (rmail-mime-show t) | ||
| 599 | (set-buffer-multibyte t))) | ||
| 600 | |||
| 601 | |||
| 602 | (defun rmail-mime-insert-image (entity) | 615 | (defun rmail-mime-insert-image (entity) |
| 603 | "Decode and insert the image body of MIME-entity ENTITY." | 616 | "Decode and insert the image body of MIME-entity ENTITY." |
| 604 | (let* ((content-type (car (rmail-mime-entity-type entity))) | 617 | (let* ((content-type (car (rmail-mime-entity-type entity))) |
| @@ -726,22 +739,25 @@ directly." | |||
| 726 | (setq beg (point)) | 739 | (setq beg (point)) |
| 727 | 740 | ||
| 728 | ;; header | 741 | ;; header |
| 729 | (if (eq (aref current 0) (aref new 0)) | 742 | (if (eq (rmail-mime-display-header current) |
| 743 | (rmail-mime-display-header new)) | ||
| 730 | (goto-char (aref segment 2)) | 744 | (goto-char (aref segment 2)) |
| 731 | (if (aref current 0) | 745 | (if (rmail-mime-display-header current) |
| 732 | (delete-char (- (aref segment 2) (aref segment 1)))) | 746 | (delete-char (- (aref segment 2) (aref segment 1)))) |
| 733 | (if (aref new 0) | 747 | (if (rmail-mime-display-header new) |
| 734 | (rmail-mime-insert-header header))) | 748 | (rmail-mime-insert-header header))) |
| 735 | 749 | ||
| 736 | ;; tagline | 750 | ;; tagline |
| 737 | (if (eq (aref current 1) (aref new 1)) | 751 | (if (eq (rmail-mime-display-tagline current) |
| 738 | (if (or (not (aref current 1)) | 752 | (rmail-mime-display-tagline new)) |
| 739 | (eq (aref current 2) (aref new 2))) | 753 | (if (or (not (rmail-mime-display-tagline current)) |
| 754 | (eq (rmail-mime-display-body current) | ||
| 755 | (rmail-mime-display-body new))) | ||
| 740 | (forward-char (- (aref segment 3) (aref segment 2))) | 756 | (forward-char (- (aref segment 3) (aref segment 2))) |
| 741 | (rmail-mime-update-tagline entity)) | 757 | (rmail-mime-update-tagline entity)) |
| 742 | (if (aref current 1) | 758 | (if (rmail-mime-display-tagline current) |
| 743 | (delete-char (- (aref segment 3) (aref segment 2)))) | 759 | (delete-char (- (aref segment 3) (aref segment 2)))) |
| 744 | (if (aref new 1) | 760 | (if (rmail-mime-display-tagline new) |
| 745 | (rmail-mime-insert-tagline | 761 | (rmail-mime-insert-tagline |
| 746 | entity | 762 | entity |
| 747 | " Save:" | 763 | " Save:" |
| @@ -764,11 +780,12 @@ directly." | |||
| 764 | ;; 'image-data data)) | 780 | ;; 'image-data data)) |
| 765 | ))) | 781 | ))) |
| 766 | ;; body | 782 | ;; body |
| 767 | (if (eq (aref current 2) (aref new 2)) | 783 | (if (eq (rmail-mime-display-body current) |
| 784 | (rmail-mime-display-body new)) | ||
| 768 | (forward-char (- (aref segment 4) (aref segment 3))) | 785 | (forward-char (- (aref segment 4) (aref segment 3))) |
| 769 | (if (aref current 2) | 786 | (if (rmail-mime-display-body current) |
| 770 | (delete-char (- (aref segment 4) (aref segment 3)))) | 787 | (delete-char (- (aref segment 4) (aref segment 3)))) |
| 771 | (if (aref new 2) | 788 | (if (rmail-mime-display-body new) |
| 772 | (cond ((eq (cdr bulk-data) 'text) | 789 | (cond ((eq (cdr bulk-data) 'text) |
| 773 | (rmail-mime-insert-decoded-text entity)) | 790 | (rmail-mime-insert-decoded-text entity)) |
| 774 | ((cdr bulk-data) | 791 | ((cdr bulk-data) |
| @@ -779,27 +796,6 @@ directly." | |||
| 779 | (rmail-mime-insert-decoded-text entity))))) | 796 | (rmail-mime-insert-decoded-text entity))))) |
| 780 | (put-text-property beg (point) 'rmail-mime-entity entity))) | 797 | (put-text-property beg (point) 'rmail-mime-entity entity))) |
| 781 | 798 | ||
| 782 | (defun test-rmail-mime-bulk-handler () | ||
| 783 | "Test of a mail used as an example in RFC 2183." | ||
| 784 | (let ((mail "Content-Type: image/jpeg | ||
| 785 | Content-Disposition: attachment; filename=genome.jpeg; | ||
| 786 | modification-date=\"Wed, 12 Feb 1997 16:29:51 -0500\"; | ||
| 787 | Content-Description: a complete map of the human genome | ||
| 788 | Content-Transfer-Encoding: base64 | ||
| 789 | |||
| 790 | iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAABGdBTUEAALGPC/xhBQAAAAZQ | ||
| 791 | TFRF////AAAAVcLTfgAAAPZJREFUeNq9ldsOwzAIQ+3//+l1WlvA5ZLsoUiTto4TB+ISoAjy | ||
| 792 | +ITfRBfcAmgRFFeAm+J6uhdKdFhFWUgDkFsK0oUp/9G2//Kj7Jx+5tSKOdBscgUYiKHRS/me | ||
| 793 | WATQdRUvAK0Bnmshmtn79PpaLBbbOZkjKvRnjRZoRswOkG1wFchKew2g9wXVJVZL/m4+B+vv | ||
| 794 | 9AxQQR2Q33SgAYJzzVACdAWjAfRYzYFO9n6SLnydtQHSMxYDMAKqZ/8FS/lTK+zuq3CtK64L | ||
| 795 | UDwbgUEAUmk2Zyg101d6PhCDySgAvTvDgKiuOrc4dLxUb7UMnhGIexyI+d6U+ABuNAP4Simx | ||
| 796 | lgAAAABJRU5ErkJggg== | ||
| 797 | ")) | ||
| 798 | (switch-to-buffer (get-buffer-create "*test*")) | ||
| 799 | (erase-buffer) | ||
| 800 | (insert mail) | ||
| 801 | (rmail-mime-show))) | ||
| 802 | |||
| 803 | (defun rmail-mime-multipart-handler (content-type | 799 | (defun rmail-mime-multipart-handler (content-type |
| 804 | content-disposition | 800 | content-disposition |
| 805 | content-transfer-encoding) | 801 | content-transfer-encoding) |
| @@ -937,37 +933,6 @@ The other arguments are the same as `rmail-mime-multipart-handler'." | |||
| 937 | (rmail-mime-hidden-mode child))))) | 933 | (rmail-mime-hidden-mode child))))) |
| 938 | entities))) | 934 | entities))) |
| 939 | 935 | ||
| 940 | (defun test-rmail-mime-multipart-handler () | ||
| 941 | "Test of a mail used as an example in RFC 2046." | ||
| 942 | (let ((mail "From: Nathaniel Borenstein <nsb@bellcore.com> | ||
| 943 | To: Ned Freed <ned@innosoft.com> | ||
| 944 | Date: Sun, 21 Mar 1993 23:56:48 -0800 (PST) | ||
| 945 | Subject: Sample message | ||
| 946 | MIME-Version: 1.0 | ||
| 947 | Content-type: multipart/mixed; boundary=\"simple boundary\" | ||
| 948 | |||
| 949 | This is the preamble. It is to be ignored, though it | ||
| 950 | is a handy place for composition agents to include an | ||
| 951 | explanatory note to non-MIME conformant readers. | ||
| 952 | |||
| 953 | --simple boundary | ||
| 954 | |||
| 955 | This is implicitly typed plain US-ASCII text. | ||
| 956 | It does NOT end with a linebreak. | ||
| 957 | --simple boundary | ||
| 958 | Content-type: text/plain; charset=us-ascii | ||
| 959 | |||
| 960 | This is explicitly typed plain US-ASCII text. | ||
| 961 | It DOES end with a linebreak. | ||
| 962 | |||
| 963 | --simple boundary-- | ||
| 964 | |||
| 965 | This is the epilogue. It is also to be ignored.")) | ||
| 966 | (switch-to-buffer (get-buffer-create "*test*")) | ||
| 967 | (erase-buffer) | ||
| 968 | (insert mail) | ||
| 969 | (rmail-mime-show t))) | ||
| 970 | |||
| 971 | (defun rmail-mime-insert-multipart (entity) | 936 | (defun rmail-mime-insert-multipart (entity) |
| 972 | "Presentation handler for a multipart MIME entity." | 937 | "Presentation handler for a multipart MIME entity." |
| 973 | (let ((current (aref (rmail-mime-entity-display entity) 0)) | 938 | (let ((current (aref (rmail-mime-entity-display entity) 0)) |
| @@ -978,27 +943,31 @@ This is the epilogue. It is also to be ignored.")) | |||
| 978 | (beg (point)) | 943 | (beg (point)) |
| 979 | (segment (rmail-mime-entity-segment (point) entity))) | 944 | (segment (rmail-mime-entity-segment (point) entity))) |
| 980 | ;; header | 945 | ;; header |
| 981 | (if (eq (aref current 0) (aref new 0)) | 946 | (if (eq (rmail-mime-display-header current) |
| 947 | (rmail-mime-display-header new)) | ||
| 982 | (goto-char (aref segment 2)) | 948 | (goto-char (aref segment 2)) |
| 983 | (if (aref current 0) | 949 | (if (rmail-mime-display-header current) |
| 984 | (delete-char (- (aref segment 2) (aref segment 1)))) | 950 | (delete-char (- (aref segment 2) (aref segment 1)))) |
| 985 | (if (aref new 0) | 951 | (if (rmail-mime-display-header new) |
| 986 | (rmail-mime-insert-header header))) | 952 | (rmail-mime-insert-header header))) |
| 987 | ;; tagline | 953 | ;; tagline |
| 988 | (if (eq (aref current 1) (aref new 1)) | 954 | (if (eq (rmail-mime-display-tagline current) |
| 989 | (if (or (not (aref current 1)) | 955 | (rmail-mime-display-tagline new)) |
| 990 | (eq (aref current 2) (aref new 2))) | 956 | (if (or (not (rmail-mime-display-tagline current)) |
| 957 | (eq (rmail-mime-display-body current) | ||
| 958 | (rmail-mime-display-body new))) | ||
| 991 | (forward-char (- (aref segment 3) (aref segment 2))) | 959 | (forward-char (- (aref segment 3) (aref segment 2))) |
| 992 | (rmail-mime-update-tagline entity)) | 960 | (rmail-mime-update-tagline entity)) |
| 993 | (if (aref current 1) | 961 | (if (rmail-mime-display-tagline current) |
| 994 | (delete-char (- (aref segment 3) (aref segment 2)))) | 962 | (delete-char (- (aref segment 3) (aref segment 2)))) |
| 995 | (if (aref new 1) | 963 | (if (rmail-mime-display-tagline new) |
| 996 | (rmail-mime-insert-tagline entity))) | 964 | (rmail-mime-insert-tagline entity))) |
| 997 | 965 | ||
| 998 | (put-text-property beg (point) 'rmail-mime-entity entity) | 966 | (put-text-property beg (point) 'rmail-mime-entity entity) |
| 999 | 967 | ||
| 1000 | ;; body | 968 | ;; body |
| 1001 | (if (eq (aref current 2) (aref new 2)) | 969 | (if (eq (rmail-mime-display-body current) |
| 970 | (rmail-mime-display-body new)) | ||
| 1002 | (forward-char (- (aref segment 4) (aref segment 3))) | 971 | (forward-char (- (aref segment 4) (aref segment 3))) |
| 1003 | (dolist (child (rmail-mime-entity-children entity)) | 972 | (dolist (child (rmail-mime-entity-children entity)) |
| 1004 | (rmail-mime-insert child))) | 973 | (rmail-mime-insert child))) |
| @@ -1228,7 +1197,7 @@ This function will be called recursively if multiple parts are | |||
| 1228 | available." | 1197 | available." |
| 1229 | (let ((current (aref (rmail-mime-entity-display entity) 0)) | 1198 | (let ((current (aref (rmail-mime-entity-display entity) 0)) |
| 1230 | (new (aref (rmail-mime-entity-display entity) 1))) | 1199 | (new (aref (rmail-mime-entity-display entity) 1))) |
| 1231 | (if (not (eq (aref new 0) 'raw)) | 1200 | (if (not (eq (rmail-mime-display-header new) 'raw)) |
| 1232 | ;; Not a raw-mode. Each handler should handle it. | 1201 | ;; Not a raw-mode. Each handler should handle it. |
| 1233 | (funcall (rmail-mime-entity-handler entity) entity) | 1202 | (funcall (rmail-mime-entity-handler entity) entity) |
| 1234 | (let ((header (rmail-mime-entity-header entity)) | 1203 | (let ((header (rmail-mime-entity-header entity)) |
| @@ -1237,14 +1206,15 @@ available." | |||
| 1237 | (beg (point)) | 1206 | (beg (point)) |
| 1238 | (segment (rmail-mime-entity-segment (point) entity))) | 1207 | (segment (rmail-mime-entity-segment (point) entity))) |
| 1239 | ;; header | 1208 | ;; header |
| 1240 | (if (eq (aref current 0) (aref new 0)) | 1209 | (if (eq (rmail-mime-display-header current) |
| 1210 | (rmail-mime-display-header new)) | ||
| 1241 | (goto-char (aref segment 2)) | 1211 | (goto-char (aref segment 2)) |
| 1242 | (if (aref current 0) | 1212 | (if (rmail-mime-display-header current) |
| 1243 | (delete-char (- (aref segment 2) (aref segment 1)))) | 1213 | (delete-char (- (aref segment 2) (aref segment 1)))) |
| 1244 | (insert-buffer-substring rmail-mime-mbox-buffer | 1214 | (insert-buffer-substring rmail-mime-mbox-buffer |
| 1245 | (aref header 0) (aref header 1))) | 1215 | (aref header 0) (aref header 1))) |
| 1246 | ;; tagline | 1216 | ;; tagline |
| 1247 | (if (aref current 1) | 1217 | (if (rmail-mime-display-tagline current) |
| 1248 | (delete-char (- (aref segment 3) (aref segment 2)))) | 1218 | (delete-char (- (aref segment 3) (aref segment 2)))) |
| 1249 | ;; body | 1219 | ;; body |
| 1250 | (let ((children (rmail-mime-entity-children entity))) | 1220 | (let ((children (rmail-mime-entity-children entity))) |
| @@ -1253,9 +1223,10 @@ available." | |||
| 1253 | (put-text-property beg (point) 'rmail-mime-entity entity) | 1223 | (put-text-property beg (point) 'rmail-mime-entity entity) |
| 1254 | (dolist (child children) | 1224 | (dolist (child children) |
| 1255 | (rmail-mime-insert child))) | 1225 | (rmail-mime-insert child))) |
| 1256 | (if (eq (aref current 2) (aref new 2)) | 1226 | (if (eq (rmail-mime-display-body current) |
| 1227 | (rmail-mime-display-body new)) | ||
| 1257 | (forward-char (- (aref segment 4) (aref segment 3))) | 1228 | (forward-char (- (aref segment 4) (aref segment 3))) |
| 1258 | (if (aref current 2) | 1229 | (if (rmail-mime-display-body current) |
| 1259 | (delete-char (- (aref segment 4) (aref segment 3)))) | 1230 | (delete-char (- (aref segment 4) (aref segment 3)))) |
| 1260 | (insert-buffer-substring rmail-mime-mbox-buffer | 1231 | (insert-buffer-substring rmail-mime-mbox-buffer |
| 1261 | (aref body 0) (aref body 1)) | 1232 | (aref body 0) (aref body 1)) |
diff --git a/lisp/mail/rmailsum.el b/lisp/mail/rmailsum.el index a3f722443dc..e6a0a34f33b 100644 --- a/lisp/mail/rmailsum.el +++ b/lisp/mail/rmailsum.el | |||
| @@ -342,10 +342,9 @@ Emacs will list the message in the summary." | |||
| 342 | (defun rmail-message-regexp-p-1 (msg regexp) | 342 | (defun rmail-message-regexp-p-1 (msg regexp) |
| 343 | ;; Search functions can expect to start from the beginning. | 343 | ;; Search functions can expect to start from the beginning. |
| 344 | (narrow-to-region (point) (save-excursion (search-forward "\n\n") (point))) | 344 | (narrow-to-region (point) (save-excursion (search-forward "\n\n") (point))) |
| 345 | (if rmail-enable-mime | 345 | (if (and rmail-enable-mime |
| 346 | (if rmail-search-mime-header-function | 346 | rmail-search-mime-header-function) |
| 347 | (funcall rmail-search-mime-header-function msg regexp (point)) | 347 | (funcall rmail-search-mime-header-function msg regexp (point)) |
| 348 | (error "You must set `rmail-search-mime-header-function'")) | ||
| 349 | (re-search-forward regexp nil t))) | 348 | (re-search-forward regexp nil t))) |
| 350 | 349 | ||
| 351 | ;;;###autoload | 350 | ;;;###autoload |
diff --git a/lisp/mail/smtpmail.el b/lisp/mail/smtpmail.el index 026b03e350f..bc38b10124e 100644 --- a/lisp/mail/smtpmail.el +++ b/lisp/mail/smtpmail.el | |||
| @@ -975,7 +975,7 @@ The list is in preference order.") | |||
| 975 | (subst-char-in-region (point-min) (point-max) 9 ? t) ; tab --> blank | 975 | (subst-char-in-region (point-min) (point-max) 9 ? t) ; tab --> blank |
| 976 | 976 | ||
| 977 | (goto-char (point-min)) | 977 | (goto-char (point-min)) |
| 978 | ;; tidyness in case hook is not robust when it looks at this | 978 | ;; tidiness in case hook is not robust when it looks at this |
| 979 | (while (re-search-forward "[ \t]+" header-end t) (replace-match " ")) | 979 | (while (re-search-forward "[ \t]+" header-end t) (replace-match " ")) |
| 980 | 980 | ||
| 981 | (goto-char (point-min)) | 981 | (goto-char (point-min)) |
diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el index 9aa0ba4e262..9c020ffadab 100644 --- a/lisp/menu-bar.el +++ b/lisp/menu-bar.el | |||
| @@ -445,7 +445,7 @@ | |||
| 445 | (define-key menu [props] | 445 | (define-key menu [props] |
| 446 | `(menu-item ,(purecopy "Text Properties") facemenu-menu)) | 446 | `(menu-item ,(purecopy "Text Properties") facemenu-menu)) |
| 447 | 447 | ||
| 448 | ;; ns-win.el said: Add spell for platorm consistency. | 448 | ;; ns-win.el said: Add spell for platform consistency. |
| 449 | (if (featurep 'ns) | 449 | (if (featurep 'ns) |
| 450 | (define-key menu [spell] | 450 | (define-key menu [spell] |
| 451 | `(menu-item ,(purecopy "Spell") ispell-menu-map))) | 451 | `(menu-item ,(purecopy "Spell") ispell-menu-map))) |
diff --git a/lisp/mh-e/ChangeLog b/lisp/mh-e/ChangeLog index ca179a78b61..6bdd96c0fcc 100644 --- a/lisp/mh-e/ChangeLog +++ b/lisp/mh-e/ChangeLog | |||
| @@ -1,3 +1,14 @@ | |||
| 1 | 2011-11-20 Bill Wohler <wohler@newt.com> | ||
| 2 | |||
| 3 | * Release MH-E version 8.3.1. | ||
| 4 | |||
| 5 | * mh-e.el (Version, mh-version): Update for release 8.3.1. | ||
| 6 | |||
| 7 | 2011-11-20 Juanma Barranquero <lekktu@gmail.com> | ||
| 8 | |||
| 9 | * mh-utils.el (mh-folder-list): Fix typo. | ||
| 10 | (mh-children-p): Move part of the docstring to a comment. | ||
| 11 | |||
| 1 | 2011-11-16 Juanma Barranquero <lekktu@gmail.com> | 12 | 2011-11-16 Juanma Barranquero <lekktu@gmail.com> |
| 2 | 13 | ||
| 3 | * mh-search.el (mh-pick-parse-search-buffer): Fix typo. | 14 | * mh-search.el (mh-pick-parse-search-buffer): Fix typo. |
| @@ -347,7 +358,7 @@ | |||
| 347 | 358 | ||
| 348 | 2008-06-20 Stephen Eglen <stephen@gnu.org> | 359 | 2008-06-20 Stephen Eglen <stephen@gnu.org> |
| 349 | 360 | ||
| 350 | * mh-show.el (mh-defun-show-buffer): Use `...' rather than than | 361 | * mh-show.el (mh-defun-show-buffer): Use `...' rather than |
| 351 | "..." in generated docstrings. | 362 | "..." in generated docstrings. |
| 352 | 363 | ||
| 353 | 2008-06-12 Glenn Morris <rgm@gnu.org> | 364 | 2008-06-12 Glenn Morris <rgm@gnu.org> |
diff --git a/lisp/mh-e/ChangeLog.1 b/lisp/mh-e/ChangeLog.1 index b12c47e7f1f..d35d7d4c676 100644 --- a/lisp/mh-e/ChangeLog.1 +++ b/lisp/mh-e/ChangeLog.1 | |||
| @@ -10944,7 +10944,7 @@ | |||
| 10944 | 2001-11-21 Peter S Galbraith <psg@debian.org> | 10944 | 2001-11-21 Peter S Galbraith <psg@debian.org> |
| 10945 | 10945 | ||
| 10946 | * mh-comp.el (mh-reply-show-message-p): The setting of this | 10946 | * mh-comp.el (mh-reply-show-message-p): The setting of this |
| 10947 | variable determines whether the MH show-buffer is diplayed with | 10947 | variable determines whether the MH show-buffer is displayed with |
| 10948 | the current message when using mh-reply without a prefix argument. | 10948 | the current message when using mh-reply without a prefix argument. |
| 10949 | Set it to nil if you already include the message automatically in | 10949 | Set it to nil if you already include the message automatically in |
| 10950 | your draft using "repl: -filter repl.filter" in your ~/.mh_profile | 10950 | your draft using "repl: -filter repl.filter" in your ~/.mh_profile |
diff --git a/lisp/mh-e/mh-e.el b/lisp/mh-e/mh-e.el index b614cdb7991..77ff914b0cc 100644 --- a/lisp/mh-e/mh-e.el +++ b/lisp/mh-e/mh-e.el | |||
| @@ -5,7 +5,7 @@ | |||
| 5 | 5 | ||
| 6 | ;; Author: Bill Wohler <wohler@newt.com> | 6 | ;; Author: Bill Wohler <wohler@newt.com> |
| 7 | ;; Maintainer: Bill Wohler <wohler@newt.com> | 7 | ;; Maintainer: Bill Wohler <wohler@newt.com> |
| 8 | ;; Version: 8.3 | 8 | ;; Version: 8.3.1 |
| 9 | ;; Keywords: mail | 9 | ;; Keywords: mail |
| 10 | 10 | ||
| 11 | ;; This file is part of GNU Emacs. | 11 | ;; This file is part of GNU Emacs. |
| @@ -127,7 +127,7 @@ | |||
| 127 | ;; Try to keep variables local to a single file. Provide accessors if | 127 | ;; Try to keep variables local to a single file. Provide accessors if |
| 128 | ;; variables are shared. Use this section as a last resort. | 128 | ;; variables are shared. Use this section as a last resort. |
| 129 | 129 | ||
| 130 | (defconst mh-version "8.3" "Version number of MH-E.") | 130 | (defconst mh-version "8.3.1" "Version number of MH-E.") |
| 131 | 131 | ||
| 132 | ;; Variants | 132 | ;; Variants |
| 133 | 133 | ||
diff --git a/lisp/mh-e/mh-mime.el b/lisp/mh-e/mh-mime.el index 0327b64a33f..a97185e1496 100644 --- a/lisp/mh-e/mh-mime.el +++ b/lisp/mh-e/mh-mime.el | |||
| @@ -1399,7 +1399,7 @@ See also \\[mh-mh-to-mime]." | |||
| 1399 | ("mailto") ; RFC1738 Electronic mail address | 1399 | ("mailto") ; RFC1738 Electronic mail address |
| 1400 | ("news") ; RFC1738 Usenet news | 1400 | ("news") ; RFC1738 Usenet news |
| 1401 | ("nntp") ; RFC1738 Usenet news using NNTP access | 1401 | ("nntp") ; RFC1738 Usenet news using NNTP access |
| 1402 | ("propspero") ; RFC1738 Prospero Directory Service | 1402 | ("prospero") ; RFC1738 Prospero Directory Service |
| 1403 | ("telnet") ; RFC1738 Telnet | 1403 | ("telnet") ; RFC1738 Telnet |
| 1404 | ("tftp") ; RFC2046 Trivial File Transfer Protocol | 1404 | ("tftp") ; RFC2046 Trivial File Transfer Protocol |
| 1405 | ("url") ; RFC2017 URL scheme MIME access-type Protocol | 1405 | ("url") ; RFC2017 URL scheme MIME access-type Protocol |
diff --git a/lisp/mh-e/mh-utils.el b/lisp/mh-e/mh-utils.el index 6132af17dab..327d8ad7040 100644 --- a/lisp/mh-e/mh-utils.el +++ b/lisp/mh-e/mh-utils.el | |||
| @@ -484,18 +484,18 @@ no effect." | |||
| 484 | folder) | 484 | folder) |
| 485 | 485 | ||
| 486 | (defmacro mh-children-p (folder) | 486 | (defmacro mh-children-p (folder) |
| 487 | "Return t if FOLDER from sub-folders cache has children. | 487 | "Return t if FOLDER from sub-folders cache has children." |
| 488 | The car of folder is the name, and the cdr is either t or some | 488 | ;; The car of folder is the name, and the cdr is either t or some |
| 489 | sort of count that I do not understand. It's too small to be the | 489 | ;; sort of count that I do not understand. It's too small to be the |
| 490 | number of messages in the sub-folders and too large to be the | 490 | ;; number of messages in the sub-folders and too large to be the |
| 491 | number of sub-folders. XXX" | 491 | ;; number of sub-folders. XXX |
| 492 | `(if (cdr ,folder) | 492 | `(if (cdr ,folder) |
| 493 | t | 493 | t |
| 494 | nil)) | 494 | nil)) |
| 495 | 495 | ||
| 496 | ;;;###mh-autoload | 496 | ;;;###mh-autoload |
| 497 | (defun mh-folder-list (folder) | 497 | (defun mh-folder-list (folder) |
| 498 | "Return FOLDER and its descendents. | 498 | "Return FOLDER and its descendants. |
| 499 | FOLDER may have a + prefix. Returns a list of strings without the | 499 | FOLDER may have a + prefix. Returns a list of strings without the |
| 500 | + prefix. If FOLDER is nil, then all folders are considered. For | 500 | + prefix. If FOLDER is nil, then all folders are considered. For |
| 501 | example, if your Mail directory only contains the folders +inbox, | 501 | example, if your Mail directory only contains the folders +inbox, |
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el index 38785fc48e8..11e195d4f7f 100644 --- a/lisp/minibuffer.el +++ b/lisp/minibuffer.el | |||
| @@ -51,7 +51,7 @@ | |||
| 51 | ;; - choose-completion doesn't know how to quote the text it inserts. | 51 | ;; - choose-completion doesn't know how to quote the text it inserts. |
| 52 | ;; E.g. it fails to double the dollars in file-name completion, or | 52 | ;; E.g. it fails to double the dollars in file-name completion, or |
| 53 | ;; to backslash-escape spaces and other chars in comint completion. | 53 | ;; to backslash-escape spaces and other chars in comint completion. |
| 54 | ;; - when completing ~/tmp/fo$$o, the highligting in *Completions* | 54 | ;; - when completing ~/tmp/fo$$o, the highlighting in *Completions* |
| 55 | ;; is off by one position. | 55 | ;; is off by one position. |
| 56 | ;; - all code like PCM which relies on all-completions to match | 56 | ;; - all code like PCM which relies on all-completions to match |
| 57 | ;; its argument gets confused because all-completions returns unquoted | 57 | ;; its argument gets confused because all-completions returns unquoted |
| @@ -2427,7 +2427,7 @@ PATTERN is as returned by `completion-pcm--string->pattern'." | |||
| 2427 | "Find all completions for STRING at POINT in TABLE, satisfying PRED. | 2427 | "Find all completions for STRING at POINT in TABLE, satisfying PRED. |
| 2428 | POINT is a position inside STRING. | 2428 | POINT is a position inside STRING. |
| 2429 | FILTER is a function applied to the return value, that can be used, e.g. to | 2429 | FILTER is a function applied to the return value, that can be used, e.g. to |
| 2430 | filter out additional entries (because TABLE migth not obey PRED)." | 2430 | filter out additional entries (because TABLE might not obey PRED)." |
| 2431 | (unless filter (setq filter 'identity)) | 2431 | (unless filter (setq filter 'identity)) |
| 2432 | (let* ((beforepoint (substring string 0 point)) | 2432 | (let* ((beforepoint (substring string 0 point)) |
| 2433 | (afterpoint (substring string point)) | 2433 | (afterpoint (substring string point)) |
diff --git a/lisp/misearch.el b/lisp/misearch.el index c533562f073..de1a32ff7d5 100644 --- a/lisp/misearch.el +++ b/lisp/misearch.el | |||
| @@ -142,7 +142,7 @@ Intended to be added to `isearch-mode-hook'." | |||
| 142 | ;; 1. First try searching in the initial buffer | 142 | ;; 1. First try searching in the initial buffer |
| 143 | (let ((res (funcall search-fun string bound noerror))) | 143 | (let ((res (funcall search-fun string bound noerror))) |
| 144 | ;; Reset wrapping for all-buffers pause after successful search | 144 | ;; Reset wrapping for all-buffers pause after successful search |
| 145 | (if (and res (eq multi-isearch-pause t)) | 145 | (if (and res (not bound) (eq multi-isearch-pause t)) |
| 146 | (setq multi-isearch-current-buffer nil)) | 146 | (setq multi-isearch-current-buffer nil)) |
| 147 | res) | 147 | res) |
| 148 | ;; 2. If the above search fails, start visiting next/prev buffers | 148 | ;; 2. If the above search fails, start visiting next/prev buffers |
| @@ -173,8 +173,8 @@ Intended to be added to `isearch-mode-hook'." | |||
| 173 | found) | 173 | found) |
| 174 | ;; Return nil when multi-isearch-next-buffer-current-function fails | 174 | ;; Return nil when multi-isearch-next-buffer-current-function fails |
| 175 | ;; (`with-current-buffer' raises an error for nil returned from it). | 175 | ;; (`with-current-buffer' raises an error for nil returned from it). |
| 176 | (error nil)) | 176 | (error (signal 'search-failed (list string "end of multi")))) |
| 177 | (signal 'search-failed (list string "Repeat for next buffer")))))))) | 177 | (signal 'search-failed (list string "repeat for next buffer")))))))) |
| 178 | 178 | ||
| 179 | (defun multi-isearch-wrap () | 179 | (defun multi-isearch-wrap () |
| 180 | "Wrap the multiple buffers search when search is failed. | 180 | "Wrap the multiple buffers search when search is failed. |
diff --git a/lisp/mouse-sel.el b/lisp/mouse-sel.el index bcf1749e13f..7f04cac96fe 100644 --- a/lisp/mouse-sel.el +++ b/lisp/mouse-sel.el | |||
| @@ -60,7 +60,7 @@ | |||
| 60 | ;; | 60 | ;; |
| 61 | ;; Thanks to KevinB@bartley.demon.co.uk for his useful input. | 61 | ;; Thanks to KevinB@bartley.demon.co.uk for his useful input. |
| 62 | ;; | 62 | ;; |
| 63 | ;;--- Customisation ------------------------------------------------------- | 63 | ;;--- Customization ------------------------------------------------------- |
| 64 | ;; | 64 | ;; |
| 65 | ;; * You may want to use none or more of following: | 65 | ;; * You may want to use none or more of following: |
| 66 | ;; | 66 | ;; |
diff --git a/lisp/mpc.el b/lisp/mpc.el index 238e8ad68ae..6c2556b1f39 100644 --- a/lisp/mpc.el +++ b/lisp/mpc.el | |||
| @@ -1589,7 +1589,7 @@ when constructing the set of constraints." | |||
| 1589 | (defvar mpc--changed-selection) | 1589 | (defvar mpc--changed-selection) |
| 1590 | 1590 | ||
| 1591 | (defun mpc-reorder (&optional nodeactivate) | 1591 | (defun mpc-reorder (&optional nodeactivate) |
| 1592 | "Reorder entries based on thre currently active selections. | 1592 | "Reorder entries based on the currently active selections. |
| 1593 | I.e. split the current browser buffer into a first part containing the | 1593 | I.e. split the current browser buffer into a first part containing the |
| 1594 | entries included in the selection, then a separator, and then the entries | 1594 | entries included in the selection, then a separator, and then the entries |
| 1595 | not included in the selection. | 1595 | not included in the selection. |
diff --git a/lisp/net/ange-ftp.el b/lisp/net/ange-ftp.el index cbad30199d7..f6a5b53ae7f 100644 --- a/lisp/net/ange-ftp.el +++ b/lisp/net/ange-ftp.el | |||
| @@ -46,7 +46,7 @@ | |||
| 46 | ;; Extended filename syntax: | 46 | ;; Extended filename syntax: |
| 47 | ;; | 47 | ;; |
| 48 | ;; The default extended filename syntax is '/user@host:name', where the | 48 | ;; The default extended filename syntax is '/user@host:name', where the |
| 49 | ;; 'user@' part may be omitted. This syntax can be customised to a certain | 49 | ;; 'user@' part may be omitted. This syntax can be customized to a certain |
| 50 | ;; extent by changing ange-ftp-name-format. There are limitations. | 50 | ;; extent by changing ange-ftp-name-format. There are limitations. |
| 51 | ;; The `host' part has an optional suffix `#port' which may be used to | 51 | ;; The `host' part has an optional suffix `#port' which may be used to |
| 52 | ;; specify a non-default port number for the connexion. | 52 | ;; specify a non-default port number for the connexion. |
| @@ -721,7 +721,7 @@ parenthesized expressions in REGEXP for the components (in that order)." | |||
| 721 | "^local:\\|^Trying\\|^125 \\|^550-\\|^221 .*oodbye\\|" | 721 | "^local:\\|^Trying\\|^125 \\|^550-\\|^221 .*oodbye\\|" |
| 722 | "^500 .*AUTH\\|^KERBEROS\\|" | 722 | "^500 .*AUTH\\|^KERBEROS\\|" |
| 723 | "^504 Unknown security mechanism\\|" | 723 | "^504 Unknown security mechanism\\|" |
| 724 | "^530 Please login with USER and PASS\\|" ; non kerberised vsFTPd | 724 | "^530 Please login with USER and PASS\\|" ; non kerberized vsFTPd |
| 725 | "^534 Kerberos Authentication not enabled\\|" | 725 | "^534 Kerberos Authentication not enabled\\|" |
| 726 | "^22[789] .*[Pp]assive\\|^200 EPRT\\|^500 .*EPRT") | 726 | "^22[789] .*[Pp]assive\\|^200 EPRT\\|^500 .*EPRT") |
| 727 | "Regular expression matching FTP messages that can be ignored." | 727 | "Regular expression matching FTP messages that can be ignored." |
| @@ -1665,7 +1665,7 @@ good, skip, fatal, or unknown." | |||
| 1665 | (ange-ftp-process-handle-line line proc) | 1665 | (ange-ftp-process-handle-line line proc) |
| 1666 | ;; If we've seen a potential error message and it | 1666 | ;; If we've seen a potential error message and it |
| 1667 | ;; hasn't been cancelled by a good message before | 1667 | ;; hasn't been cancelled by a good message before |
| 1668 | ;; seeing a propt, then the error was real. | 1668 | ;; seeing a prompt, then the error was real. |
| 1669 | (delete-process proc) | 1669 | (delete-process proc) |
| 1670 | (setq ange-ftp-process-busy nil | 1670 | (setq ange-ftp-process-busy nil |
| 1671 | ange-ftp-process-result-line ange-ftp-pending-error-line)))) | 1671 | ange-ftp-process-result-line ange-ftp-pending-error-line)))) |
diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el index b78e8d5676c..34bfb403e1c 100644 --- a/lisp/net/browse-url.el +++ b/lisp/net/browse-url.el | |||
| @@ -100,7 +100,7 @@ | |||
| 100 | ;; <URL:ftp://ftp.lysator.liu.se/pub/sgml>; hm--html-menus can be used | 100 | ;; <URL:ftp://ftp.lysator.liu.se/pub/sgml>; hm--html-menus can be used |
| 101 | ;; with this. | 101 | ;; with this. |
| 102 | 102 | ||
| 103 | ;; This package generalises function html-previewer-process in Marc | 103 | ;; This package generalizes function html-previewer-process in Marc |
| 104 | ;; Andreessen's html-mode (LCD modes/html-mode.el.Z). See also the | 104 | ;; Andreessen's html-mode (LCD modes/html-mode.el.Z). See also the |
| 105 | ;; ffap.el package. The huge hyperbole package also contains similar | 105 | ;; ffap.el package. The huge hyperbole package also contains similar |
| 106 | ;; functions. | 106 | ;; functions. |
| @@ -138,7 +138,7 @@ | |||
| 138 | ;; M-x browse-url-of-dired-file RET | 138 | ;; M-x browse-url-of-dired-file RET |
| 139 | 139 | ||
| 140 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 140 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| 141 | ;; Customisation (~/.emacs) | 141 | ;; Customization (~/.emacs) |
| 142 | 142 | ||
| 143 | ;; To see what variables are available for customization, type | 143 | ;; To see what variables are available for customization, type |
| 144 | ;; `M-x set-variable browse-url TAB'. Better, use | 144 | ;; `M-x set-variable browse-url TAB'. Better, use |
| @@ -190,7 +190,7 @@ | |||
| 190 | ;; | 190 | ;; |
| 191 | ;; (add-hook 'browse-url-of-file-hook 'browse-url-netscape-reload) | 191 | ;; (add-hook 'browse-url-of-file-hook 'browse-url-netscape-reload) |
| 192 | 192 | ||
| 193 | ;; You may also want to customise browse-url-netscape-arguments, e.g. | 193 | ;; You may also want to customize browse-url-netscape-arguments, e.g. |
| 194 | ;; (setq browse-url-netscape-arguments '("-install")) | 194 | ;; (setq browse-url-netscape-arguments '("-install")) |
| 195 | ;; | 195 | ;; |
| 196 | ;; or similarly for the other browsers. | 196 | ;; or similarly for the other browsers. |
diff --git a/lisp/net/newst-plainview.el b/lisp/net/newst-plainview.el index 16b36df07f8..f1b3ce7fd05 100644 --- a/lisp/net/newst-plainview.el +++ b/lisp/net/newst-plainview.el | |||
| @@ -1574,7 +1574,7 @@ property to '(<nt-type>-<nt-age> <nt-type> <nt-age>)." | |||
| 1574 | (while (and (setq pos2 (next-single-property-change pos1 'nt-type)) | 1574 | (while (and (setq pos2 (next-single-property-change pos1 'nt-type)) |
| 1575 | (<= pos2 end) | 1575 | (<= pos2 end) |
| 1576 | (> pos2 pos1)) | 1576 | (> pos2 pos1)) |
| 1577 | ;; must shift one char to the left in order to handle inivisible | 1577 | ;; must shift one char to the left in order to handle invisible |
| 1578 | ;; newlines, motion in invisible text areas and all that correctly | 1578 | ;; newlines, motion in invisible text areas and all that correctly |
| 1579 | (put-text-property (1- pos1) (1- pos2) | 1579 | (put-text-property (1- pos1) (1- pos2) |
| 1580 | 'invisible | 1580 | 'invisible |
diff --git a/lisp/net/newst-treeview.el b/lisp/net/newst-treeview.el index 7cfdd2cb89d..8ff74a94eb0 100644 --- a/lisp/net/newst-treeview.el +++ b/lisp/net/newst-treeview.el | |||
| @@ -1793,7 +1793,7 @@ Update teeview afterwards unless NO-UPDATE is non-nil." | |||
| 1793 | result)) | 1793 | result)) |
| 1794 | 1794 | ||
| 1795 | (defun newsticker--group-remove-obsolete-feeds (group) | 1795 | (defun newsticker--group-remove-obsolete-feeds (group) |
| 1796 | "Recursively remove obselete feeds from GROUP." | 1796 | "Recursively remove obsolete feeds from GROUP." |
| 1797 | (let ((result nil) | 1797 | (let ((result nil) |
| 1798 | (urls (append newsticker-url-list newsticker-url-list-defaults))) | 1798 | (urls (append newsticker-url-list newsticker-url-list-defaults))) |
| 1799 | (mapc (lambda (g) | 1799 | (mapc (lambda (g) |
diff --git a/lisp/net/ntlm.el b/lisp/net/ntlm.el index 25e7a7b43de..9af148e8faa 100644 --- a/lisp/net/ntlm.el +++ b/lisp/net/ntlm.el | |||
| @@ -102,8 +102,8 @@ is not given." | |||
| 102 | (md4-pack-int16 ld) ;domain field, count field | 102 | (md4-pack-int16 ld) ;domain field, count field |
| 103 | (md4-pack-int16 ld) ;domain field, max count field | 103 | (md4-pack-int16 ld) ;domain field, max count field |
| 104 | (md4-pack-int32 (cons 0 off-d)) ;domain field, offset field | 104 | (md4-pack-int32 (cons 0 off-d)) ;domain field, offset field |
| 105 | user ;bufer field | 105 | user ;buffer field |
| 106 | domain ;bufer field | 106 | domain ;buffer field |
| 107 | ))) | 107 | ))) |
| 108 | 108 | ||
| 109 | (eval-when-compile | 109 | (eval-when-compile |
| @@ -207,16 +207,16 @@ by PASSWORD-HASHES. PASSWORD-HASHES should be a return value of | |||
| 207 | ;; buffer field | 207 | ;; buffer field |
| 208 | lmRespData ;lmResponse, 24 bytes | 208 | lmRespData ;lmResponse, 24 bytes |
| 209 | ntRespData ;ntResponse, 24 bytes | 209 | ntRespData ;ntResponse, 24 bytes |
| 210 | (ntlm-ascii2unicode domain ;unicode domain string, 2*ld bytes | 210 | (ntlm-ascii2unicode domain ;Unicode domain string, 2*ld bytes |
| 211 | (length domain)) ; | 211 | (length domain)) ; |
| 212 | (ntlm-ascii2unicode user ;unicode user string, 2*lu bytes | 212 | (ntlm-ascii2unicode user ;Unicode user string, 2*lu bytes |
| 213 | (length user)) ; | 213 | (length user)) ; |
| 214 | (ntlm-ascii2unicode user ;unicode user string, 2*lu bytes | 214 | (ntlm-ascii2unicode user ;Unicode user string, 2*lu bytes |
| 215 | (length user)) ; | 215 | (length user)) ; |
| 216 | ))) | 216 | ))) |
| 217 | 217 | ||
| 218 | (defun ntlm-get-password-hashes (password) | 218 | (defun ntlm-get-password-hashes (password) |
| 219 | "Return a pair of SMB hash and NT MD4 hash of the given password PASSWORD" | 219 | "Return a pair of SMB hash and NT MD4 hash of the given password PASSWORD." |
| 220 | (list (ntlm-smb-passwd-hash password) | 220 | (list (ntlm-smb-passwd-hash password) |
| 221 | (ntlm-md4hash password))) | 221 | (ntlm-md4hash password))) |
| 222 | 222 | ||
| @@ -526,7 +526,7 @@ into a Unicode string. PASSWD is truncated to 128 bytes if longer." | |||
| 526 | (setq len (length passwd)) | 526 | (setq len (length passwd)) |
| 527 | (if (> len 128) | 527 | (if (> len 128) |
| 528 | (setq len 128)) | 528 | (setq len 128)) |
| 529 | ;; Password must be converted to NT unicode | 529 | ;; Password must be converted to NT Unicode |
| 530 | (setq wpwd (ntlm-ascii2unicode passwd len)) | 530 | (setq wpwd (ntlm-ascii2unicode passwd len)) |
| 531 | ;; Calculate length in bytes | 531 | ;; Calculate length in bytes |
| 532 | (setq len (* len 2)) | 532 | (setq len (* len 2)) |
diff --git a/lisp/net/quickurl.el b/lisp/net/quickurl.el index 7a1e5fc6a80..a31ec496c16 100644 --- a/lisp/net/quickurl.el +++ b/lisp/net/quickurl.el | |||
| @@ -201,7 +201,7 @@ in your ~/.emacs (after loading/requiring quickurl).") | |||
| 201 | (listp (cdr url))) | 201 | (listp (cdr url))) |
| 202 | 202 | ||
| 203 | (defun quickurl-make-url (keyword url &optional comment) | 203 | (defun quickurl-make-url (keyword url &optional comment) |
| 204 | "Create a URL from KEYWORD, URL and (optionaly) COMMENT." | 204 | "Create a URL from KEYWORD, URL and (optionally) COMMENT." |
| 205 | (if (and comment (not (zerop (length comment)))) | 205 | (if (and comment (not (zerop (length comment)))) |
| 206 | (list keyword url comment) | 206 | (list keyword url comment) |
| 207 | (cons keyword url))) | 207 | (cons keyword url))) |
diff --git a/lisp/net/rcirc.el b/lisp/net/rcirc.el index f6981aeabd9..7d069a0f306 100644 --- a/lisp/net/rcirc.el +++ b/lisp/net/rcirc.el | |||
| @@ -659,7 +659,7 @@ Functions are called with PROCESS and SENTINEL arguments.") | |||
| 659 | (defun rcirc-disconnect-buffer (&optional buffer) | 659 | (defun rcirc-disconnect-buffer (&optional buffer) |
| 660 | (with-current-buffer (or buffer (current-buffer)) | 660 | (with-current-buffer (or buffer (current-buffer)) |
| 661 | ;; set rcirc-target to nil for each channel so cleanup | 661 | ;; set rcirc-target to nil for each channel so cleanup |
| 662 | ;; doesnt happen when we reconnect | 662 | ;; doesn't happen when we reconnect |
| 663 | (setq rcirc-target nil) | 663 | (setq rcirc-target nil) |
| 664 | (setq mode-line-process ":disconnected"))) | 664 | (setq mode-line-process ":disconnected"))) |
| 665 | 665 | ||
diff --git a/lisp/net/tramp-cmds.el b/lisp/net/tramp-cmds.el index fcf523a7068..998f62920a1 100644 --- a/lisp/net/tramp-cmds.el +++ b/lisp/net/tramp-cmds.el | |||
| @@ -23,7 +23,7 @@ | |||
| 23 | 23 | ||
| 24 | ;;; Commentary: | 24 | ;;; Commentary: |
| 25 | 25 | ||
| 26 | ;; This package provides all interactive commands which are releated | 26 | ;; This package provides all interactive commands which are related |
| 27 | ;; to Tramp. | 27 | ;; to Tramp. |
| 28 | 28 | ||
| 29 | ;;; Code: | 29 | ;;; Code: |
diff --git a/lisp/net/tramp-gvfs.el b/lisp/net/tramp-gvfs.el index 269b47be20c..fda88351253 100644 --- a/lisp/net/tramp-gvfs.el +++ b/lisp/net/tramp-gvfs.el | |||
| @@ -39,7 +39,7 @@ | |||
| 39 | ;; Consequently, GNU Emacs 23.1 with enabled D-Bus bindings is a | 39 | ;; Consequently, GNU Emacs 23.1 with enabled D-Bus bindings is a |
| 40 | ;; precondition. | 40 | ;; precondition. |
| 41 | 41 | ||
| 42 | ;; The GVFS D-Bus interface is said to be instable. There are even no | 42 | ;; The GVFS D-Bus interface is said to be unstable. There are even no |
| 43 | ;; introspection data. The interface, as discovered during | 43 | ;; introspection data. The interface, as discovered during |
| 44 | ;; development time, is given in respective comments. | 44 | ;; development time, is given in respective comments. |
| 45 | 45 | ||
diff --git a/lisp/net/tramp-gw.el b/lisp/net/tramp-gw.el index 70b70004de9..4ddd63bc3b8 100644 --- a/lisp/net/tramp-gw.el +++ b/lisp/net/tramp-gw.el | |||
| @@ -178,7 +178,7 @@ instead of the host name declared in TARGET-VEC." | |||
| 178 | (tramp-file-name-host gw-vec))) | 178 | (tramp-file-name-host gw-vec))) |
| 179 | ;; Declare the SOCKS server to be used. | 179 | ;; Declare the SOCKS server to be used. |
| 180 | (socks-server | 180 | (socks-server |
| 181 | (list "Tramp tempory socks server list" | 181 | (list "Tramp temporary socks server list" |
| 182 | ;; Host name. | 182 | ;; Host name. |
| 183 | (tramp-file-name-real-host gw-vec) | 183 | (tramp-file-name-real-host gw-vec) |
| 184 | ;; Port number. | 184 | ;; Port number. |
diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el index 50a3c1fca5e..941b788ae4d 100644 --- a/lisp/net/tramp-sh.el +++ b/lisp/net/tramp-sh.el | |||
| @@ -4905,7 +4905,7 @@ If no corresponding command is found, nil is returned." | |||
| 4905 | 4905 | ||
| 4906 | (defun tramp-get-inline-coding (vec prop size) | 4906 | (defun tramp-get-inline-coding (vec prop size) |
| 4907 | "Return the coding command related to PROP. | 4907 | "Return the coding command related to PROP. |
| 4908 | PROP is either `remote-encoding', `remode-decoding', | 4908 | PROP is either `remote-encoding', `remote-decoding', |
| 4909 | `local-encoding' or `local-decoding'. | 4909 | `local-encoding' or `local-decoding'. |
| 4910 | 4910 | ||
| 4911 | SIZE is the length of the file to be coded. Depending on SIZE, | 4911 | SIZE is the length of the file to be coded. Depending on SIZE, |
| @@ -5033,11 +5033,11 @@ function cell is returned to be applied on a buffer." | |||
| 5033 | ;; until the last but one hop via `start-file-process'. Apply it | 5033 | ;; until the last but one hop via `start-file-process'. Apply it |
| 5034 | ;; also for ftp and smb. | 5034 | ;; also for ftp and smb. |
| 5035 | ;; * WIBNI if we had a command "trampclient"? If I was editing in | 5035 | ;; * WIBNI if we had a command "trampclient"? If I was editing in |
| 5036 | ;; some shell with root priviledges, it would be nice if I could | 5036 | ;; some shell with root privileges, it would be nice if I could |
| 5037 | ;; just call | 5037 | ;; just call |
| 5038 | ;; trampclient filename.c | 5038 | ;; trampclient filename.c |
| 5039 | ;; as an editor, and the _current_ shell would connect to an Emacs | 5039 | ;; as an editor, and the _current_ shell would connect to an Emacs |
| 5040 | ;; server and would be used in an existing non-priviledged Emacs | 5040 | ;; server and would be used in an existing non-privileged Emacs |
| 5041 | ;; session for doing the editing in question. | 5041 | ;; session for doing the editing in question. |
| 5042 | ;; That way, I need not tell Emacs my password again and be afraid | 5042 | ;; That way, I need not tell Emacs my password again and be afraid |
| 5043 | ;; that it makes it into core dumps or other ugly stuff (I had Emacs | 5043 | ;; that it makes it into core dumps or other ugly stuff (I had Emacs |
diff --git a/lisp/net/tramp-smb.el b/lisp/net/tramp-smb.el index 150ef18be52..73b9339e25a 100644 --- a/lisp/net/tramp-smb.el +++ b/lisp/net/tramp-smb.el | |||
| @@ -480,7 +480,7 @@ PRESERVE-UID-GID and PRESERVE-SELINUX-CONTEXT are completely ignored." | |||
| 480 | ;; Dissect NAME. | 480 | ;; Dissect NAME. |
| 481 | (with-parsed-tramp-file-name name nil | 481 | (with-parsed-tramp-file-name name nil |
| 482 | ;; Tilde expansion if necessary. We use the user name as share, | 482 | ;; Tilde expansion if necessary. We use the user name as share, |
| 483 | ;; which is offen the case in domains. | 483 | ;; which is often the case in domains. |
| 484 | (when (string-match "\\`/?~\\([^/]*\\)" localname) | 484 | (when (string-match "\\`/?~\\([^/]*\\)" localname) |
| 485 | (setq localname | 485 | (setq localname |
| 486 | (replace-match | 486 | (replace-match |
diff --git a/lisp/net/xesam.el b/lisp/net/xesam.el index efb2cdd6166..ea4a887898e 100644 --- a/lisp/net/xesam.el +++ b/lisp/net/xesam.el | |||
| @@ -88,7 +88,7 @@ | |||
| 88 | ;; | 88 | ;; |
| 89 | ;; (setq xesam-query-type 'fulltext-query) | 89 | ;; (setq xesam-query-type 'fulltext-query) |
| 90 | ;; | 90 | ;; |
| 91 | ;; Another option to be customised is the number of hits to be | 91 | ;; Another option to be customized is the number of hits to be |
| 92 | ;; presented at once. | 92 | ;; presented at once. |
| 93 | ;; | 93 | ;; |
| 94 | ;; (setq xesam-hits-per-page 50) | 94 | ;; (setq xesam-hits-per-page 50) |
diff --git a/lisp/notifications.el b/lisp/notifications.el index a4e7fdd5425..e4e44fb0f67 100644 --- a/lisp/notifications.el +++ b/lisp/notifications.el | |||
| @@ -163,7 +163,7 @@ Various PARAMS can be set: | |||
| 163 | only URI schema supported right now) or a name | 163 | only URI schema supported right now) or a name |
| 164 | in a freedesktop.org-compliant icon theme. | 164 | in a freedesktop.org-compliant icon theme. |
| 165 | :sound-file The path to a sound file to play when the notification pops up. | 165 | :sound-file The path to a sound file to play when the notification pops up. |
| 166 | :sound-name A themeable named sound from the freedesktop.org sound naming | 166 | :sound-name A themable named sound from the freedesktop.org sound naming |
| 167 | specification to play when the notification pops up. | 167 | specification to play when the notification pops up. |
| 168 | Similar to icon-name,only for sounds. An example would | 168 | Similar to icon-name,only for sounds. An example would |
| 169 | be \"message-new-instant\". | 169 | be \"message-new-instant\". |
diff --git a/lisp/nxml/xsd-regexp.el b/lisp/nxml/xsd-regexp.el index fbf0e159247..9701b8dc6e0 100644 --- a/lisp/nxml/xsd-regexp.el +++ b/lisp/nxml/xsd-regexp.el | |||
| @@ -49,7 +49,7 @@ | |||
| 49 | ;; Unicode character means a character in one of the Mule charsets | 49 | ;; Unicode character means a character in one of the Mule charsets |
| 50 | ;; ascii, latin-iso8859-1, mule-unicode-0100-24ff, | 50 | ;; ascii, latin-iso8859-1, mule-unicode-0100-24ff, |
| 51 | ;; mule-unicode-2500-33ff, mule-unicode-e000-ffff, eight-bit-control | 51 | ;; mule-unicode-2500-33ff, mule-unicode-e000-ffff, eight-bit-control |
| 52 | ;; or a character translateable to such a character (i.e a character | 52 | ;; or a character translatable to such a character (i.e a character |
| 53 | ;; for which `encode-char' will return non-nil). | 53 | ;; for which `encode-char' will return non-nil). |
| 54 | ;; | 54 | ;; |
| 55 | ;; Using unify-8859-on-decoding-mode is probably a good idea here | 55 | ;; Using unify-8859-on-decoding-mode is probably a good idea here |
diff --git a/lisp/org/ChangeLog b/lisp/org/ChangeLog index b946d147e5b..1cdb0a6f574 100644 --- a/lisp/org/ChangeLog +++ b/lisp/org/ChangeLog | |||
| @@ -1,3 +1,15 @@ | |||
| 1 | 2011-11-20 Juanma Barranquero <lekktu@gmail.com> | ||
| 2 | |||
| 3 | * org.el (org-link-unescape, org-link-unescape-compound): Fix typos. | ||
| 4 | |||
| 5 | 2011-11-20 Andreas Schwab <schwab@linux-m68k.org> | ||
| 6 | |||
| 7 | * org-list.el (org-list-send-item): Use sort instead of sort*. | ||
| 8 | |||
| 9 | 2011-11-20 Juanma Barranquero <lekktu@gmail.com> | ||
| 10 | |||
| 11 | * org-table.el (org-table-line-to-dline): Fix typo. | ||
| 12 | |||
| 1 | 2011-11-16 Juanma Barranquero <lekktu@gmail.com> | 13 | 2011-11-16 Juanma Barranquero <lekktu@gmail.com> |
| 2 | 14 | ||
| 3 | * org-agenda.el (org-agenda-add-entry-text-descriptive-links) | 15 | * org-agenda.el (org-agenda-add-entry-text-descriptive-links) |
| @@ -4165,7 +4177,7 @@ | |||
| 4165 | 4177 | ||
| 4166 | 2011-07-28 David Maus <dmaus@ictsoc.de> | 4178 | 2011-07-28 David Maus <dmaus@ictsoc.de> |
| 4167 | 4179 | ||
| 4168 | * org.el (org-link-escape): New unicode aware percent encoding | 4180 | * org.el (org-link-escape): New Unicode aware percent encoding |
| 4169 | algorithm. | 4181 | algorithm. |
| 4170 | 4182 | ||
| 4171 | 2011-07-28 Sebastian Rose <sebastian_rose@gmx.de> | 4183 | 2011-07-28 Sebastian Rose <sebastian_rose@gmx.de> |
| @@ -4173,7 +4185,7 @@ | |||
| 4173 | * org-protocol.el (org-protocol-unhex-single-byte-sequence): New | 4185 | * org-protocol.el (org-protocol-unhex-single-byte-sequence): New |
| 4174 | function. Decode hex-encoded singly byte sequences. | 4186 | function. Decode hex-encoded singly byte sequences. |
| 4175 | (org-protocol-unhex-compound): Use new function if decoding sequence | 4187 | (org-protocol-unhex-compound): Use new function if decoding sequence |
| 4176 | as unicode character failed. | 4188 | as Unicode character failed. |
| 4177 | 4189 | ||
| 4178 | 2011-07-28 Bastien Guerry <bzg@gnu.org> | 4190 | 2011-07-28 Bastien Guerry <bzg@gnu.org> |
| 4179 | 4191 | ||
| @@ -6185,8 +6197,8 @@ | |||
| 6185 | 2010-11-11 Carsten Dominik <carsten.dominik@gmail.com> | 6197 | 2010-11-11 Carsten Dominik <carsten.dominik@gmail.com> |
| 6186 | 6198 | ||
| 6187 | * org-indent.el (org-indent-add-properties): | 6199 | * org-indent.el (org-indent-add-properties): |
| 6188 | Use `with-silent-modificatons'. | 6200 | Use `with-silent-modifications'. |
| 6189 | (org-indent-remove-properties): Use `with-silent-modificatons'. | 6201 | (org-indent-remove-properties): Use `with-silent-modifications'. |
| 6190 | 6202 | ||
| 6191 | 2010-11-11 Carsten Dominik <carsten.dominik@gmail.com> | 6203 | 2010-11-11 Carsten Dominik <carsten.dominik@gmail.com> |
| 6192 | 6204 | ||
| @@ -13637,7 +13649,7 @@ | |||
| 13637 | 2009-08-06 Carsten Dominik <carsten.dominik@gmail.com> | 13649 | 2009-08-06 Carsten Dominik <carsten.dominik@gmail.com> |
| 13638 | 13650 | ||
| 13639 | * org.el (org-remove-empty-overlays-at) | 13651 | * org.el (org-remove-empty-overlays-at) |
| 13640 | (org-clean-visibility-after-subtree-move): New functons. | 13652 | (org-clean-visibility-after-subtree-move): New functions. |
| 13641 | (org-move-subtree-down): Simplify cleanup of display. | 13653 | (org-move-subtree-down): Simplify cleanup of display. |
| 13642 | 13654 | ||
| 13643 | 2009-08-06 Carsten Dominik <carsten.dominik@gmail.com> | 13655 | 2009-08-06 Carsten Dominik <carsten.dominik@gmail.com> |
| @@ -14386,7 +14398,7 @@ | |||
| 14386 | 2009-08-06 Carsten Dominik <carsten.dominik@gmail.com> | 14398 | 2009-08-06 Carsten Dominik <carsten.dominik@gmail.com> |
| 14387 | 14399 | ||
| 14388 | * org.el (org-edit-src-code, org-edit-fixed-width-region): Use a | 14400 | * org.el (org-edit-src-code, org-edit-fixed-width-region): Use a |
| 14389 | better bufer-generating mechanism. | 14401 | better buffer-generating mechanism. |
| 14390 | (org-edit-src-find-buffer): New function. | 14402 | (org-edit-src-find-buffer): New function. |
| 14391 | 14403 | ||
| 14392 | * org-icalendar.el (org-print-icalendar-entries): Don't check for | 14404 | * org-icalendar.el (org-print-icalendar-entries): Don't check for |
| @@ -14739,7 +14751,7 @@ | |||
| 14739 | 14751 | ||
| 14740 | 2009-08-06 Carsten Dominik <carsten.dominik@gmail.com> | 14752 | 2009-08-06 Carsten Dominik <carsten.dominik@gmail.com> |
| 14741 | 14753 | ||
| 14742 | * org.el (org-sort-entries-or-items): Match TODO keywrds | 14754 | * org.el (org-sort-entries-or-items): Match TODO keywords |
| 14743 | case-sensitively, when sorting. | 14755 | case-sensitively, when sorting. |
| 14744 | (org-priority): Do not match TODO keywords with wrong case. | 14756 | (org-priority): Do not match TODO keywords with wrong case. |
| 14745 | 14757 | ||
| @@ -15201,7 +15213,7 @@ | |||
| 15201 | 15213 | ||
| 15202 | * org-exp.el (org-export-as-html): Use IDs in the correct way. | 15214 | * org-exp.el (org-export-as-html): Use IDs in the correct way. |
| 15203 | 15215 | ||
| 15204 | * org.el (org-uuidgen-p): New funtion. | 15216 | * org.el (org-uuidgen-p): New function. |
| 15205 | 15217 | ||
| 15206 | * org-agenda.el (org-agenda-fontify-priorities): New default value | 15218 | * org-agenda.el (org-agenda-fontify-priorities): New default value |
| 15207 | `cookies'. | 15219 | `cookies'. |
| @@ -17067,7 +17079,7 @@ | |||
| 17067 | (org-file-apps-defaults-macosx): Let PostScript files be opened by | 17079 | (org-file-apps-defaults-macosx): Let PostScript files be opened by |
| 17068 | preview. | 17080 | preview. |
| 17069 | (org-time-stamp-inactive): Call `org-time-stamp'. | 17081 | (org-time-stamp-inactive): Call `org-time-stamp'. |
| 17070 | (org-time-stamp): New argument `inactive'. Also edit inacive | 17082 | (org-time-stamp): New argument `inactive'. Also edit inactive |
| 17071 | stamps. Convert time stamp type. | 17083 | stamps. Convert time stamp type. |
| 17072 | (org-open-file): Interpret the `default' value for the `command' | 17084 | (org-open-file): Interpret the `default' value for the `command' |
| 17073 | in `org-file-apps'. | 17085 | in `org-file-apps'. |
diff --git a/lisp/org/ob-ledger.el b/lisp/org/ob-ledger.el index a5bdcbf2f73..4fe61451982 100644 --- a/lisp/org/ob-ledger.el +++ b/lisp/org/ob-ledger.el | |||
| @@ -30,7 +30,7 @@ | |||
| 30 | ;; | 30 | ;; |
| 31 | ;; 1) there is no such thing as a "session" in ledger | 31 | ;; 1) there is no such thing as a "session" in ledger |
| 32 | ;; | 32 | ;; |
| 33 | ;; 2) we are generally only going to return output from the leger program | 33 | ;; 2) we are generally only going to return output from the ledger program |
| 34 | ;; | 34 | ;; |
| 35 | ;; 3) we are adding the "cmdline" header argument | 35 | ;; 3) we are adding the "cmdline" header argument |
| 36 | ;; | 36 | ;; |
diff --git a/lisp/org/org-agenda.el b/lisp/org/org-agenda.el index f7aa7bf4701..50761ede7cb 100644 --- a/lisp/org/org-agenda.el +++ b/lisp/org/org-agenda.el | |||
| @@ -1619,7 +1619,7 @@ Where CATEGORY-REGEXP is a regexp matching the categories where | |||
| 1619 | the icon should be displayed. | 1619 | the icon should be displayed. |
| 1620 | FILE-OR-DATA either a file path or a string containing image data. | 1620 | FILE-OR-DATA either a file path or a string containing image data. |
| 1621 | 1621 | ||
| 1622 | The other fields can be omited safely if not needed: | 1622 | The other fields can be omitted safely if not needed: |
| 1623 | TYPE indicates the image type. | 1623 | TYPE indicates the image type. |
| 1624 | DATA-P is a boolean indicating whether the FILE-OR-DATA string is | 1624 | DATA-P is a boolean indicating whether the FILE-OR-DATA string is |
| 1625 | image data. | 1625 | image data. |
diff --git a/lisp/org/org-capture.el b/lisp/org/org-capture.el index 05cca0e311e..e3a87b77b5c 100644 --- a/lisp/org/org-capture.el +++ b/lisp/org/org-capture.el | |||
| @@ -372,7 +372,7 @@ to avoid conflicts with other active capture processes." | |||
| 372 | (plist-get (if local org-capture-current-plist org-capture-plist) prop)) | 372 | (plist-get (if local org-capture-current-plist org-capture-plist) prop)) |
| 373 | 373 | ||
| 374 | (defun org-capture-member (prop &optional local) | 374 | (defun org-capture-member (prop &optional local) |
| 375 | "Is PROP a preperty in `org-capture-plist'. | 375 | "Is PROP a property in `org-capture-plist'. |
| 376 | When LOCAL is set, use the local variable `org-capture-current-plist', | 376 | When LOCAL is set, use the local variable `org-capture-current-plist', |
| 377 | this is necessary after initialization of the capture process, | 377 | this is necessary after initialization of the capture process, |
| 378 | to avoid conflicts with other active capture processes." | 378 | to avoid conflicts with other active capture processes." |
| @@ -1449,7 +1449,7 @@ The template may still contain \"%?\" for cursor positioning." | |||
| 1449 | (goto-char (point-min)) | 1449 | (goto-char (point-min)) |
| 1450 | (while (looking-at "[ \t]*\n") (replace-match "")) | 1450 | (while (looking-at "[ \t]*\n") (replace-match "")) |
| 1451 | (if (re-search-forward "[ \t\n]*\\'" nil t) (replace-match "\n")) | 1451 | (if (re-search-forward "[ \t\n]*\\'" nil t) (replace-match "\n")) |
| 1452 | ;; Return the expanded tempate and kill the temporary buffer | 1452 | ;; Return the expanded template and kill the temporary buffer |
| 1453 | (untabify (point-min) (point-max)) | 1453 | (untabify (point-min) (point-max)) |
| 1454 | (set-buffer-modified-p nil) | 1454 | (set-buffer-modified-p nil) |
| 1455 | (prog1 (buffer-string) (kill-buffer (current-buffer)))))) | 1455 | (prog1 (buffer-string) (kill-buffer (current-buffer)))))) |
diff --git a/lisp/org/org-ctags.el b/lisp/org/org-ctags.el index 352d414a4b6..d567b929056 100644 --- a/lisp/org/org-ctags.el +++ b/lisp/org/org-ctags.el | |||
| @@ -36,7 +36,7 @@ | |||
| 36 | ;; links to these 'tagged' destinations, allowing seamless navigation between | 36 | ;; links to these 'tagged' destinations, allowing seamless navigation between |
| 37 | ;; multiple org-mode files. Topics can be created in any org mode file and | 37 | ;; multiple org-mode files. Topics can be created in any org mode file and |
| 38 | ;; will always be found by plain links from other files. Other file types | 38 | ;; will always be found by plain links from other files. Other file types |
| 39 | ;; recognised by ctags (source code files, latex files, etc) will also be | 39 | ;; recognized by ctags (source code files, latex files, etc) will also be |
| 40 | ;; available as destinations for plain links, and similarly, org-mode links | 40 | ;; available as destinations for plain links, and similarly, org-mode links |
| 41 | ;; will be available as tags from source files. Finally, the function | 41 | ;; will be available as tags from source files. Finally, the function |
| 42 | ;; `org-ctags-find-tag-interactive' lets you choose any known tag, using | 42 | ;; `org-ctags-find-tag-interactive' lets you choose any known tag, using |
diff --git a/lisp/org/org-exp.el b/lisp/org/org-exp.el index ee8e6027706..35a51649452 100644 --- a/lisp/org/org-exp.el +++ b/lisp/org/org-exp.el | |||
| @@ -2922,7 +2922,7 @@ to the value of `temporary-file-directory'." | |||
| 2922 | (org-load-modules-maybe) | 2922 | (org-load-modules-maybe) |
| 2923 | (unless org-local-vars | 2923 | (unless org-local-vars |
| 2924 | (setq org-local-vars (org-get-local-variables))) | 2924 | (setq org-local-vars (org-get-local-variables))) |
| 2925 | (eval ;; convert to fmt -- mimicing `org-run-like-in-org-mode' | 2925 | (eval ;; convert to fmt -- mimicking `org-run-like-in-org-mode' |
| 2926 | (list 'let org-local-vars | 2926 | (list 'let org-local-vars |
| 2927 | (list (intern (format "org-export-as-%s" fmt)) | 2927 | (list (intern (format "org-export-as-%s" fmt)) |
| 2928 | nil nil nil ''string t)))) | 2928 | nil nil nil ''string t)))) |
diff --git a/lisp/org/org-list.el b/lisp/org/org-list.el index 9184f0c3d54..a86c145a9ee 100644 --- a/lisp/org/org-list.el +++ b/lisp/org/org-list.el | |||
| @@ -1439,7 +1439,7 @@ This function returns, destructively, the new list structure." | |||
| 1439 | ;; 1.1. Remove the item just created in structure. | 1439 | ;; 1.1. Remove the item just created in structure. |
| 1440 | (setq struct (delete (assq new-item struct) struct)) | 1440 | (setq struct (delete (assq new-item struct) struct)) |
| 1441 | ;; 1.2. Copy ITEM and any of its sub-items at NEW-ITEM. | 1441 | ;; 1.2. Copy ITEM and any of its sub-items at NEW-ITEM. |
| 1442 | (setq struct (sort* | 1442 | (setq struct (sort |
| 1443 | (append | 1443 | (append |
| 1444 | struct | 1444 | struct |
| 1445 | (mapcar (lambda (e) | 1445 | (mapcar (lambda (e) |
| @@ -3008,7 +3008,7 @@ Valid parameters PARAMS are: | |||
| 3008 | 3008 | ||
| 3009 | Alternatively, each parameter can also be a form returning | 3009 | Alternatively, each parameter can also be a form returning |
| 3010 | a string. These sexp can use keywords `counter' and `depth', | 3010 | a string. These sexp can use keywords `counter' and `depth', |
| 3011 | reprensenting respectively counter associated to the current | 3011 | representing respectively counter associated to the current |
| 3012 | item, and depth of the current sub-list, starting at 0. | 3012 | item, and depth of the current sub-list, starting at 0. |
| 3013 | Obviously, `counter' is only available for parameters applying to | 3013 | Obviously, `counter' is only available for parameters applying to |
| 3014 | items." | 3014 | items." |
diff --git a/lisp/org/org-table.el b/lisp/org/org-table.el index 2fba931528e..76e4eae4b45 100644 --- a/lisp/org/org-table.el +++ b/lisp/org/org-table.el | |||
| @@ -51,7 +51,7 @@ | |||
| 51 | (defvar orgtbl-after-send-table-hook nil | 51 | (defvar orgtbl-after-send-table-hook nil |
| 52 | "Hook for functions attaching to `C-c C-c', if the table is sent. | 52 | "Hook for functions attaching to `C-c C-c', if the table is sent. |
| 53 | This can be used to add additional functionality after the table is sent | 53 | This can be used to add additional functionality after the table is sent |
| 54 | to the receiver position, othewise, if table is not sent, the functions | 54 | to the receiver position, otherwise, if table is not sent, the functions |
| 55 | are not run.") | 55 | are not run.") |
| 56 | 56 | ||
| 57 | (defcustom orgtbl-optimized (eq org-enable-table-editor 'optimized) | 57 | (defcustom orgtbl-optimized (eq org-enable-table-editor 'optimized) |
| @@ -1302,7 +1302,7 @@ However, when FORCE is non-nil, create new columns if necessary." | |||
| 1302 | (defun org-table-line-to-dline (line &optional above) | 1302 | (defun org-table-line-to-dline (line &optional above) |
| 1303 | "Turn a buffer line number into a data line number. | 1303 | "Turn a buffer line number into a data line number. |
| 1304 | If there is no data line in this line, return nil. | 1304 | If there is no data line in this line, return nil. |
| 1305 | If there is no matchin dline (most likely te refrence was a hline), the | 1305 | If there is no matching dline (most likely the reference was a hline), the |
| 1306 | first dline below it is used. When ABOVE is non-nil, the one above is used." | 1306 | first dline below it is used. When ABOVE is non-nil, the one above is used." |
| 1307 | (catch 'exit | 1307 | (catch 'exit |
| 1308 | (let ((ll (length org-table-dlines)) | 1308 | (let ((ll (length org-table-dlines)) |
| @@ -2641,7 +2641,7 @@ in the buffer and column1 and column2 are table column numbers." | |||
| 2641 | (prog1 (org-trim (org-table-get-field c1)) | 2641 | (prog1 (org-trim (org-table-get-field c1)) |
| 2642 | (if highlight (org-table-highlight-rectangle (point) (point))))) | 2642 | (if highlight (org-table-highlight-rectangle (point) (point))))) |
| 2643 | ;; A range, return a vector | 2643 | ;; A range, return a vector |
| 2644 | ;; First sort the numbers to get a regular ractangle | 2644 | ;; First sort the numbers to get a regular rectangle |
| 2645 | (if (< r2 r1) (setq tmp r1 r1 r2 r2 tmp)) | 2645 | (if (< r2 r1) (setq tmp r1 r1 r2 r2 tmp)) |
| 2646 | (if (< c2 c1) (setq tmp c1 c1 c2 c2 tmp)) | 2646 | (if (< c2 c1) (setq tmp c1 c1 c2 c2 tmp)) |
| 2647 | (if corners-only | 2647 | (if corners-only |
| @@ -2901,7 +2901,7 @@ known that the table will be realigned a little later anyway." | |||
| 2901 | 2901 | ||
| 2902 | (defun org-table-iterate (&optional arg) | 2902 | (defun org-table-iterate (&optional arg) |
| 2903 | "Recalculate the table until it does not change anymore. | 2903 | "Recalculate the table until it does not change anymore. |
| 2904 | The maximun number of iterations is 10, but you can chose a different value | 2904 | The maximum number of iterations is 10, but you can chose a different value |
| 2905 | with the prefix ARG." | 2905 | with the prefix ARG." |
| 2906 | (interactive "P") | 2906 | (interactive "P") |
| 2907 | (let ((imax (if arg (prefix-numeric-value arg) 10)) | 2907 | (let ((imax (if arg (prefix-numeric-value arg) 10)) |
diff --git a/lisp/org/org-taskjuggler.el b/lisp/org/org-taskjuggler.el index 0d9516a389e..1fb3114bf3f 100644 --- a/lisp/org/org-taskjuggler.el +++ b/lisp/org/org-taskjuggler.el | |||
| @@ -70,7 +70,7 @@ | |||
| 70 | ;; "taskjuggler_project" (or whatever you customized | 70 | ;; "taskjuggler_project" (or whatever you customized |
| 71 | ;; `org-export-taskjuggler-project-tag' to). You are now ready to | 71 | ;; `org-export-taskjuggler-project-tag' to). You are now ready to |
| 72 | ;; export the project plan with `org-export-as-taskjuggler-and-open' | 72 | ;; export the project plan with `org-export-as-taskjuggler-and-open' |
| 73 | ;; which will export the project plan and open a gant chart in | 73 | ;; which will export the project plan and open a Gantt chart in |
| 74 | ;; TaskJugglerUI. | 74 | ;; TaskJugglerUI. |
| 75 | ;; | 75 | ;; |
| 76 | ;; * Resources | 76 | ;; * Resources |
| @@ -354,8 +354,8 @@ information, all the properties, etc." | |||
| 354 | (let* ((props (org-entry-properties)) | 354 | (let* ((props (org-entry-properties)) |
| 355 | (components (org-heading-components)) | 355 | (components (org-heading-components)) |
| 356 | (level (nth 1 components)) | 356 | (level (nth 1 components)) |
| 357 | (headline | 357 | (headline |
| 358 | (replace-regexp-in-string | 358 | (replace-regexp-in-string |
| 359 | "\"" "\\\"" (nth 4 components) t t)) ; quote double quotes in headlines | 359 | "\"" "\\\"" (nth 4 components) t t)) ; quote double quotes in headlines |
| 360 | (parent-ordered (org-taskjuggler-parent-is-ordered-p))) | 360 | (parent-ordered (org-taskjuggler-parent-is-ordered-p))) |
| 361 | (push (cons "level" level) props) | 361 | (push (cons "level" level) props) |
| @@ -405,10 +405,10 @@ deeper), then it's not a leaf." | |||
| 405 | (successor (car (cdr tasks)))) | 405 | (successor (car (cdr tasks)))) |
| 406 | (cond | 406 | (cond |
| 407 | ;; if a task has no successors it is a leaf | 407 | ;; if a task has no successors it is a leaf |
| 408 | ((null successor) | 408 | ((null successor) |
| 409 | (push (cons (cons "leaf-node" t) task) new-list)) | 409 | (push (cons (cons "leaf-node" t) task) new-list)) |
| 410 | ;; if the successor has a lower level than task it is a leaf | 410 | ;; if the successor has a lower level than task it is a leaf |
| 411 | ((<= (cdr (assoc "level" successor)) (cdr (assoc "level" task))) | 411 | ((<= (cdr (assoc "level" successor)) (cdr (assoc "level" task))) |
| 412 | (push (cons (cons "leaf-node" t) task) new-list)) | 412 | (push (cons (cons "leaf-node" t) task) new-list)) |
| 413 | ;; otherwise examine the rest of the tasks | 413 | ;; otherwise examine the rest of the tasks |
| 414 | (t (push task new-list)))) | 414 | (t (push task new-list)))) |
diff --git a/lisp/org/org.el b/lisp/org/org.el index 25bfb8a78e8..afd4ea6b4c3 100644 --- a/lisp/org/org.el +++ b/lisp/org/org.el | |||
| @@ -8775,8 +8775,8 @@ If optional argument MERGE is set, merge TABLE into | |||
| 8775 | (char-to-string char))) text ""))) | 8775 | (char-to-string char))) text ""))) |
| 8776 | 8776 | ||
| 8777 | (defun org-link-unescape (str) | 8777 | (defun org-link-unescape (str) |
| 8778 | "Unhex hexified unicode strings as returned from the JavaScript function | 8778 | "Unhex hexified Unicode strings as returned from the JavaScript function |
| 8779 | encodeURIComponent. E.g. `%C3%B6' is the german Umlaut `ö'." | 8779 | encodeURIComponent. E.g. `%C3%B6' is the german Umlaut `ö'." |
| 8780 | (unless (and (null str) (string= "" str)) | 8780 | (unless (and (null str) (string= "" str)) |
| 8781 | (let ((pos 0) (case-fold-search t) unhexed) | 8781 | (let ((pos 0) (case-fold-search t) unhexed) |
| 8782 | (while (setq pos (string-match "\\(%[0-9a-f][0-9a-f]\\)+" str pos)) | 8782 | (while (setq pos (string-match "\\(%[0-9a-f][0-9a-f]\\)+" str pos)) |
| @@ -8786,7 +8786,7 @@ encodeURIComponent. E.g. `%C3%B6' is the german Umlaut `ö'." | |||
| 8786 | str) | 8786 | str) |
| 8787 | 8787 | ||
| 8788 | (defun org-link-unescape-compound (hex) | 8788 | (defun org-link-unescape-compound (hex) |
| 8789 | "Unhexify unicode hex-chars. E.g. `%C3%B6' is the German Umlaut `ö'. | 8789 | "Unhexify Unicode hex-chars. E.g. `%C3%B6' is the German Umlaut `ö'. |
| 8790 | Note: this function also decodes single byte encodings like | 8790 | Note: this function also decodes single byte encodings like |
| 8791 | `%E1' (\"á\") if not followed by another `%[A-F0-9]{2}' group." | 8791 | `%E1' (\"á\") if not followed by another `%[A-F0-9]{2}' group." |
| 8792 | (save-match-data | 8792 | (save-match-data |
diff --git a/lisp/play/5x5.el b/lisp/play/5x5.el index a7a332d97f2..e111e743608 100644 --- a/lisp/play/5x5.el +++ b/lisp/play/5x5.el | |||
| @@ -579,7 +579,7 @@ Solutions are sorted from least to greatest Hamming weight." | |||
| 579 | (let* (calc-command-flags | 579 | (let* (calc-command-flags |
| 580 | (grid-size-squared (* 5x5-grid-size 5x5-grid-size)) | 580 | (grid-size-squared (* 5x5-grid-size 5x5-grid-size)) |
| 581 | 581 | ||
| 582 | ;; targetv is the vector the origine of which is org="current | 582 | ;; targetv is the vector the origin of which is org="current |
| 583 | ;; grid" and the end of which is dest="all ones". | 583 | ;; grid" and the end of which is dest="all ones". |
| 584 | (targetv | 584 | (targetv |
| 585 | (5x5-log | 585 | (5x5-log |
| @@ -649,7 +649,7 @@ Solutions are sorted from least to greatest Hamming weight." | |||
| 649 | ;; 23x25 is a diagonal of 1, and the two last columns are a | 649 | ;; 23x25 is a diagonal of 1, and the two last columns are a |
| 650 | ;; base of kernel of transferm. | 650 | ;; base of kernel of transferm. |
| 651 | ;; | 651 | ;; |
| 652 | ;; base-change must be by construction inversible. | 652 | ;; base-change must be by construction invertible. |
| 653 | (base-change | 653 | (base-change |
| 654 | (5x5-log | 654 | (5x5-log |
| 655 | "p" | 655 | "p" |
diff --git a/lisp/play/bubbles.el b/lisp/play/bubbles.el index f2b7294e2d0..62d486ffca5 100644 --- a/lisp/play/bubbles.el +++ b/lisp/play/bubbles.el | |||
| @@ -55,7 +55,7 @@ | |||
| 55 | 55 | ||
| 56 | ;; 0.3 (2007-03-11) | 56 | ;; 0.3 (2007-03-11) |
| 57 | ;; - Renamed shift modes and thus names of score files. All | 57 | ;; - Renamed shift modes and thus names of score files. All |
| 58 | ;; highscores are lost, unless you rename the score files from | 58 | ;; high scores are lost, unless you rename the score files from |
| 59 | ;; bubbles-shift-... to bubbles-...! | 59 | ;; bubbles-shift-... to bubbles-...! |
| 60 | ;; - Bugfixes: Check for successful image creation. | 60 | ;; - Bugfixes: Check for successful image creation. |
| 61 | ;; Disable menus and counter when game is over. | 61 | ;; Disable menus and counter when game is over. |
diff --git a/lisp/printing.el b/lisp/printing.el index c5951a4983f..d6c67cc68a6 100644 --- a/lisp/printing.el +++ b/lisp/printing.el | |||
| @@ -3692,7 +3692,7 @@ VI. Customization: | |||
| 3692 | "\n\n | 3692 | "\n\n |
| 3693 | The printing interface buffer has the same functionality as the printing menu. | 3693 | The printing interface buffer has the same functionality as the printing menu. |
| 3694 | The major difference is that the states (like sending PostScript generated to a | 3694 | The major difference is that the states (like sending PostScript generated to a |
| 3695 | file, n-up printing, etc.) are set and saved between priting buffer | 3695 | file, n-up printing, etc.) are set and saved between printing buffer |
| 3696 | activation. Also, the landscape, duplex and tumble values are the same for | 3696 | activation. Also, the landscape, duplex and tumble values are the same for |
| 3697 | PostScript file and directory/buffer/region/mode processing; using menu, there | 3697 | PostScript file and directory/buffer/region/mode processing; using menu, there |
| 3698 | are different value sets for PostScript file and directory/buffer/region/mode | 3698 | are different value sets for PostScript file and directory/buffer/region/mode |
diff --git a/lisp/progmodes/ada-mode.el b/lisp/progmodes/ada-mode.el index 9d2aad7741b..b8bf62d90b4 100644 --- a/lisp/progmodes/ada-mode.el +++ b/lisp/progmodes/ada-mode.el | |||
| @@ -826,7 +826,7 @@ the 4 file locations can be clicked on and jumped to." | |||
| 826 | ;; to be considered as part of a word or not. | 826 | ;; to be considered as part of a word or not. |
| 827 | ;; Some characters may have multiple meanings depending on the context: | 827 | ;; Some characters may have multiple meanings depending on the context: |
| 828 | ;; - ' is either the beginning of a constant character or an attribute | 828 | ;; - ' is either the beginning of a constant character or an attribute |
| 829 | ;; - # is either part of a based litteral or a gnatprep statement. | 829 | ;; - # is either part of a based literal or a gnatprep statement. |
| 830 | ;; - " starts a string, but not if inside a constant character. | 830 | ;; - " starts a string, but not if inside a constant character. |
| 831 | ;; - ( and ) should be ignored if inside a constant character. | 831 | ;; - ( and ) should be ignored if inside a constant character. |
| 832 | ;; Thus their syntax property is changed automatically, and we can still use | 832 | ;; Thus their syntax property is changed automatically, and we can still use |
diff --git a/lisp/progmodes/cc-awk.el b/lisp/progmodes/cc-awk.el index aa1289cd632..8213a83461b 100644 --- a/lisp/progmodes/cc-awk.el +++ b/lisp/progmodes/cc-awk.el | |||
| @@ -128,7 +128,7 @@ | |||
| 128 | ;; REGEXPS FOR "HARMLESS" STRINGS/LINES. | 128 | ;; REGEXPS FOR "HARMLESS" STRINGS/LINES. |
| 129 | (defconst c-awk-harmless-char-re "[^_#/\"\\\\\n\r]") | 129 | (defconst c-awk-harmless-char-re "[^_#/\"\\\\\n\r]") |
| 130 | ;; Matches any character but a _, #, /, ", \, or newline. N.B. _" starts a | 130 | ;; Matches any character but a _, #, /, ", \, or newline. N.B. _" starts a |
| 131 | ;; localisation string in gawk 3.1 | 131 | ;; localization string in gawk 3.1 |
| 132 | (defconst c-awk-harmless-_ "_\\([^\"]\\|\\'\\)") | 132 | (defconst c-awk-harmless-_ "_\\([^\"]\\|\\'\\)") |
| 133 | ;; Matches an underline NOT followed by ". | 133 | ;; Matches an underline NOT followed by ". |
| 134 | (defconst c-awk-harmless-string*-re | 134 | (defconst c-awk-harmless-string*-re |
| @@ -160,7 +160,7 @@ | |||
| 160 | (defconst c-awk-string-without-end-here-re | 160 | (defconst c-awk-string-without-end-here-re |
| 161 | (concat "\\=_?\"" c-awk-string-innards-re)) | 161 | (concat "\\=_?\"" c-awk-string-innards-re)) |
| 162 | ;; Matches an AWK string at point up to, but not including, any terminator. | 162 | ;; Matches an AWK string at point up to, but not including, any terminator. |
| 163 | ;; A gawk 3.1+ string may look like _"localisable string". | 163 | ;; A gawk 3.1+ string may look like _"localizable string". |
| 164 | (defconst c-awk-one-line-possibly-open-string-re | 164 | (defconst c-awk-one-line-possibly-open-string-re |
| 165 | (concat "\"\\(" c-awk-string-ch-re "\\|" c-awk-non-eol-esc-pair-re "\\)*" | 165 | (concat "\"\\(" c-awk-string-ch-re "\\|" c-awk-non-eol-esc-pair-re "\\)*" |
| 166 | "\\(\"\\|\\\\?$\\|\\'\\)")) | 166 | "\\(\"\\|\\\\?$\\|\\'\\)")) |
| @@ -231,7 +231,7 @@ | |||
| 231 | ;; to foul things up. | 231 | ;; to foul things up. |
| 232 | (defconst c-awk-non-arith-op-bra-re | 232 | (defconst c-awk-non-arith-op-bra-re |
| 233 | "[[\(&=:!><,?;'~|]") | 233 | "[[\(&=:!><,?;'~|]") |
| 234 | ;; Matches an openeing BRAcket ,round or square, or any operator character | 234 | ;; Matches an opening BRAcket, round or square, or any operator character |
| 235 | ;; apart from +,-,/,*,%. For the purpose at hand (detecting a / which is a | 235 | ;; apart from +,-,/,*,%. For the purpose at hand (detecting a / which is a |
| 236 | ;; regexp bracket) these arith ops are unnecessary and a pain, because of "++" | 236 | ;; regexp bracket) these arith ops are unnecessary and a pain, because of "++" |
| 237 | ;; and "--". | 237 | ;; and "--". |
diff --git a/lisp/progmodes/cc-cmds.el b/lisp/progmodes/cc-cmds.el index 68f31c55e71..1eaf8910d14 100644 --- a/lisp/progmodes/cc-cmds.el +++ b/lisp/progmodes/cc-cmds.el | |||
| @@ -2178,7 +2178,7 @@ function does not require the declaration to contain a brace block." | |||
| 2178 | (end (1- (cdr range))) | 2178 | (end (1- (cdr range))) |
| 2179 | (here-filler ; matches WS and escaped newlines at point. | 2179 | (here-filler ; matches WS and escaped newlines at point. |
| 2180 | "\\=\\([ \t\n\r\f]\\|\\\\[\n\r]\\)*") | 2180 | "\\=\\([ \t\n\r\f]\\|\\\\[\n\r]\\)*") |
| 2181 | ;; Enhance paragraph-start and paragraph-separate also to recognise | 2181 | ;; Enhance paragraph-start and paragraph-separate also to recognize |
| 2182 | ;; blank lines terminated by escaped EOLs. IT MAY WELL BE that | 2182 | ;; blank lines terminated by escaped EOLs. IT MAY WELL BE that |
| 2183 | ;; these values should be customizable user options, or something. | 2183 | ;; these values should be customizable user options, or something. |
| 2184 | (paragraph-start c-string-par-start) | 2184 | (paragraph-start c-string-par-start) |
| @@ -2234,7 +2234,7 @@ function does not require the declaration to contain a brace block." | |||
| 2234 | (save-match-data | 2234 | (save-match-data |
| 2235 | (let* ((here (point)) | 2235 | (let* ((here (point)) |
| 2236 | last | 2236 | last |
| 2237 | ;; Enhance paragraph-start and paragraph-separate to recognise | 2237 | ;; Enhance paragraph-start and paragraph-separate to recognize |
| 2238 | ;; blank lines terminated by escaped EOLs. | 2238 | ;; blank lines terminated by escaped EOLs. |
| 2239 | (paragraph-start c-string-par-start) | 2239 | (paragraph-start c-string-par-start) |
| 2240 | (paragraph-separate c-string-par-separate) | 2240 | (paragraph-separate c-string-par-separate) |
diff --git a/lisp/progmodes/cc-defs.el b/lisp/progmodes/cc-defs.el index fb9fd406ef8..c91fe13543a 100644 --- a/lisp/progmodes/cc-defs.el +++ b/lisp/progmodes/cc-defs.el | |||
| @@ -774,7 +774,7 @@ be after it." | |||
| 774 | ;; In addition to `c-at-vsemi-p-fn', a mode may need to supply a function for | 774 | ;; In addition to `c-at-vsemi-p-fn', a mode may need to supply a function for |
| 775 | ;; `c-vsemi-status-unknown-p-fn'. The macro `c-vsemi-status-unknown-p' is a | 775 | ;; `c-vsemi-status-unknown-p-fn'. The macro `c-vsemi-status-unknown-p' is a |
| 776 | ;; rather recondite kludge. It exists because the function | 776 | ;; rather recondite kludge. It exists because the function |
| 777 | ;; `c-beginning-of-statement-1' sometimes tests for VSs as an optimisation, | 777 | ;; `c-beginning-of-statement-1' sometimes tests for VSs as an optimization, |
| 778 | ;; but `c-at-vsemi-p' might well need to call `c-beginning-of-statement-1' in | 778 | ;; but `c-at-vsemi-p' might well need to call `c-beginning-of-statement-1' in |
| 779 | ;; its calculations, thus potentially leading to infinite recursion. | 779 | ;; its calculations, thus potentially leading to infinite recursion. |
| 780 | ;; | 780 | ;; |
| @@ -1249,7 +1249,7 @@ been put there by c-put-char-property. POINT remains unchanged." | |||
| 1249 | ;; which introduces a CPP construct and every EOL (or EOB, or character | 1249 | ;; which introduces a CPP construct and every EOL (or EOB, or character |
| 1250 | ;; preceding //, etc.) which terminates it. We can instantly "comment | 1250 | ;; preceding //, etc.) which terminates it. We can instantly "comment |
| 1251 | ;; out" all CPP constructs by giving `c-cpp-delimiter' a syntax-table | 1251 | ;; out" all CPP constructs by giving `c-cpp-delimiter' a syntax-table |
| 1252 | ;; propery '(14) (generic comment delimiter). | 1252 | ;; property '(14) (generic comment delimiter). |
| 1253 | (defmacro c-set-cpp-delimiters (beg end) | 1253 | (defmacro c-set-cpp-delimiters (beg end) |
| 1254 | ;; This macro does a hidden buffer change. | 1254 | ;; This macro does a hidden buffer change. |
| 1255 | `(progn | 1255 | `(progn |
diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el index 31a58e48f50..c794cad65db 100644 --- a/lisp/progmodes/cc-engine.el +++ b/lisp/progmodes/cc-engine.el | |||
| @@ -893,7 +893,7 @@ comment at the start of cc-engine.el for more info." | |||
| 893 | ((eq sym 'while) | 893 | ((eq sym 'while) |
| 894 | ;; Is this a real while, or a do-while? | 894 | ;; Is this a real while, or a do-while? |
| 895 | ;; The next `when' triggers unless we are SURE that | 895 | ;; The next `when' triggers unless we are SURE that |
| 896 | ;; the `while' is not the tailend of a `do-while'. | 896 | ;; the `while' is not the tail end of a `do-while'. |
| 897 | (when (or (not pptok) | 897 | (when (or (not pptok) |
| 898 | (memq (char-after pptok) delims) | 898 | (memq (char-after pptok) delims) |
| 899 | ;; The following kludge is to prevent | 899 | ;; The following kludge is to prevent |
| @@ -2364,7 +2364,7 @@ comment at the start of cc-engine.el for more info." | |||
| 2364 | 2364 | ||
| 2365 | (defun c-parse-state-get-strategy (here good-pos) | 2365 | (defun c-parse-state-get-strategy (here good-pos) |
| 2366 | ;; Determine the scanning strategy for adjusting `c-parse-state', attempting | 2366 | ;; Determine the scanning strategy for adjusting `c-parse-state', attempting |
| 2367 | ;; to minimise the amount of scanning. HERE is the pertinent position in | 2367 | ;; to minimize the amount of scanning. HERE is the pertinent position in |
| 2368 | ;; the buffer, GOOD-POS is a position where `c-state-cache' (possibly with | 2368 | ;; the buffer, GOOD-POS is a position where `c-state-cache' (possibly with |
| 2369 | ;; its head trimmed) is known to be good, or nil if there is no such | 2369 | ;; its head trimmed) is known to be good, or nil if there is no such |
| 2370 | ;; position. | 2370 | ;; position. |
| @@ -2548,7 +2548,7 @@ comment at the start of cc-engine.el for more info." | |||
| 2548 | c-state-cache))) | 2548 | c-state-cache))) |
| 2549 | ;; N.B. This defsubst codes one method for the simple, normal case, | 2549 | ;; N.B. This defsubst codes one method for the simple, normal case, |
| 2550 | ;; and a more sophisticated, slower way for the general case. Don't | 2550 | ;; and a more sophisticated, slower way for the general case. Don't |
| 2551 | ;; eliminate this defsubst - it's a speed optimisation. | 2551 | ;; eliminate this defsubst - it's a speed optimization. |
| 2552 | (c-append-lower-brace-pair-to-state-cache (1- bra+1))))) | 2552 | (c-append-lower-brace-pair-to-state-cache (1- bra+1))))) |
| 2553 | 2553 | ||
| 2554 | (defun c-append-to-state-cache (from) | 2554 | (defun c-append-to-state-cache (from) |
| @@ -2788,7 +2788,7 @@ comment at the start of cc-engine.el for more info." | |||
| 2788 | ;; | 2788 | ;; |
| 2789 | ;; This function must only be called only when (> `c-state-cache-good-pos' | 2789 | ;; This function must only be called only when (> `c-state-cache-good-pos' |
| 2790 | ;; HERE). Usually the gap between CACHE-POS and HERE is large. It is thus | 2790 | ;; HERE). Usually the gap between CACHE-POS and HERE is large. It is thus |
| 2791 | ;; optimised to eliminate (or minimise) scanning between these two | 2791 | ;; optimized to eliminate (or minimize) scanning between these two |
| 2792 | ;; positions. | 2792 | ;; positions. |
| 2793 | ;; | 2793 | ;; |
| 2794 | ;; Return a three element list (GOOD-POS SCAN-BACK-POS FWD-FLAG), where: | 2794 | ;; Return a three element list (GOOD-POS SCAN-BACK-POS FWD-FLAG), where: |
| @@ -2820,7 +2820,7 @@ comment at the start of cc-engine.el for more info." | |||
| 2820 | ; or `here' itself. | 2820 | ; or `here' itself. |
| 2821 | here- here+ ; start/end of macro around HERE, or HERE | 2821 | here- here+ ; start/end of macro around HERE, or HERE |
| 2822 | (here-bol (c-point 'bol here)) | 2822 | (here-bol (c-point 'bol here)) |
| 2823 | (too-far-back (max (- here c-state-cache-too-far) 1))) | 2823 | (too-far-back (max (- here c-state-cache-too-far) (point-min)))) |
| 2824 | 2824 | ||
| 2825 | ;; Remove completely irrelevant entries from `c-state-cache'. | 2825 | ;; Remove completely irrelevant entries from `c-state-cache'. |
| 2826 | (while (and c-state-cache | 2826 | (while (and c-state-cache |
| @@ -2964,9 +2964,9 @@ comment at the start of cc-engine.el for more info." | |||
| 2964 | c-state-cache-good-pos nil | 2964 | c-state-cache-good-pos nil |
| 2965 | c-state-min-scan-pos nil) | 2965 | c-state-min-scan-pos nil) |
| 2966 | 2966 | ||
| 2967 | ;;; Truncate `c-state-cache' and set `c-state-cache-good-pos' to a value below | 2967 | ;; Truncate `c-state-cache' and set `c-state-cache-good-pos' to a value |
| 2968 | ;;; `here'. To maintain its consistency, we may need to insert a new brace | 2968 | ;; below `here'. To maintain its consistency, we may need to insert a new |
| 2969 | ;;; pair. | 2969 | ;; brace pair. |
| 2970 | (let ((here-bol (c-point 'bol here)) | 2970 | (let ((here-bol (c-point 'bol here)) |
| 2971 | too-high-pa ; recorded {/(/[ next above here, or nil. | 2971 | too-high-pa ; recorded {/(/[ next above here, or nil. |
| 2972 | dropped-cons ; was the last removed element a brace pair? | 2972 | dropped-cons ; was the last removed element a brace pair? |
| @@ -4233,9 +4233,9 @@ comment at the start of cc-engine.el for more info." | |||
| 4233 | ;; fails to take account of the change of the s-t property on the opening / to | 4233 | ;; fails to take account of the change of the s-t property on the opening / to |
| 4234 | ;; "string", and reports that the { is within a string started by the second /. | 4234 | ;; "string", and reports that the { is within a string started by the second /. |
| 4235 | ;; | 4235 | ;; |
| 4236 | ;; The workaround for this is for the AWK Mode initialisation to switch the | 4236 | ;; The workaround for this is for the AWK Mode initialization to switch the |
| 4237 | ;; defalias for c-in-literal to c-slow-in-literal. This will slow down other | 4237 | ;; defalias for c-in-literal to c-slow-in-literal. This will slow down other |
| 4238 | ;; cc-modes in XEmacs whenever an awk-buffer has been initialised. | 4238 | ;; cc-modes in XEmacs whenever an awk-buffer has been initialized. |
| 4239 | ;; | 4239 | ;; |
| 4240 | ;; (Alan Mackenzie, 2003/4/30). | 4240 | ;; (Alan Mackenzie, 2003/4/30). |
| 4241 | 4241 | ||
| @@ -4904,7 +4904,7 @@ comment at the start of cc-engine.el for more info." | |||
| 4904 | (setq cfd-prop-match nil)) | 4904 | (setq cfd-prop-match nil)) |
| 4905 | 4905 | ||
| 4906 | (when (/= cfd-macro-end 0) | 4906 | (when (/= cfd-macro-end 0) |
| 4907 | ;; Restore limits if we did macro narrowment above. | 4907 | ;; Restore limits if we did macro narrowing above. |
| 4908 | (narrow-to-region (point-min) cfd-buffer-end))) | 4908 | (narrow-to-region (point-min) cfd-buffer-end))) |
| 4909 | 4909 | ||
| 4910 | (goto-char cfd-continue-pos) | 4910 | (goto-char cfd-continue-pos) |
| @@ -5052,7 +5052,7 @@ comment at the start of cc-engine.el for more info." | |||
| 5052 | ;; The strategy now (2010-01) adopted is to mark and unmark < and | 5052 | ;; The strategy now (2010-01) adopted is to mark and unmark < and |
| 5053 | ;; > IN MATCHING PAIRS ONLY. [Previously, they were marked | 5053 | ;; > IN MATCHING PAIRS ONLY. [Previously, they were marked |
| 5054 | ;; individually when their context so indicated. This gave rise to | 5054 | ;; individually when their context so indicated. This gave rise to |
| 5055 | ;; intractible problems when one of a matching pair was deleted, or | 5055 | ;; intractable problems when one of a matching pair was deleted, or |
| 5056 | ;; pulled into a literal.] | 5056 | ;; pulled into a literal.] |
| 5057 | ;; | 5057 | ;; |
| 5058 | ;; At each buffer change, the syntax-table properties are removed in a | 5058 | ;; At each buffer change, the syntax-table properties are removed in a |
| @@ -5965,7 +5965,7 @@ comment at the start of cc-engine.el for more info." | |||
| 5965 | ;; `*-font-lock-extra-types'); | 5965 | ;; `*-font-lock-extra-types'); |
| 5966 | ;; o - 'prefix if it's a known prefix of a type; | 5966 | ;; o - 'prefix if it's a known prefix of a type; |
| 5967 | ;; o - 'found if it's a type that matches one in `c-found-types'; | 5967 | ;; o - 'found if it's a type that matches one in `c-found-types'; |
| 5968 | ;; o - 'maybe if it's an identfier that might be a type; or | 5968 | ;; o - 'maybe if it's an identifier that might be a type; or |
| 5969 | ;; o - nil if it can't be a type (the point isn't moved then). | 5969 | ;; o - nil if it can't be a type (the point isn't moved then). |
| 5970 | ;; | 5970 | ;; |
| 5971 | ;; The point is assumed to be at the beginning of a token. | 5971 | ;; The point is assumed to be at the beginning of a token. |
| @@ -7100,7 +7100,7 @@ comment at the start of cc-engine.el for more info." | |||
| 7100 | ;; colon). Currently (2006-03), this applies only to Objective C's | 7100 | ;; colon). Currently (2006-03), this applies only to Objective C's |
| 7101 | ;; keywords "@private", "@protected", and "@public". Returns t. | 7101 | ;; keywords "@private", "@protected", and "@public". Returns t. |
| 7102 | ;; | 7102 | ;; |
| 7103 | ;; One of the things which will NOT be recognised as a label is a bit-field | 7103 | ;; One of the things which will NOT be recognized as a label is a bit-field |
| 7104 | ;; element of a struct, something like "int foo:5". | 7104 | ;; element of a struct, something like "int foo:5". |
| 7105 | ;; | 7105 | ;; |
| 7106 | ;; The end of the label is taken to be just after the colon, or the end of | 7106 | ;; The end of the label is taken to be just after the colon, or the end of |
| @@ -9582,7 +9582,7 @@ comment at the start of cc-engine.el for more info." | |||
| 9582 | (c-add-syntax 'inher-cont (c-point 'boi))) | 9582 | (c-add-syntax 'inher-cont (c-point 'boi))) |
| 9583 | 9583 | ||
| 9584 | ;; CASE 5D.5: Continuation of the "expression part" of a | 9584 | ;; CASE 5D.5: Continuation of the "expression part" of a |
| 9585 | ;; top level construct. Or, perhaps, an unrecognised construct. | 9585 | ;; top level construct. Or, perhaps, an unrecognized construct. |
| 9586 | (t | 9586 | (t |
| 9587 | (while (and (setq placeholder (point)) | 9587 | (while (and (setq placeholder (point)) |
| 9588 | (eq (car (c-beginning-of-decl-1 containing-sexp)) | 9588 | (eq (car (c-beginning-of-decl-1 containing-sexp)) |
| @@ -9593,7 +9593,7 @@ comment at the start of cc-engine.el for more info." | |||
| 9593 | (< (point) placeholder))) | 9593 | (< (point) placeholder))) |
| 9594 | (c-add-stmt-syntax | 9594 | (c-add-stmt-syntax |
| 9595 | (cond | 9595 | (cond |
| 9596 | ((eq (point) placeholder) 'statement) ; unrecognised construct | 9596 | ((eq (point) placeholder) 'statement) ; unrecognized construct |
| 9597 | ;; A preceding comma at the top level means that a | 9597 | ;; A preceding comma at the top level means that a |
| 9598 | ;; new variable declaration starts here. Use | 9598 | ;; new variable declaration starts here. Use |
| 9599 | ;; topmost-intro-cont for it, for consistency with | 9599 | ;; topmost-intro-cont for it, for consistency with |
| @@ -9784,7 +9784,7 @@ comment at the start of cc-engine.el for more info." | |||
| 9784 | (c-beginning-of-statement-1 containing-sexp) | 9784 | (c-beginning-of-statement-1 containing-sexp) |
| 9785 | (c-add-stmt-syntax 'statement nil t containing-sexp paren-state)) | 9785 | (c-add-stmt-syntax 'statement nil t containing-sexp paren-state)) |
| 9786 | 9786 | ||
| 9787 | ;;CASE 5N: We are at a tompmost continuation line and the only | 9787 | ;;CASE 5N: We are at a topmost continuation line and the only |
| 9788 | ;;preceding items are annotations. | 9788 | ;;preceding items are annotations. |
| 9789 | ((and (c-major-mode-is 'java-mode) | 9789 | ((and (c-major-mode-is 'java-mode) |
| 9790 | (setq placeholder (point)) | 9790 | (setq placeholder (point)) |
diff --git a/lisp/progmodes/cc-fonts.el b/lisp/progmodes/cc-fonts.el index a5a9582315b..a31de35f3ba 100644 --- a/lisp/progmodes/cc-fonts.el +++ b/lisp/progmodes/cc-fonts.el | |||
| @@ -1040,7 +1040,7 @@ casts and declarations are fontified. Used on level 2 and higher." | |||
| 1040 | ;; Inside the following "condition form", we move forward over the | 1040 | ;; Inside the following "condition form", we move forward over the |
| 1041 | ;; declarator's identifier up as far as any opening bracket (for array | 1041 | ;; declarator's identifier up as far as any opening bracket (for array |
| 1042 | ;; size) or paren (for parameters of function-type) or brace (for | 1042 | ;; size) or paren (for parameters of function-type) or brace (for |
| 1043 | ;; array/struct initialisation) or "=" or terminating delimiter | 1043 | ;; array/struct initialization) or "=" or terminating delimiter |
| 1044 | ;; (e.g. "," or ";" or "}"). | 1044 | ;; (e.g. "," or ";" or "}"). |
| 1045 | (and | 1045 | (and |
| 1046 | pos | 1046 | pos |
| @@ -1122,7 +1122,7 @@ casts and declarations are fontified. Used on level 2 and higher." | |||
| 1122 | (char-after (match-beginning 1)))) | 1122 | (char-after (match-beginning 1)))) |
| 1123 | 1123 | ||
| 1124 | (if types | 1124 | (if types |
| 1125 | ;; Register and fontify the identifer as a type. | 1125 | ;; Register and fontify the identifier as a type. |
| 1126 | (let ((c-promote-possible-types t)) | 1126 | (let ((c-promote-possible-types t)) |
| 1127 | (goto-char id-start) | 1127 | (goto-char id-start) |
| 1128 | (c-forward-type)) | 1128 | (c-forward-type)) |
diff --git a/lisp/progmodes/cc-langs.el b/lisp/progmodes/cc-langs.el index e1fb69c30c8..4a6344727b4 100644 --- a/lisp/progmodes/cc-langs.el +++ b/lisp/progmodes/cc-langs.el | |||
| @@ -221,7 +221,7 @@ the evaluated constant value at compile time." | |||
| 221 | ;; | 221 | ;; |
| 222 | ;; OPS either has the structure of `c-operators', is a single | 222 | ;; OPS either has the structure of `c-operators', is a single |
| 223 | ;; group in `c-operators', or is a plain list of operators. | 223 | ;; group in `c-operators', or is a plain list of operators. |
| 224 | ;; | 224 | ;; |
| 225 | ;; OPGROUP-FILTER specifies how to select the operator groups. It | 225 | ;; OPGROUP-FILTER specifies how to select the operator groups. It |
| 226 | ;; can be t to choose all groups, a list of group type symbols | 226 | ;; can be t to choose all groups, a list of group type symbols |
| 227 | ;; (such as 'prefix) to accept, or a function which will be called | 227 | ;; (such as 'prefix) to accept, or a function which will be called |
| @@ -772,7 +772,7 @@ literal are multiline." | |||
| 772 | "Regexp matching the prefix of a cpp directive in the languages that | 772 | "Regexp matching the prefix of a cpp directive in the languages that |
| 773 | normally use that macro preprocessor. Tested at bol or at boi. | 773 | normally use that macro preprocessor. Tested at bol or at boi. |
| 774 | Assumed to not contain any submatches or \\| operators." | 774 | Assumed to not contain any submatches or \\| operators." |
| 775 | ;; TODO (ACM, 2005-04-01). Amend the following to recognise escaped NLs; | 775 | ;; TODO (ACM, 2005-04-01). Amend the following to recognize escaped NLs; |
| 776 | ;; amend all uses of c-opt-cpp-prefix which count regexp-depth. | 776 | ;; amend all uses of c-opt-cpp-prefix which count regexp-depth. |
| 777 | t "\\s *#\\s *" | 777 | t "\\s *#\\s *" |
| 778 | (java awk) nil) | 778 | (java awk) nil) |
| @@ -1520,7 +1520,7 @@ properly." | |||
| 1520 | ;; end-of-defun-function will be set so that commands like | 1520 | ;; end-of-defun-function will be set so that commands like |
| 1521 | ;; `mark-defun' and `narrow-to-defun' work right. The key sequences | 1521 | ;; `mark-defun' and `narrow-to-defun' work right. The key sequences |
| 1522 | ;; C-M-a and C-M-e are, however, bound directly to the CC Mode | 1522 | ;; C-M-a and C-M-e are, however, bound directly to the CC Mode |
| 1523 | ;; functions, allowing optimisation for large n. | 1523 | ;; functions, allowing optimization for large n. |
| 1524 | (c-lang-defconst beginning-of-defun-function | 1524 | (c-lang-defconst beginning-of-defun-function |
| 1525 | "Function to which beginning-of-defun-function will be set." | 1525 | "Function to which beginning-of-defun-function will be set." |
| 1526 | t 'c-beginning-of-defun | 1526 | t 'c-beginning-of-defun |
| @@ -2530,7 +2530,7 @@ Note that Java specific rules are currently applied to tell this from | |||
| 2530 | "\\.?[0-9]" | 2530 | "\\.?[0-9]" |
| 2531 | 2531 | ||
| 2532 | "\\|" | 2532 | "\\|" |
| 2533 | ;; The nonambiguous operators from `prefix-ops'. | 2533 | ;; The unambiguous operators from `prefix-ops'. |
| 2534 | (c-make-keywords-re nil | 2534 | (c-make-keywords-re nil |
| 2535 | (set-difference nonkeyword-prefix-ops in-or-postfix-ops | 2535 | (set-difference nonkeyword-prefix-ops in-or-postfix-ops |
| 2536 | :test 'string-equal)) | 2536 | :test 'string-equal)) |
| @@ -2681,7 +2681,7 @@ possible for good performance." | |||
| 2681 | pos (match-end 0))) | 2681 | pos (match-end 0))) |
| 2682 | res)))) | 2682 | res)))) |
| 2683 | 2683 | ||
| 2684 | ;; Allow cpp operatios (where applicable). | 2684 | ;; Allow cpp operations (where applicable). |
| 2685 | t (if (c-lang-const c-opt-cpp-prefix) | 2685 | t (if (c-lang-const c-opt-cpp-prefix) |
| 2686 | (set-difference (c-lang-const c-block-prefix-disallowed-chars) | 2686 | (set-difference (c-lang-const c-block-prefix-disallowed-chars) |
| 2687 | '(?#)) | 2687 | '(?#)) |
diff --git a/lisp/progmodes/cc-menus.el b/lisp/progmodes/cc-menus.el index 4e9350de425..942303b1096 100644 --- a/lisp/progmodes/cc-menus.el +++ b/lisp/progmodes/cc-menus.el | |||
| @@ -66,7 +66,7 @@ A sample value might look like: `\\(_P\\|_PROTO\\)'.") | |||
| 66 | (defvar cc-imenu-c++-generic-expression | 66 | (defvar cc-imenu-c++-generic-expression |
| 67 | `( | 67 | `( |
| 68 | ;; Try to match ::operator definitions first. Otherwise `X::operator new ()' | 68 | ;; Try to match ::operator definitions first. Otherwise `X::operator new ()' |
| 69 | ;; will be incorrectly recognised as function `new ()' because the regexps | 69 | ;; will be incorrectly recognized as function `new ()' because the regexps |
| 70 | ;; work by backtracking from the end of the definition. | 70 | ;; work by backtracking from the end of the definition. |
| 71 | (nil | 71 | (nil |
| 72 | ,(concat | 72 | ,(concat |
diff --git a/lisp/progmodes/cc-mode.el b/lisp/progmodes/cc-mode.el index d93d174047b..cc5a5236255 100644 --- a/lisp/progmodes/cc-mode.el +++ b/lisp/progmodes/cc-mode.el | |||
| @@ -293,7 +293,7 @@ control). See \"cc-mode.el\" for more info." | |||
| 293 | ;; replaces `fill-paragraph' and does the adaption before calling | 293 | ;; replaces `fill-paragraph' and does the adaption before calling |
| 294 | ;; `fill-paragraph-function', and we have to mask comments etc | 294 | ;; `fill-paragraph-function', and we have to mask comments etc |
| 295 | ;; before that. Also, `c-fill-paragraph' chains on to | 295 | ;; before that. Also, `c-fill-paragraph' chains on to |
| 296 | ;; `fill-paragraph' and the value on `fill-parapgraph-function' to | 296 | ;; `fill-paragraph' and the value on `fill-paragraph-function' to |
| 297 | ;; do the actual filling work. | 297 | ;; do the actual filling work. |
| 298 | (substitute-key-definition 'fill-paragraph 'c-fill-paragraph | 298 | (substitute-key-definition 'fill-paragraph 'c-fill-paragraph |
| 299 | c-mode-base-map global-map) | 299 | c-mode-base-map global-map) |
| @@ -505,7 +505,7 @@ that requires a literal mode spec at compile time." | |||
| 505 | ;; doesn't work with filladapt but it's better than nothing. | 505 | ;; doesn't work with filladapt but it's better than nothing. |
| 506 | (set (make-local-variable 'fill-paragraph-function) 'c-fill-paragraph) | 506 | (set (make-local-variable 'fill-paragraph-function) 'c-fill-paragraph) |
| 507 | 507 | ||
| 508 | ;; Initialise the cache of brace pairs, and opening braces/brackets/parens. | 508 | ;; Initialize the cache of brace pairs, and opening braces/brackets/parens. |
| 509 | (c-state-cache-init) | 509 | (c-state-cache-init) |
| 510 | 510 | ||
| 511 | (when (or c-recognize-<>-arglists | 511 | (when (or c-recognize-<>-arglists |
| @@ -587,7 +587,7 @@ that requires a literal mode spec at compile time." | |||
| 587 | (add-hook 'after-change-functions 'c-after-change nil t) | 587 | (add-hook 'after-change-functions 'c-after-change nil t) |
| 588 | (set (make-local-variable 'font-lock-extend-after-change-region-function) | 588 | (set (make-local-variable 'font-lock-extend-after-change-region-function) |
| 589 | 'c-extend-after-change-region)) ; Currently (2009-05) used by all | 589 | 'c-extend-after-change-region)) ; Currently (2009-05) used by all |
| 590 | ; lanaguages with #define (C, C++,; ObjC), and by AWK. | 590 | ; languages with #define (C, C++,; ObjC), and by AWK. |
| 591 | 591 | ||
| 592 | (defun c-setup-doc-comment-style () | 592 | (defun c-setup-doc-comment-style () |
| 593 | "Initialize the variables that depend on the value of `c-doc-comment-style'." | 593 | "Initialize the variables that depend on the value of `c-doc-comment-style'." |
diff --git a/lisp/progmodes/cc-vars.el b/lisp/progmodes/cc-vars.el index 02256ead392..549f94387d2 100644 --- a/lisp/progmodes/cc-vars.el +++ b/lisp/progmodes/cc-vars.el | |||
| @@ -420,7 +420,7 @@ If a LINE-TYPE is missing, then \\[indent-for-comment] indents the comment | |||
| 420 | according to `comment-column'. | 420 | according to `comment-column'. |
| 421 | 421 | ||
| 422 | Note that a non-nil value on `c-indent-comments-syntactically-p' | 422 | Note that a non-nil value on `c-indent-comments-syntactically-p' |
| 423 | overrides this variable, so empty lines are indentented syntactically | 423 | overrides this variable, so empty lines are indented syntactically |
| 424 | in that case, i.e. as if \\[c-indent-command] was used instead." | 424 | in that case, i.e. as if \\[c-indent-command] was used instead." |
| 425 | :type | 425 | :type |
| 426 | (let ((space '(cons :tag "space" | 426 | (let ((space '(cons :tag "space" |
diff --git a/lisp/progmodes/cfengine.el b/lisp/progmodes/cfengine.el index eea822328f1..823304bd250 100644 --- a/lisp/progmodes/cfengine.el +++ b/lisp/progmodes/cfengine.el | |||
| @@ -24,7 +24,7 @@ | |||
| 24 | ;;; Commentary: | 24 | ;;; Commentary: |
| 25 | 25 | ||
| 26 | ;; Provides support for editing GNU Cfengine files, including | 26 | ;; Provides support for editing GNU Cfengine files, including |
| 27 | ;; font-locking, Imenu and indention, but with no special keybindings. | 27 | ;; font-locking, Imenu and indentation, but with no special keybindings. |
| 28 | 28 | ||
| 29 | ;; The CFEngine 3.x support doesn't have Imenu support but patches are | 29 | ;; The CFEngine 3.x support doesn't have Imenu support but patches are |
| 30 | ;; welcome. | 30 | ;; welcome. |
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index 3dba1af515a..73e990e2755 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el | |||
| @@ -1013,11 +1013,11 @@ POS and RES.") | |||
| 1013 | (setq col (funcall col)) | 1013 | (setq col (funcall col)) |
| 1014 | (and | 1014 | (and |
| 1015 | (setq col (match-string-no-properties col)) | 1015 | (setq col (match-string-no-properties col)) |
| 1016 | (setq col (- (string-to-number col) compilation-first-column))))) | 1016 | (setq col (string-to-number col))))) |
| 1017 | (if (and end-col (functionp end-col)) | 1017 | (if (and end-col (functionp end-col)) |
| 1018 | (setq end-col (funcall end-col)) | 1018 | (setq end-col (funcall end-col)) |
| 1019 | (if (and end-col (setq end-col (match-string-no-properties end-col))) | 1019 | (if (and end-col (setq end-col (match-string-no-properties end-col))) |
| 1020 | (setq end-col (- (string-to-number end-col) compilation-first-column -1)) | 1020 | (setq end-col (- (string-to-number end-col) -1)) |
| 1021 | (if end-line (setq end-col -1)))) | 1021 | (if end-line (setq end-col -1)))) |
| 1022 | (if (consp type) ; not a static type, check what it is. | 1022 | (if (consp type) ; not a static type, check what it is. |
| 1023 | (setq type (or (and (car type) (match-end (car type)) 1) | 1023 | (setq type (or (and (car type) (match-end (car type)) 1) |
| @@ -1037,6 +1037,7 @@ POS and RES.") | |||
| 1037 | "Go to column COL on the current line. | 1037 | "Go to column COL on the current line. |
| 1038 | If SCREEN is non-nil, columns are screen columns, otherwise, they are | 1038 | If SCREEN is non-nil, columns are screen columns, otherwise, they are |
| 1039 | just char-counts." | 1039 | just char-counts." |
| 1040 | (setq col (- col compilation-first-column)) | ||
| 1040 | (if screen | 1041 | (if screen |
| 1041 | (move-to-column (max col 0)) | 1042 | (move-to-column (max col 0)) |
| 1042 | (goto-char (min (+ (line-beginning-position) col) (line-end-position))))) | 1043 | (goto-char (min (+ (line-beginning-position) col) (line-end-position))))) |
diff --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el index 1925d16ba58..0e649480dda 100644 --- a/lisp/progmodes/cperl-mode.el +++ b/lisp/progmodes/cperl-mode.el | |||
| @@ -839,7 +839,7 @@ voice); | |||
| 839 | b) Can lineup vertically \"middles\" of rows, like `=' in | 839 | b) Can lineup vertically \"middles\" of rows, like `=' in |
| 840 | a = b; | 840 | a = b; |
| 841 | cc = d; | 841 | cc = d; |
| 842 | c) Can insert spaces where this impoves readability (in one | 842 | c) Can insert spaces where this improves readability (in one |
| 843 | interactive sweep over the buffer); | 843 | interactive sweep over the buffer); |
| 844 | d) Has support for imenu, including: | 844 | d) Has support for imenu, including: |
| 845 | 1) Separate unordered list of \"interesting places\"; | 845 | 1) Separate unordered list of \"interesting places\"; |
| @@ -927,7 +927,7 @@ syntax-parsing routines, and marks them up so that either | |||
| 927 | 927 | ||
| 928 | A1) CPerl may work around these deficiencies (for big chunks, mostly | 928 | A1) CPerl may work around these deficiencies (for big chunks, mostly |
| 929 | PODs and HERE-documents), or | 929 | PODs and HERE-documents), or |
| 930 | A2) On capable Emaxen CPerl will use improved syntax-handlings | 930 | A2) On capable Emaxen CPerl will use improved syntax-handling |
| 931 | which reads mark-up hints directly. | 931 | which reads mark-up hints directly. |
| 932 | 932 | ||
| 933 | The scan in case A2 is much more comprehensive, thus may be slower. | 933 | The scan in case A2 is much more comprehensive, thus may be slower. |
| @@ -1277,7 +1277,7 @@ versions of Emacs." | |||
| 1277 | "----" | 1277 | "----" |
| 1278 | ["Ispell PODs" cperl-pod-spell | 1278 | ["Ispell PODs" cperl-pod-spell |
| 1279 | ;; Better not to update syntaxification here: | 1279 | ;; Better not to update syntaxification here: |
| 1280 | ;; debugging syntaxificatio can be broken by this??? | 1280 | ;; debugging syntaxification can be broken by this??? |
| 1281 | (or | 1281 | (or |
| 1282 | (get-text-property (point-min) 'in-pod) | 1282 | (get-text-property (point-min) 'in-pod) |
| 1283 | (< (progn | 1283 | (< (progn |
| @@ -2801,7 +2801,7 @@ Will not look before LIM." | |||
| 2801 | (skip-chars-forward " \t") | 2801 | (skip-chars-forward " \t") |
| 2802 | (if (memq (char-after (point)) | 2802 | (if (memq (char-after (point)) |
| 2803 | (append "#\n" nil)) | 2803 | (append "#\n" nil)) |
| 2804 | nil ; Can't use intentation of this line... | 2804 | nil ; Can't use indentation of this line... |
| 2805 | (point))) | 2805 | (point))) |
| 2806 | (skip-chars-forward " \t") | 2806 | (skip-chars-forward " \t") |
| 2807 | (point))) | 2807 | (point))) |
| @@ -4540,7 +4540,7 @@ the sections using `cperl-pod-head-face', `cperl-pod-face', | |||
| 4540 | (forward-char 2)) | 4540 | (forward-char 2)) |
| 4541 | (and (eq (following-char) ?\] ) | 4541 | (and (eq (following-char) ?\] ) |
| 4542 | (forward-char 1))) | 4542 | (forward-char 1))) |
| 4543 | (setq REx-subgr-end qtag) ;EndOf smart-highlighed | 4543 | (setq REx-subgr-end qtag) ;End smart-highlighted |
| 4544 | ;; Apparently, I can't put \] into a charclass | 4544 | ;; Apparently, I can't put \] into a charclass |
| 4545 | ;; in m]]: m][\\\]\]] produces [\\]] | 4545 | ;; in m]]: m][\\\]\]] produces [\\]] |
| 4546 | ;;; POSIX? [:word:] [:^word:] only inside [] | 4546 | ;;; POSIX? [:word:] [:^word:] only inside [] |
diff --git a/lisp/progmodes/cwarn.el b/lisp/progmodes/cwarn.el index 211c856f9b7..0516aca8d2b 100644 --- a/lisp/progmodes/cwarn.el +++ b/lisp/progmodes/cwarn.el | |||
| @@ -210,16 +210,16 @@ This function is designed to be added to hooks, for example: | |||
| 210 | 210 | ||
| 211 | (defun cwarn-is-enabled (mode &optional feature) | 211 | (defun cwarn-is-enabled (mode &optional feature) |
| 212 | "Non-nil if CWarn FEATURE is enabled for MODE. | 212 | "Non-nil if CWarn FEATURE is enabled for MODE. |
| 213 | feature is an atom representing one construction to highlight. | 213 | FEATURE is an atom representing one construction to highlight. |
| 214 | 214 | ||
| 215 | Check if any feature is enabled for MODE if no feature is specified. | 215 | Check if any feature is enabled for MODE if no feature is specified. |
| 216 | 216 | ||
| 217 | The valid features are described by the variable | 217 | The valid features are described by the variable |
| 218 | `cwarn-font-lock-feature-keywords-alist'." | 218 | `cwarn-font-lock-feature-keywords-alist'." |
| 219 | (let ((mode-configuraion (assq mode cwarn-configuration))) | 219 | (let ((mode-configuration (assq mode cwarn-configuration))) |
| 220 | (and mode-configuraion | 220 | (and mode-configuration |
| 221 | (or (null feature) | 221 | (or (null feature) |
| 222 | (let ((list-or-t (nth 1 mode-configuraion))) | 222 | (let ((list-or-t (nth 1 mode-configuration))) |
| 223 | (or (eq list-or-t t) | 223 | (or (eq list-or-t t) |
| 224 | (if (eq (car-safe list-or-t) 'not) | 224 | (if (eq (car-safe list-or-t) 'not) |
| 225 | (not (memq feature (cdr list-or-t))) | 225 | (not (memq feature (cdr list-or-t))) |
| @@ -235,7 +235,7 @@ The valid features are described by the variable | |||
| 235 | (eq (char-after) ?#))) | 235 | (eq (char-after) ?#))) |
| 236 | 236 | ||
| 237 | (defun cwarn-font-lock-keywords (addp) | 237 | (defun cwarn-font-lock-keywords (addp) |
| 238 | "Install/Remove keywords into current buffer. | 238 | "Install/remove keywords into current buffer. |
| 239 | If ADDP is non-nil, install else remove." | 239 | If ADDP is non-nil, install else remove." |
| 240 | (dolist (pair cwarn-font-lock-feature-keywords-alist) | 240 | (dolist (pair cwarn-font-lock-feature-keywords-alist) |
| 241 | (let ((feature (car pair)) | 241 | (let ((feature (car pair)) |
diff --git a/lisp/progmodes/ebnf-dtd.el b/lisp/progmodes/ebnf-dtd.el index 204b6a91b0f..7b63575195e 100644 --- a/lisp/progmodes/ebnf-dtd.el +++ b/lisp/progmodes/ebnf-dtd.el | |||
| @@ -515,7 +515,7 @@ | |||
| 515 | ;; ----- | 515 | ;; ----- |
| 516 | ;; | 516 | ;; |
| 517 | ;; At moment, only the `<!ELEMENT' generates a syntactic chart. The | 517 | ;; At moment, only the `<!ELEMENT' generates a syntactic chart. The |
| 518 | ;; `<!ATTLIST', `<!NOTATION' and `<!ENTITY' are syntacticly checked but they | 518 | ;; `<!ATTLIST', `<!NOTATION' and `<!ENTITY' are syntactically checked but they |
| 519 | ;; don't generate a syntactic chart. | 519 | ;; don't generate a syntactic chart. |
| 520 | ;; | 520 | ;; |
| 521 | ;; Besides the syntax above, ebnf-dtd also accepts a `pure' dtd file. An | 521 | ;; Besides the syntax above, ebnf-dtd also accepts a `pure' dtd file. An |
diff --git a/lisp/progmodes/ebnf2ps.el b/lisp/progmodes/ebnf2ps.el index f98f3d191d7..d9adff6c8b8 100644 --- a/lisp/progmodes/ebnf2ps.el +++ b/lisp/progmodes/ebnf2ps.el | |||
| @@ -6069,7 +6069,7 @@ killed after process termination." | |||
| 6069 | 6069 | ||
| 6070 | 6070 | ||
| 6071 | (defun ebnf-make-terminal1 (name gen-func dim-func) | 6071 | (defun ebnf-make-terminal1 (name gen-func dim-func) |
| 6072 | (vector gen-func ; 0 generatore | 6072 | (vector gen-func ; 0 generator |
| 6073 | 'ignore ; 1 width fun | 6073 | 'ignore ; 1 width fun |
| 6074 | dim-func ; 2 dimension fun | 6074 | dim-func ; 2 dimension fun |
| 6075 | 0.0 ; 3 entry | 6075 | 0.0 ; 3 entry |
diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el index 13cba0fe701..2d0b18f3dae 100644 --- a/lisp/progmodes/etags.el +++ b/lisp/progmodes/etags.el | |||
| @@ -1191,7 +1191,7 @@ error message." | |||
| 1191 | ;; Note: there is a small inefficiency in find-buffer-visiting : | 1191 | ;; Note: there is a small inefficiency in find-buffer-visiting : |
| 1192 | ;; truename is computed even if not needed. Not too sure about this | 1192 | ;; truename is computed even if not needed. Not too sure about this |
| 1193 | ;; but I suspect truename computation accesses the disk. | 1193 | ;; but I suspect truename computation accesses the disk. |
| 1194 | ;; It is maybe a good idea to optimise this find-buffer-visiting. | 1194 | ;; It is maybe a good idea to optimize this find-buffer-visiting. |
| 1195 | ;; An alternative would be to use only get-file-buffer | 1195 | ;; An alternative would be to use only get-file-buffer |
| 1196 | ;; but this looks less "sure" to find the buffer for the file. | 1196 | ;; but this looks less "sure" to find the buffer for the file. |
| 1197 | (while (and (not the-buffer) buffer-search-extensions) | 1197 | (while (and (not the-buffer) buffer-search-extensions) |
diff --git a/lisp/progmodes/gdb-mi.el b/lisp/progmodes/gdb-mi.el index 7d31fb63e91..a1a41bd0b1b 100644 --- a/lisp/progmodes/gdb-mi.el +++ b/lisp/progmodes/gdb-mi.el | |||
| @@ -74,7 +74,7 @@ | |||
| 74 | ;; GDB in Emacs on Mac OSX works best with FSF GDB as Apple have made | 74 | ;; GDB in Emacs on Mac OSX works best with FSF GDB as Apple have made |
| 75 | ;; some changes to the version that they include as part of Mac OSX. | 75 | ;; some changes to the version that they include as part of Mac OSX. |
| 76 | ;; This requires GDB version 7.0 or later (estimated release date Aug 2009) | 76 | ;; This requires GDB version 7.0 or later (estimated release date Aug 2009) |
| 77 | ;; as earlier versions don not compile on Mac OSX. | 77 | ;; as earlier versions do not compile on Mac OSX. |
| 78 | 78 | ||
| 79 | ;;; Known Bugs: | 79 | ;;; Known Bugs: |
| 80 | 80 | ||
| @@ -823,7 +823,7 @@ detailed description of this mode. | |||
| 823 | (run-hooks 'gdb-mode-hook)) | 823 | (run-hooks 'gdb-mode-hook)) |
| 824 | 824 | ||
| 825 | (defun gdb-init-1 () | 825 | (defun gdb-init-1 () |
| 826 | ;; (re-)initialise | 826 | ;; (re-)initialize |
| 827 | (setq gdb-selected-frame nil | 827 | (setq gdb-selected-frame nil |
| 828 | gdb-frame-number nil | 828 | gdb-frame-number nil |
| 829 | gdb-thread-number nil | 829 | gdb-thread-number nil |
| @@ -3578,7 +3578,7 @@ member." | |||
| 3578 | (gud-basic-call | 3578 | (gud-basic-call |
| 3579 | (concat "-gdb-set variable " var " = " value))))) | 3579 | (concat "-gdb-set variable " var " = " value))))) |
| 3580 | 3580 | ||
| 3581 | ;; Dont display values of arrays or structures. | 3581 | ;; Don't display values of arrays or structures. |
| 3582 | ;; These can be expanded using gud-watch. | 3582 | ;; These can be expanded using gud-watch. |
| 3583 | (defun gdb-locals-handler-custom () | 3583 | (defun gdb-locals-handler-custom () |
| 3584 | (let ((locals-list (bindat-get-field (gdb-json-partial-output) 'locals)) | 3584 | (let ((locals-list (bindat-get-field (gdb-json-partial-output) 'locals)) |
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el index c60e8d72abc..527bc51eef8 100644 --- a/lisp/progmodes/gud.el +++ b/lisp/progmodes/gud.el | |||
| @@ -1168,7 +1168,7 @@ containing the executable being debugged." | |||
| 1168 | ;; appears to indicate a breakpoint. Then we prod the dbx sub-process | 1168 | ;; appears to indicate a breakpoint. Then we prod the dbx sub-process |
| 1169 | ;; to output the information we want with a combination of the | 1169 | ;; to output the information we want with a combination of the |
| 1170 | ;; `printf' and `file' commands as a pseudo marker which we can | 1170 | ;; `printf' and `file' commands as a pseudo marker which we can |
| 1171 | ;; recognise next time through the marker-filter. This would be like | 1171 | ;; recognize next time through the marker-filter. This would be like |
| 1172 | ;; the gdb marker but you can't get the file name without a newline... | 1172 | ;; the gdb marker but you can't get the file name without a newline... |
| 1173 | ;; Note that gud-remove won't work since Irix dbx expects a breakpoint | 1173 | ;; Note that gud-remove won't work since Irix dbx expects a breakpoint |
| 1174 | ;; number rather than a line number etc. Maybe this could be made to | 1174 | ;; number rather than a line number etc. Maybe this could be made to |
| @@ -1689,7 +1689,7 @@ and source-file directory for your debugger." | |||
| 1689 | ;; Run jdb (like this): jdb | 1689 | ;; Run jdb (like this): jdb |
| 1690 | ;; | 1690 | ;; |
| 1691 | ;; type any jdb switches followed by the name of the class you'd like to debug. | 1691 | ;; type any jdb switches followed by the name of the class you'd like to debug. |
| 1692 | ;; Supply a fully qualfied classname (these do not have the ".class" extension) | 1692 | ;; Supply a fully qualified classname (these don't have the ".class" extension) |
| 1693 | ;; for the name of the class to debug (e.g. "COM.the-kind.ddavies.CoolClass"). | 1693 | ;; for the name of the class to debug (e.g. "COM.the-kind.ddavies.CoolClass"). |
| 1694 | ;; See the known problems section below for restrictions when specifying jdb | 1694 | ;; See the known problems section below for restrictions when specifying jdb |
| 1695 | ;; command line switches (search forward for '-classpath'). | 1695 | ;; command line switches (search forward for '-classpath'). |
| @@ -2094,7 +2094,7 @@ extension EXTN. Normally EXTN is given as the regular expression | |||
| 2094 | 2094 | ||
| 2095 | ;; By this point the current directory is all screwed up. Maybe we | 2095 | ;; By this point the current directory is all screwed up. Maybe we |
| 2096 | ;; could fix things and re-invoke gud-common-init, but for now I think | 2096 | ;; could fix things and re-invoke gud-common-init, but for now I think |
| 2097 | ;; issueing the error is good enough. | 2097 | ;; issuing the error is good enough. |
| 2098 | (if user-error | 2098 | (if user-error |
| 2099 | (progn | 2099 | (progn |
| 2100 | (kill-buffer (current-buffer)) | 2100 | (kill-buffer (current-buffer)) |
diff --git a/lisp/progmodes/idlw-help.el b/lisp/progmodes/idlw-help.el index 2708346f05f..0266fc17f9c 100644 --- a/lisp/progmodes/idlw-help.el +++ b/lisp/progmodes/idlw-help.el | |||
| @@ -986,10 +986,10 @@ describes the correct routine - even if the keyword description cannot | |||
| 986 | be found. TYPE is ignored. | 986 | be found. TYPE is ignored. |
| 987 | 987 | ||
| 988 | This function expects a more or less standard routine header. In | 988 | This function expects a more or less standard routine header. In |
| 989 | particlar it looks for the `NAME:' tag, either with a colon, or alone | 989 | particular it looks for the `NAME:' tag, either with a colon, or alone |
| 990 | on a line. Then `NAME:' must be followed by the routine name on the | 990 | on a line. Then `NAME:' must be followed by the routine name on the |
| 991 | same or the next line. When KEYWORD is non-nil, looks first for a | 991 | same or the next line. When KEYWORD is non-nil, looks first for a |
| 992 | `KEYWORDS' section. It is amazing how inconsisten this is through | 992 | `KEYWORDS' section. It is amazing how inconsistent this is through |
| 993 | some IDL libraries I have seen. We settle for a line containing an | 993 | some IDL libraries I have seen. We settle for a line containing an |
| 994 | upper case \"KEYWORD\" string. If this line is not found we search | 994 | upper case \"KEYWORD\" string. If this line is not found we search |
| 995 | for the keyword anyway to increase the hit-rate | 995 | for the keyword anyway to increase the hit-rate |
diff --git a/lisp/progmodes/idlwave.el b/lisp/progmodes/idlwave.el index 1233ee19ff6..d8715599d74 100644 --- a/lisp/progmodes/idlwave.el +++ b/lisp/progmodes/idlwave.el | |||
| @@ -5789,7 +5789,7 @@ end | |||
| 5789 | (setq idlwave-idlwave_routine_info-compiled t)) | 5789 | (setq idlwave-idlwave_routine_info-compiled t)) |
| 5790 | 5790 | ||
| 5791 | ;; Restore if necessary. Must use execute to hide lame routine_info | 5791 | ;; Restore if necessary. Must use execute to hide lame routine_info |
| 5792 | ;; errors on undefinded routine | 5792 | ;; errors on undefined routine |
| 5793 | (idlwave-shell-send-command | 5793 | (idlwave-shell-send-command |
| 5794 | (format "if execute(\"_v=routine_info('idlwave_routine_info',/SOURCE)\") eq 0 then restore,'%s' else if _v.path eq '' then restore,'%s'" | 5794 | (format "if execute(\"_v=routine_info('idlwave_routine_info',/SOURCE)\") eq 0 then restore,'%s' else if _v.path eq '' then restore,'%s'" |
| 5795 | idlwave-shell-temp-rinfo-save-file | 5795 | idlwave-shell-temp-rinfo-save-file |
diff --git a/lisp/progmodes/inf-lisp.el b/lisp/progmodes/inf-lisp.el index 636766b36e7..1328e303d45 100644 --- a/lisp/progmodes/inf-lisp.el +++ b/lisp/progmodes/inf-lisp.el | |||
| @@ -598,7 +598,7 @@ See variable `lisp-describe-sym-command'." | |||
| 598 | (error "No Lisp subprocess; see variable `inferior-lisp-buffer'")))) | 598 | (error "No Lisp subprocess; see variable `inferior-lisp-buffer'")))) |
| 599 | 599 | ||
| 600 | 600 | ||
| 601 | ;;; Do the user's customisation... | 601 | ;;; Do the user's customization... |
| 602 | ;;;=============================== | 602 | ;;;=============================== |
| 603 | (defvar inferior-lisp-load-hook nil | 603 | (defvar inferior-lisp-load-hook nil |
| 604 | "This hook is run when the library `inf-lisp' is loaded.") | 604 | "This hook is run when the library `inf-lisp' is loaded.") |
diff --git a/lisp/progmodes/js.el b/lisp/progmodes/js.el index 0e3fdc78a39..94a9c250fee 100644 --- a/lisp/progmodes/js.el +++ b/lisp/progmodes/js.el | |||
| @@ -1599,7 +1599,7 @@ will be returned." | |||
| 1599 | 1599 | ||
| 1600 | (defun js-syntactic-context () | 1600 | (defun js-syntactic-context () |
| 1601 | "Return the JavaScript syntactic context at point. | 1601 | "Return the JavaScript syntactic context at point. |
| 1602 | When called interatively, also display a message with that | 1602 | When called interactively, also display a message with that |
| 1603 | context." | 1603 | context." |
| 1604 | (interactive) | 1604 | (interactive) |
| 1605 | (let* ((syntactic-context (js--syntactic-context-from-pstate | 1605 | (let* ((syntactic-context (js--syntactic-context-from-pstate |
diff --git a/lisp/progmodes/pascal.el b/lisp/progmodes/pascal.el index 67e3c4a18b4..b1502adbeb1 100644 --- a/lisp/progmodes/pascal.el +++ b/lisp/progmodes/pascal.el | |||
| @@ -414,7 +414,7 @@ no args, if that value is non-nil." | |||
| 414 | (electric-pascal-terminate-line))) | 414 | (electric-pascal-terminate-line))) |
| 415 | 415 | ||
| 416 | (defun electric-pascal-colon () | 416 | (defun electric-pascal-colon () |
| 417 | "Insert `:' and do all indentions except line indent on this line." | 417 | "Insert `:' and do all indentations except line indent on this line." |
| 418 | (interactive) | 418 | (interactive) |
| 419 | (insert last-command-event) | 419 | (insert last-command-event) |
| 420 | ;; Do nothing if within string. | 420 | ;; Do nothing if within string. |
| @@ -427,7 +427,7 @@ no args, if that value is non-nil." | |||
| 427 | (pascal-indent-command)))) | 427 | (pascal-indent-command)))) |
| 428 | 428 | ||
| 429 | (defun electric-pascal-equal () | 429 | (defun electric-pascal-equal () |
| 430 | "Insert `=', and do indention if within type declaration." | 430 | "Insert `=', and do indentation if within type declaration." |
| 431 | (interactive) | 431 | (interactive) |
| 432 | (insert last-command-event) | 432 | (insert last-command-event) |
| 433 | (if (eq (car (pascal-calculate-indent)) 'declaration) | 433 | (if (eq (car (pascal-calculate-indent)) 'declaration) |
diff --git a/lisp/progmodes/prolog.el b/lisp/progmodes/prolog.el index ef0905bb2a8..8b4798e1c14 100644 --- a/lisp/progmodes/prolog.el +++ b/lisp/progmodes/prolog.el | |||
| @@ -169,7 +169,7 @@ | |||
| 169 | ;; package requirements. | 169 | ;; package requirements. |
| 170 | ;; Version 1.13: | 170 | ;; Version 1.13: |
| 171 | ;; o Removed the use of `map-char-table' in `prolog-build-case-strings' | 171 | ;; o Removed the use of `map-char-table' in `prolog-build-case-strings' |
| 172 | ;; which appears to cause prblems in (at least) Emacs 23.0.0.1. | 172 | ;; which appears to cause problems in (at least) Emacs 23.0.0.1. |
| 173 | ;; o Added if-then-else indentation + corresponding electric | 173 | ;; o Added if-then-else indentation + corresponding electric |
| 174 | ;; characters. New customization: `prolog-electric-if-then-else-flag' | 174 | ;; characters. New customization: `prolog-electric-if-then-else-flag' |
| 175 | ;; o Align support (requires `align'). New customization: | 175 | ;; o Align support (requires `align'). New customization: |
| @@ -391,7 +391,7 @@ Otherwise indent to `prolog-indent-width'." | |||
| 391 | 391 | ||
| 392 | (defcustom prolog-left-indent-regexp "\\(;\\|\\*?->\\)" | 392 | (defcustom prolog-left-indent-regexp "\\(;\\|\\*?->\\)" |
| 393 | "*Regexp for character sequences after which next line is indented. | 393 | "*Regexp for character sequences after which next line is indented. |
| 394 | Next line after such a regexp is indented to the opening paranthesis level." | 394 | Next line after such a regexp is indented to the opening parenthesis level." |
| 395 | :group 'prolog-indentation | 395 | :group 'prolog-indentation |
| 396 | :type 'regexp) | 396 | :type 'regexp) |
| 397 | 397 | ||
diff --git a/lisp/progmodes/ps-mode.el b/lisp/progmodes/ps-mode.el index 94d55ee3f61..c2adc3b801b 100644 --- a/lisp/progmodes/ps-mode.el +++ b/lisp/progmodes/ps-mode.el | |||
| @@ -267,7 +267,7 @@ If nil, use `temporary-file-directory'." | |||
| 267 | . (1 font-lock-function-name-face)) | 267 | . (1 font-lock-function-name-face)) |
| 268 | '("/\\w+" . font-lock-variable-name-face) | 268 | '("/\\w+" . font-lock-variable-name-face) |
| 269 | (cons ps-mode-operators 'font-lock-keyword-face))) | 269 | (cons ps-mode-operators 'font-lock-keyword-face))) |
| 270 | "High level highliting for PostScript mode.") | 270 | "High level highlighting for PostScript mode.") |
| 271 | 271 | ||
| 272 | (defconst ps-mode-font-lock-keywords ps-mode-font-lock-keywords-1 | 272 | (defconst ps-mode-font-lock-keywords ps-mode-font-lock-keywords-1 |
| 273 | "Default expressions to highlight in PostScript mode.") | 273 | "Default expressions to highlight in PostScript mode.") |
| @@ -713,7 +713,7 @@ defines the beginning of a group. These tokens are: { [ <<" | |||
| 713 | (ps-mode-r-balance ">>")) | 713 | (ps-mode-r-balance ">>")) |
| 714 | 714 | ||
| 715 | (defun ps-mode-r-balance (right) | 715 | (defun ps-mode-r-balance (right) |
| 716 | "Adjust indentification if point after RIGHT." | 716 | "Adjust indenting if point after RIGHT." |
| 717 | (if ps-mode-auto-indent | 717 | (if ps-mode-auto-indent |
| 718 | (save-excursion | 718 | (save-excursion |
| 719 | (when (re-search-backward (concat "^[ \t]*" (regexp-quote right) "\\=") nil t) | 719 | (when (re-search-backward (concat "^[ \t]*" (regexp-quote right) "\\=") nil t) |
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index a0a368777e7..fbf7c3c42f7 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el | |||
| @@ -1122,7 +1122,7 @@ don't move and return nil. Otherwise return t." | |||
| 1122 | 1122 | ||
| 1123 | ;;;; Imenu. | 1123 | ;;;; Imenu. |
| 1124 | 1124 | ||
| 1125 | ;; For possibily speeding this up, here's the top of the ELP profile | 1125 | ;; For possibly speeding this up, here's the top of the ELP profile |
| 1126 | ;; for rescanning pydoc.py (2.2k lines, 90kb): | 1126 | ;; for rescanning pydoc.py (2.2k lines, 90kb): |
| 1127 | ;; Function Name Call Count Elapsed Time Average Time | 1127 | ;; Function Name Call Count Elapsed Time Average Time |
| 1128 | ;; ==================================== ========== ============= ============ | 1128 | ;; ==================================== ========== ============= ============ |
| @@ -1549,7 +1549,7 @@ behavior, change `python-remove-cwd-from-path' to nil." | |||
| 1549 | (if path (concat path path-separator)) | 1549 | (if path (concat path path-separator)) |
| 1550 | data-directory) | 1550 | data-directory) |
| 1551 | process-environment)) | 1551 | process-environment)) |
| 1552 | ;; If we use a pipe, unicode characters are not printed | 1552 | ;; If we use a pipe, Unicode characters are not printed |
| 1553 | ;; correctly (Bug#5794) and IPython does not work at | 1553 | ;; correctly (Bug#5794) and IPython does not work at |
| 1554 | ;; all (Bug#5390). | 1554 | ;; all (Bug#5390). |
| 1555 | (process-connection-type t)) | 1555 | (process-connection-type t)) |
diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el index bca5c93e0a5..62ca2ce085f 100644 --- a/lisp/progmodes/sh-script.el +++ b/lisp/progmodes/sh-script.el | |||
| @@ -567,6 +567,7 @@ This is buffer-local in every such buffer.") | |||
| 567 | '((csh . "\\<\\([[:alnum:]_]+\\)\\(\\[.+\\]\\)?[ \t]*[-+*/%^]?=") | 567 | '((csh . "\\<\\([[:alnum:]_]+\\)\\(\\[.+\\]\\)?[ \t]*[-+*/%^]?=") |
| 568 | ;; actually spaces are only supported in let/(( ... )) | 568 | ;; actually spaces are only supported in let/(( ... )) |
| 569 | (ksh88 . "\\<\\([[:alnum:]_]+\\)\\(\\[.+\\]\\)?[ \t]*\\([-+*/%&|~^]\\|<<\\|>>\\)?=") | 569 | (ksh88 . "\\<\\([[:alnum:]_]+\\)\\(\\[.+\\]\\)?[ \t]*\\([-+*/%&|~^]\\|<<\\|>>\\)?=") |
| 570 | (bash . "\\<\\([[:alnum:]_]+\\)\\(\\[.+\\]\\)?\\+?=") | ||
| 570 | (rc . "\\<\\([[:alnum:]_*]+\\)[ \t]*=") | 571 | (rc . "\\<\\([[:alnum:]_*]+\\)[ \t]*=") |
| 571 | (sh . "\\<\\([[:alnum:]_]+\\)=")) | 572 | (sh . "\\<\\([[:alnum:]_]+\\)=")) |
| 572 | "Regexp for the variable name and what may follow in an assignment. | 573 | "Regexp for the variable name and what may follow in an assignment. |
diff --git a/lisp/progmodes/verilog-mode.el b/lisp/progmodes/verilog-mode.el index 2d8334bcb7d..4cc4a133c8e 100644 --- a/lisp/progmodes/verilog-mode.el +++ b/lisp/progmodes/verilog-mode.el | |||
| @@ -2622,7 +2622,7 @@ user-visible changes to the buffer must not be within a | |||
| 2622 | 2622 | ||
| 2623 | (defmacro verilog-save-no-change-functions (&rest body) | 2623 | (defmacro verilog-save-no-change-functions (&rest body) |
| 2624 | "Execute BODY forms, disabling all change hooks in BODY. | 2624 | "Execute BODY forms, disabling all change hooks in BODY. |
| 2625 | For insigificant changes, see instead `verilog-save-buffer-state'." | 2625 | For insignificant changes, see instead `verilog-save-buffer-state'." |
| 2626 | `(let* ((inhibit-point-motion-hooks t) | 2626 | `(let* ((inhibit-point-motion-hooks t) |
| 2627 | before-change-functions | 2627 | before-change-functions |
| 2628 | after-change-functions) | 2628 | after-change-functions) |
| @@ -3596,7 +3596,7 @@ With ARG, first kill any existing labels." | |||
| 3596 | (looking-at "\\w+\\W*:\\W*\\(coverpoint\\|cross\\|constraint\\)") | 3596 | (looking-at "\\w+\\W*:\\W*\\(coverpoint\\|cross\\|constraint\\)") |
| 3597 | ;; keep going if we are in the middle of a word | 3597 | ;; keep going if we are in the middle of a word |
| 3598 | (not (or (looking-at "\\<") (forward-word -1))) | 3598 | (not (or (looking-at "\\<") (forward-word -1))) |
| 3599 | ;; stop if we see an assertion (perhaps labled) | 3599 | ;; stop if we see an assertion (perhaps labeled) |
| 3600 | (and | 3600 | (and |
| 3601 | (looking-at "\\(\\<\\(assert\\|assume\\|cover\\)\\>\\s-+\\<property\\>\\)\\|\\(\\<assert\\>\\)") | 3601 | (looking-at "\\(\\<\\(assert\\|assume\\|cover\\)\\>\\s-+\\<property\\>\\)\\|\\(\\<assert\\>\\)") |
| 3602 | (progn | 3602 | (progn |
| @@ -6974,7 +6974,7 @@ Signals must be in standard (base vector) form." | |||
| 6974 | ;;(verilog-signals-not-in '(("A" "") ("B" "") ("DEL" "[2:3]")) '(("DEL" "") ("EXT" ""))) | 6974 | ;;(verilog-signals-not-in '(("A" "") ("B" "") ("DEL" "[2:3]")) '(("DEL" "") ("EXT" ""))) |
| 6975 | 6975 | ||
| 6976 | (defun verilog-signals-memory (in-list) | 6976 | (defun verilog-signals-memory (in-list) |
| 6977 | "Return list of signals in IN-LIST that are memoried (multidimensional)." | 6977 | "Return list of signals in IN-LIST that are memorized (multidimensional)." |
| 6978 | (let (out-list) | 6978 | (let (out-list) |
| 6979 | (while in-list | 6979 | (while in-list |
| 6980 | (if (nth 3 (car in-list)) | 6980 | (if (nth 3 (car in-list)) |
diff --git a/lisp/progmodes/vhdl-mode.el b/lisp/progmodes/vhdl-mode.el index cd2d45b7856..3a94601768d 100644 --- a/lisp/progmodes/vhdl-mode.el +++ b/lisp/progmodes/vhdl-mode.el | |||
| @@ -16857,7 +16857,7 @@ User Options | |||
| 16857 | `vhdl-configuration-file-name': (new) | 16857 | `vhdl-configuration-file-name': (new) |
| 16858 | Specify how the configuration file name is obtained. | 16858 | Specify how the configuration file name is obtained. |
| 16859 | `vhdl-compose-configuration-name': (new) | 16859 | `vhdl-compose-configuration-name': (new) |
| 16860 | Specify how the configuration name is optained. | 16860 | Specify how the configuration name is obtained. |
| 16861 | `vhdl-compose-configuration-create-file': (new) | 16861 | `vhdl-compose-configuration-create-file': (new) |
| 16862 | Specify whether a new file should be created for a configuration. | 16862 | Specify whether a new file should be created for a configuration. |
| 16863 | `vhdl-compose-configuration-hierarchical': (new) | 16863 | `vhdl-compose-configuration-hierarchical': (new) |
diff --git a/lisp/ps-mule.el b/lisp/ps-mule.el index c0e4d68107b..65cdb600d74 100644 --- a/lisp/ps-mule.el +++ b/lisp/ps-mule.el | |||
| @@ -1010,7 +1010,7 @@ the sequence." | |||
| 1010 | ps-mule-external-libraries)) | 1010 | ps-mule-external-libraries)) |
| 1011 | 1011 | ||
| 1012 | (defun ps-mule-encode-header-string (string fonttag) | 1012 | (defun ps-mule-encode-header-string (string fonttag) |
| 1013 | "Generate PostScript code for ploting STRING by font FONTTAG. | 1013 | "Generate PostScript code for plotting STRING by font FONTTAG. |
| 1014 | FONTTAG should be a string \"/h0\", \"/h1\", \"/L0\", or \"/H0\". | 1014 | FONTTAG should be a string \"/h0\", \"/h1\", \"/L0\", or \"/H0\". |
| 1015 | Any other value is treated as \"/H0\"." | 1015 | Any other value is treated as \"/H0\"." |
| 1016 | (with-temp-buffer | 1016 | (with-temp-buffer |
diff --git a/lisp/ps-print.el b/lisp/ps-print.el index 6c80705f993..6d05e6db586 100644 --- a/lisp/ps-print.el +++ b/lisp/ps-print.el | |||
| @@ -5372,9 +5372,9 @@ Where: | |||
| 5372 | KIND is a valid value of `ps-n-up-filling'. | 5372 | KIND is a valid value of `ps-n-up-filling'. |
| 5373 | XCOL YCOL are the relative position for the next column. | 5373 | XCOL YCOL are the relative position for the next column. |
| 5374 | XLIN YLIN are the relative position for the beginning of next line. | 5374 | XLIN YLIN are the relative position for the beginning of next line. |
| 5375 | REPEAT is the number of repetions for external loop. | 5375 | REPEAT is the number of repetitions for external loop. |
| 5376 | END is the number of repetions for internal loop and also the number of pages in | 5376 | END is the number of repetitions for internal loop and also the number |
| 5377 | a row. | 5377 | of pages in a row. |
| 5378 | XSTART YSTART are the relative position for the first page in a sheet.") | 5378 | XSTART YSTART are the relative position for the first page in a sheet.") |
| 5379 | 5379 | ||
| 5380 | 5380 | ||
| @@ -6658,7 +6658,7 @@ If FACE is not a valid face name, use default face." | |||
| 6658 | ;; But autoload them here to make the separation invisible. | 6658 | ;; But autoload them here to make the separation invisible. |
| 6659 | 6659 | ||
| 6660 | ;;;### (autoloads (ps-mule-end-job ps-mule-begin-job ps-mule-initialize | 6660 | ;;;### (autoloads (ps-mule-end-job ps-mule-begin-job ps-mule-initialize |
| 6661 | ;;;;;; ps-multibyte-buffer) "ps-mule" "ps-mule.el" "cf055ee6ba398da614a675dc25bdb123") | 6661 | ;;;;;; ps-multibyte-buffer) "ps-mule" "ps-mule.el" "afb9022f2e1e366c51672aa11a3bd76f") |
| 6662 | ;;; Generated autoloads from ps-mule.el | 6662 | ;;; Generated autoloads from ps-mule.el |
| 6663 | 6663 | ||
| 6664 | (defvar ps-multibyte-buffer nil "\ | 6664 | (defvar ps-multibyte-buffer nil "\ |
diff --git a/lisp/recentf.el b/lisp/recentf.el index 79f4eb437d9..2dac870afd5 100644 --- a/lisp/recentf.el +++ b/lisp/recentf.el | |||
| @@ -567,7 +567,7 @@ menu-elements (no sub-menu)." | |||
| 567 | (if (and l (functionp filter)) | 567 | (if (and l (functionp filter)) |
| 568 | (let ((case-fold-search recentf-case-fold-search) | 568 | (let ((case-fold-search recentf-case-fold-search) |
| 569 | elts others) | 569 | elts others) |
| 570 | ;; split L into two sub-listes, one of sub-menus elements and | 570 | ;; split L into two sub-lists, one of sub-menus elements and |
| 571 | ;; another of single menu elements. | 571 | ;; another of single menu elements. |
| 572 | (dolist (elt l) | 572 | (dolist (elt l) |
| 573 | (if (recentf-sub-menu-element-p elt) | 573 | (if (recentf-sub-menu-element-p elt) |
diff --git a/lisp/repeat.el b/lisp/repeat.el index 8bab8691b4f..8ddc8d41429 100644 --- a/lisp/repeat.el +++ b/lisp/repeat.el | |||
| @@ -26,7 +26,7 @@ | |||
| 26 | 26 | ||
| 27 | ;; Sometimes the fastest way to get something done is just to lean on a key; | 27 | ;; Sometimes the fastest way to get something done is just to lean on a key; |
| 28 | ;; moving forward through a series of words by leaning on M-f is an example. | 28 | ;; moving forward through a series of words by leaning on M-f is an example. |
| 29 | ;; But 'forward-page is orthodoxily bound to C-x ], so moving forward through | 29 | ;; But 'forward-page is orthodoxly bound to C-x ], so moving forward through |
| 30 | ;; several pages requires | 30 | ;; several pages requires |
| 31 | ;; Loop until desired page is reached: | 31 | ;; Loop until desired page is reached: |
| 32 | ;; Hold down control key with left pinkie. | 32 | ;; Hold down control key with left pinkie. |
diff --git a/lisp/replace.el b/lisp/replace.el index bf6425f4099..4ea3f747caa 100644 --- a/lisp/replace.el +++ b/lisp/replace.el | |||
| @@ -1225,7 +1225,7 @@ See also `multi-occur'." | |||
| 1225 | 1225 | ||
| 1226 | (with-current-buffer occur-buf | 1226 | (with-current-buffer occur-buf |
| 1227 | (if (stringp nlines) | 1227 | (if (stringp nlines) |
| 1228 | (fundamental-mode) ;; This is for collect opeartion. | 1228 | (fundamental-mode) ;; This is for collect operation. |
| 1229 | (occur-mode)) | 1229 | (occur-mode)) |
| 1230 | (let ((inhibit-read-only t) | 1230 | (let ((inhibit-read-only t) |
| 1231 | ;; Don't generate undo entries for creation of the initial contents. | 1231 | ;; Don't generate undo entries for creation of the initial contents. |
diff --git a/lisp/ses.el b/lisp/ses.el index c71c603726c..cdc58e12d00 100644 --- a/lisp/ses.el +++ b/lisp/ses.el | |||
| @@ -1315,7 +1315,7 @@ Newlines in the data are escaped." | |||
| 1315 | (setq formula (cadr formula))) | 1315 | (setq formula (cadr formula))) |
| 1316 | (if (eq (car-safe printer) 'ses-safe-printer) | 1316 | (if (eq (car-safe printer) 'ses-safe-printer) |
| 1317 | (setq printer (cadr printer))) | 1317 | (setq printer (cadr printer))) |
| 1318 | ;; This is noticably faster than (format "%S %S %S %S %S") | 1318 | ;; This is noticeably faster than (format "%S %S %S %S %S") |
| 1319 | (setq text (concat "(ses-cell " | 1319 | (setq text (concat "(ses-cell " |
| 1320 | (symbol-name sym) | 1320 | (symbol-name sym) |
| 1321 | " " | 1321 | " " |
| @@ -2720,7 +2720,7 @@ When inserting cells, the formulas are usually relocated to keep the same | |||
| 2720 | relative references to neighboring cells. This is best if the formulas | 2720 | relative references to neighboring cells. This is best if the formulas |
| 2721 | generally refer to other cells within the yanked text. You can use the C-u | 2721 | generally refer to other cells within the yanked text. You can use the C-u |
| 2722 | prefix to specify insertion without relocation, which is best when the | 2722 | prefix to specify insertion without relocation, which is best when the |
| 2723 | formulas refer to cells outsite the yanked text. | 2723 | formulas refer to cells outside the yanked text. |
| 2724 | 2724 | ||
| 2725 | When inserting formulas, the text is treated as a string constant if it doesn't | 2725 | When inserting formulas, the text is treated as a string constant if it doesn't |
| 2726 | make sense as a sexp or would otherwise be considered a symbol. Use 'sym to | 2726 | make sense as a sexp or would otherwise be considered a symbol. Use 'sym to |
diff --git a/lisp/shell.el b/lisp/shell.el index c75594ddbe4..47119e6769c 100644 --- a/lisp/shell.el +++ b/lisp/shell.el | |||
| @@ -89,7 +89,7 @@ | |||
| 89 | ;; comint-strip-ctrl-m Remove trailing ^Ms from output | 89 | ;; comint-strip-ctrl-m Remove trailing ^Ms from output |
| 90 | ;; | 90 | ;; |
| 91 | ;; The shell mode hook is shell-mode-hook | 91 | ;; The shell mode hook is shell-mode-hook |
| 92 | ;; comint-prompt-regexp is initialised to shell-prompt-pattern, for backwards | 92 | ;; comint-prompt-regexp is initialized to shell-prompt-pattern, for backwards |
| 93 | ;; compatibility. | 93 | ;; compatibility. |
| 94 | 94 | ||
| 95 | ;; Read the rest of this file for more information. | 95 | ;; Read the rest of this file for more information. |
| @@ -293,7 +293,7 @@ Value is a list of strings, which may be nil." | |||
| 293 | (getenv "ESHELL") shell-file-name)) | 293 | (getenv "ESHELL") shell-file-name)) |
| 294 | (name (file-name-nondirectory prog))) | 294 | (name (file-name-nondirectory prog))) |
| 295 | ;; Tell bash not to use readline, except for bash 1.x which | 295 | ;; Tell bash not to use readline, except for bash 1.x which |
| 296 | ;; doesn't grook --noediting. Bash 1.x has -nolineediting, but | 296 | ;; doesn't grok --noediting. Bash 1.x has -nolineediting, but |
| 297 | ;; process-send-eof cannot terminate bash if we use it. | 297 | ;; process-send-eof cannot terminate bash if we use it. |
| 298 | (if (and (not purify-flag) | 298 | (if (and (not purify-flag) |
| 299 | (equal name "bash") | 299 | (equal name "bash") |
diff --git a/lisp/simple.el b/lisp/simple.el index e70d37588a0..1dc866cf64d 100644 --- a/lisp/simple.el +++ b/lisp/simple.el | |||
| @@ -4277,8 +4277,8 @@ into account variable-width characters and line continuation. | |||
| 4277 | If nil, `line-move' moves point by logical lines. | 4277 | If nil, `line-move' moves point by logical lines. |
| 4278 | A non-nil setting of `goal-column' overrides the value of this variable | 4278 | A non-nil setting of `goal-column' overrides the value of this variable |
| 4279 | and forces movement by logical lines. | 4279 | and forces movement by logical lines. |
| 4280 | Disabling `auto-hscroll-mode' also overrides forces movement by logical | 4280 | A window that is horizontally scrolled also forces movement by logical |
| 4281 | lines when the window is horizontally scrolled." | 4281 | lines." |
| 4282 | :type 'boolean | 4282 | :type 'boolean |
| 4283 | :group 'editing-basics | 4283 | :group 'editing-basics |
| 4284 | :version "23.1") | 4284 | :version "23.1") |
| @@ -4358,12 +4358,10 @@ lines when the window is horizontally scrolled." | |||
| 4358 | (if (and line-move-visual | 4358 | (if (and line-move-visual |
| 4359 | ;; Display-based column are incompatible with goal-column. | 4359 | ;; Display-based column are incompatible with goal-column. |
| 4360 | (not goal-column) | 4360 | (not goal-column) |
| 4361 | ;; When auto-hscroll-mode is turned off and the text in | 4361 | ;; When the text in the window is scrolled to the left, |
| 4362 | ;; the window is scrolled to the left, display-based | 4362 | ;; display-based motion doesn't make sense (because each |
| 4363 | ;; motion doesn't make sense (because each logical line | 4363 | ;; logical line occupies exactly one screen line). |
| 4364 | ;; occupies exactly one screen line). | 4364 | (not (> (window-hscroll) 0))) |
| 4365 | (not (and (null auto-hscroll-mode) | ||
| 4366 | (> (window-hscroll) 0)))) | ||
| 4367 | (line-move-visual arg noerror) | 4365 | (line-move-visual arg noerror) |
| 4368 | (line-move-1 arg noerror to-end)))) | 4366 | (line-move-1 arg noerror to-end)))) |
| 4369 | 4367 | ||
diff --git a/lisp/speedbar.el b/lisp/speedbar.el index 23a91888c1b..30642e8f2f7 100644 --- a/lisp/speedbar.el +++ b/lisp/speedbar.el | |||
| @@ -35,7 +35,7 @@ this version is not backward compatible to 0.14 or earlier.") | |||
| 35 | ;; | 35 | ;; |
| 36 | ;;; Customizing and Developing for speedbar | 36 | ;;; Customizing and Developing for speedbar |
| 37 | ;; | 37 | ;; |
| 38 | ;; Please see the speedbar manual for informaion. | 38 | ;; Please see the speedbar manual for information. |
| 39 | ;; | 39 | ;; |
| 40 | ;;; Notes: | 40 | ;;; Notes: |
| 41 | ;; | 41 | ;; |
| @@ -471,7 +471,7 @@ Possible values are: | |||
| 471 | 'trim - trim large directories to only show the last few. | 471 | 'trim - trim large directories to only show the last few. |
| 472 | nil - no trimming." | 472 | nil - no trimming." |
| 473 | :group 'speedbar | 473 | :group 'speedbar |
| 474 | :type '(radio (const :tag "Span large directories over mutiple lines." | 474 | :type '(radio (const :tag "Span large directories over multiple lines." |
| 475 | span) | 475 | span) |
| 476 | (const :tag "Trim large directories to only show the last few." | 476 | (const :tag "Trim large directories to only show the last few." |
| 477 | trim) | 477 | trim) |
| @@ -1004,7 +1004,7 @@ supported at a time. | |||
| 1004 | #'speedbar-frame-mode | 1004 | #'speedbar-frame-mode |
| 1005 | (if (featurep 'xemacs) | 1005 | (if (featurep 'xemacs) |
| 1006 | (append speedbar-frame-plist | 1006 | (append speedbar-frame-plist |
| 1007 | ;; This is a hack to get speedbar to iconfiy | 1007 | ;; This is a hack to get speedbar to iconify |
| 1008 | ;; with the selected frame. | 1008 | ;; with the selected frame. |
| 1009 | (list 'parent (selected-frame))) | 1009 | (list 'parent (selected-frame))) |
| 1010 | speedbar-frame-parameters) | 1010 | speedbar-frame-parameters) |
diff --git a/lisp/startup.el b/lisp/startup.el index 877ba1987f6..06911e00d0d 100644 --- a/lisp/startup.el +++ b/lisp/startup.el | |||
| @@ -943,7 +943,7 @@ opening the first frame (e.g. open a connection to an X server).") | |||
| 943 | (normal-erase-is-backspace-setup-frame) | 943 | (normal-erase-is-backspace-setup-frame) |
| 944 | 944 | ||
| 945 | ;; Register default TTY colors for the case the terminal hasn't a | 945 | ;; Register default TTY colors for the case the terminal hasn't a |
| 946 | ;; terminal init file. We do this regardles of whether the terminal | 946 | ;; terminal init file. We do this regardless of whether the terminal |
| 947 | ;; supports colors or not and regardless the current display type, | 947 | ;; supports colors or not and regardless the current display type, |
| 948 | ;; since users can connect to color-capable terminals and also | 948 | ;; since users can connect to color-capable terminals and also |
| 949 | ;; switch color support on or off in mid-session by setting the | 949 | ;; switch color support on or off in mid-session by setting the |
diff --git a/lisp/subr.el b/lisp/subr.el index 1cd6598eeb5..6d652f55b29 100644 --- a/lisp/subr.el +++ b/lisp/subr.el | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | ;;; subr.el --- basic lisp subroutines for Emacs | 1 | ;;; subr.el --- basic lisp subroutines for Emacs -*- coding: utf-8 -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1985-1986, 1992, 1994-1995, 1999-2011 | 3 | ;; Copyright (C) 1985-1986, 1992, 1994-1995, 1999-2011 |
| 4 | ;; Free Software Foundation, Inc. | 4 | ;; Free Software Foundation, Inc. |
diff --git a/lisp/term.el b/lisp/term.el index e1638aecc76..dc5ae29ffd2 100644 --- a/lisp/term.el +++ b/lisp/term.el | |||
| @@ -2122,7 +2122,7 @@ If this takes us past the end of the current line, don't skip at all." | |||
| 2122 | "Is point after the process output marker?" | 2122 | "Is point after the process output marker?" |
| 2123 | ;; Since output could come into the buffer after we looked at the point | 2123 | ;; Since output could come into the buffer after we looked at the point |
| 2124 | ;; but before we looked at the process marker's value, we explicitly | 2124 | ;; but before we looked at the process marker's value, we explicitly |
| 2125 | ;; serialise. This is just because I don't know whether or not Emacs | 2125 | ;; serialize. This is just because I don't know whether or not Emacs |
| 2126 | ;; services input during execution of lisp commands. | 2126 | ;; services input during execution of lisp commands. |
| 2127 | (let ((proc-pos (marker-position | 2127 | (let ((proc-pos (marker-position |
| 2128 | (process-mark (get-buffer-process (current-buffer)))))) | 2128 | (process-mark (get-buffer-process (current-buffer)))))) |
| @@ -3890,7 +3890,7 @@ if KIND is 1, erase from home to point; else erase from home to point-max." | |||
| 3890 | (goto-char (point-max)) | 3890 | (goto-char (point-max)) |
| 3891 | (recenter -1)) | 3891 | (recenter -1)) |
| 3892 | 3892 | ||
| 3893 | ;;; Do the user's customisation... | 3893 | ;;; Do the user's customization... |
| 3894 | 3894 | ||
| 3895 | (defvar term-load-hook nil | 3895 | (defvar term-load-hook nil |
| 3896 | "This hook is run when term is loaded in. | 3896 | "This hook is run when term is loaded in. |
diff --git a/lisp/term/iris-ansi.el b/lisp/term/iris-ansi.el index 490c06148a9..3e06810cce6 100644 --- a/lisp/term/iris-ansi.el +++ b/lisp/term/iris-ansi.el | |||
| @@ -136,8 +136,8 @@ | |||
| 136 | 136 | ||
| 137 | (define-key map "\e[Z" [?\S-\t]) | 137 | (define-key map "\e[Z" [?\S-\t]) |
| 138 | (define-key map "\e[072q" [?\C-\t]) | 138 | (define-key map "\e[072q" [?\C-\t]) |
| 139 | ;; This only works if you remove the M-TAB keybing from the system.4Dwmrc | 139 | ;; This only works if you remove the M-TAB keybinding from the system.4Dwmrc |
| 140 | ;; our your ~/.4Dwmrc, if you use the 4Dwm window manager. | 140 | ;; or your ~/.4Dwmrc, if you use the 4Dwm window manager. |
| 141 | (define-key map "\e[073q" [?\M-\t]) | 141 | (define-key map "\e[073q" [?\M-\t]) |
| 142 | 142 | ||
| 143 | (define-key map "\e[074q" [?\M-q]) | 143 | (define-key map "\e[074q" [?\M-q]) |
diff --git a/lisp/term/ns-win.el b/lisp/term/ns-win.el index db826f1db8a..10c1c19e0c4 100644 --- a/lisp/term/ns-win.el +++ b/lisp/term/ns-win.el | |||
| @@ -662,7 +662,7 @@ See the documentation of `create-fontset-from-fontset-spec' for the format.") | |||
| 662 | (defvar ns-reg-to-script) ; nsfont.m | 662 | (defvar ns-reg-to-script) ; nsfont.m |
| 663 | 663 | ||
| 664 | ;; This maps font registries (not exposed by NS APIs for font selection) to | 664 | ;; This maps font registries (not exposed by NS APIs for font selection) to |
| 665 | ;; unicode scripts (which can be mapped to unicode character ranges which are). | 665 | ;; Unicode scripts (which can be mapped to Unicode character ranges which are). |
| 666 | ;; See ../international/fontset.el | 666 | ;; See ../international/fontset.el |
| 667 | (setq ns-reg-to-script | 667 | (setq ns-reg-to-script |
| 668 | '(("iso8859-1" . latin) | 668 | '(("iso8859-1" . latin) |
diff --git a/lisp/term/rxvt.el b/lisp/term/rxvt.el index 5b21913c32e..c784892ce6b 100644 --- a/lisp/term/rxvt.el +++ b/lisp/term/rxvt.el | |||
| @@ -114,11 +114,11 @@ | |||
| 114 | 114 | ||
| 115 | (defvar rxvt-alternatives-map | 115 | (defvar rxvt-alternatives-map |
| 116 | (let ((map (make-sparse-keymap))) | 116 | (let ((map (make-sparse-keymap))) |
| 117 | ;; The terminal intialization C code file might have initialized | 117 | ;; The terminal initialization C code file might have initialized |
| 118 | ;; function keys F11->F42 from the termcap/terminfo information. On | 118 | ;; function keys F11->F42 from the termcap/terminfo information. On |
| 119 | ;; a PC-style keyboard these keys correspond to | 119 | ;; a PC-style keyboard these keys correspond to |
| 120 | ;; MODIFIER-FUNCTION_KEY, where modifier is S-, C-, C-S-. The | 120 | ;; MODIFIER-FUNCTION_KEY, where modifier is S-, C-, C-S-. The |
| 121 | ;; code here subsitutes the corresponding definitions in | 121 | ;; code here substitutes the corresponding definitions in |
| 122 | ;; function-key-map. This substitution is needed because if a key | 122 | ;; function-key-map. This substitution is needed because if a key |
| 123 | ;; definition if found in function-key-map, there are no further | 123 | ;; definition if found in function-key-map, there are no further |
| 124 | ;; lookups in other keymaps. | 124 | ;; lookups in other keymaps. |
diff --git a/lisp/term/tty-colors.el b/lisp/term/tty-colors.el index 9a900916830..d62db664d21 100644 --- a/lisp/term/tty-colors.el +++ b/lisp/term/tty-colors.el | |||
| @@ -76,7 +76,7 @@ | |||
| 76 | ;; defined for the MS-DOS and MS-Windows consoles, because the users | 76 | ;; defined for the MS-DOS and MS-Windows consoles, because the users |
| 77 | ;; on those systems expect these colors to be available. | 77 | ;; on those systems expect these colors to be available. |
| 78 | ;; | 78 | ;; |
| 79 | ;; For these reasons, package maintaners are advised NOT to use color | 79 | ;; For these reasons, package maintainers are advised NOT to use color |
| 80 | ;; names such as "lightred" or "lightblue", because they will have | 80 | ;; names such as "lightred" or "lightblue", because they will have |
| 81 | ;; different effect on different displays. Instead, use "red1" and | 81 | ;; different effect on different displays. Instead, use "red1" and |
| 82 | ;; "blue1", respectively. | 82 | ;; "blue1", respectively. |
diff --git a/lisp/term/xterm.el b/lisp/term/xterm.el index 47da0bf4de5..c2856660ea8 100644 --- a/lisp/term/xterm.el +++ b/lisp/term/xterm.el | |||
| @@ -460,7 +460,7 @@ features. Set to nil to skip the checks." | |||
| 460 | "Terminal initialization function for xterm." | 460 | "Terminal initialization function for xterm." |
| 461 | ;; rxvt terminals sometimes set the TERM variable to "xterm", but | 461 | ;; rxvt terminals sometimes set the TERM variable to "xterm", but |
| 462 | ;; rxvt's keybindings are incompatible with xterm's. It is | 462 | ;; rxvt's keybindings are incompatible with xterm's. It is |
| 463 | ;; better in that case to use rxvt's initializion function. | 463 | ;; better in that case to use rxvt's initialization function. |
| 464 | (if (and (getenv "COLORTERM" (selected-frame)) | 464 | (if (and (getenv "COLORTERM" (selected-frame)) |
| 465 | (string-match "\\`rxvt" (getenv "COLORTERM" (selected-frame)))) | 465 | (string-match "\\`rxvt" (getenv "COLORTERM" (selected-frame)))) |
| 466 | (tty-run-terminal-initialization (selected-frame) "rxvt") | 466 | (tty-run-terminal-initialization (selected-frame) "rxvt") |
diff --git a/lisp/terminal.el b/lisp/terminal.el index 6fdaecf9c9c..99f652f7df4 100644 --- a/lisp/terminal.el +++ b/lisp/terminal.el | |||
| @@ -1285,7 +1285,7 @@ in the directory specified by `te-terminfo-directory'." | |||
| 1285 | ;; Rename it to the desired name. | 1285 | ;; Rename it to the desired name. |
| 1286 | ;; We use this roundabout approach | 1286 | ;; We use this roundabout approach |
| 1287 | ;; to avoid any risk of writing a name that | 1287 | ;; to avoid any risk of writing a name that |
| 1288 | ;; was michievouslyt set up as a symlink. | 1288 | ;; was mischievously set up as a symlink. |
| 1289 | (rename-file temp-file file-name)) | 1289 | (rename-file temp-file file-name)) |
| 1290 | ;; Now compile that source to make the binary that the | 1290 | ;; Now compile that source to make the binary that the |
| 1291 | ;; programs actually use. | 1291 | ;; programs actually use. |
diff --git a/lisp/textmodes/artist.el b/lisp/textmodes/artist.el index d13437f4c7c..232d42efc94 100644 --- a/lisp/textmodes/artist.el +++ b/lisp/textmodes/artist.el | |||
| @@ -1985,7 +1985,7 @@ Also updates the variables `artist-draw-min-y' and `artist-draw-max-y'." | |||
| 1985 | "Retrieve a replacement for character C from `artist-replacement-table'. | 1985 | "Retrieve a replacement for character C from `artist-replacement-table'. |
| 1986 | The replacement is used to convert tabs and new-lines to spaces." | 1986 | The replacement is used to convert tabs and new-lines to spaces." |
| 1987 | ;; Characters may be outside the range of the `artist-replacement-table', | 1987 | ;; Characters may be outside the range of the `artist-replacement-table', |
| 1988 | ;; for example if they are unicode code points >= 256. | 1988 | ;; for example if they are Unicode code points >= 256. |
| 1989 | ;; Check so we don't attempt to access the array out of its bounds, | 1989 | ;; Check so we don't attempt to access the array out of its bounds, |
| 1990 | ;; assuming no such character needs to be replaced. | 1990 | ;; assuming no such character needs to be replaced. |
| 1991 | (if (< c (length artist-replacement-table)) | 1991 | (if (< c (length artist-replacement-table)) |
| @@ -2338,7 +2338,7 @@ Octant are numbered 1--8, anti-clockwise as: | |||
| 2338 | 5 | 2338 | 5 |
| 2339 | 6)))) | 2339 | 6)))) |
| 2340 | 2340 | ||
| 2341 | ;; Some inline funtions for creating, setting and reading | 2341 | ;; Some inline functions for creating, setting and reading |
| 2342 | ;; members of a coordinate | 2342 | ;; members of a coordinate |
| 2343 | ;; | 2343 | ;; |
| 2344 | 2344 | ||
diff --git a/lisp/textmodes/bibtex.el b/lisp/textmodes/bibtex.el index 4459ac10098..c9b1c44eb91 100644 --- a/lisp/textmodes/bibtex.el +++ b/lisp/textmodes/bibtex.el | |||
| @@ -3595,7 +3595,7 @@ If optional arg CONTENT is non-nil extract content of text fields." | |||
| 3595 | (defun bibtex-autofill-entry () | 3595 | (defun bibtex-autofill-entry () |
| 3596 | "Try to fill fields of current BibTeX entry based on neighboring entries. | 3596 | "Try to fill fields of current BibTeX entry based on neighboring entries. |
| 3597 | The current entry must have a key. Determine the neighboring entry | 3597 | The current entry must have a key. Determine the neighboring entry |
| 3598 | \(previouse or next\) whose key is more similar to the key of the current | 3598 | \(previous or next\) whose key is more similar to the key of the current |
| 3599 | entry. For all empty fields of the current entry insert the corresponding | 3599 | entry. For all empty fields of the current entry insert the corresponding |
| 3600 | field contents of the neighboring entry. Finally try to update the text | 3600 | field contents of the neighboring entry. Finally try to update the text |
| 3601 | based on the difference between the keys of the neighboring and the current | 3601 | based on the difference between the keys of the neighboring and the current |
diff --git a/lisp/textmodes/conf-mode.el b/lisp/textmodes/conf-mode.el index 5cc5ba45e13..1127e6a5d20 100644 --- a/lisp/textmodes/conf-mode.el +++ b/lisp/textmodes/conf-mode.el | |||
| @@ -155,7 +155,7 @@ not align (only setting space according to `conf-assignment-space')." | |||
| 155 | (modify-syntax-entry ?/ ". 124" table) | 155 | (modify-syntax-entry ?/ ". 124" table) |
| 156 | (modify-syntax-entry ?* ". 23b" table) | 156 | (modify-syntax-entry ?* ". 23b" table) |
| 157 | table) | 157 | table) |
| 158 | "Syntax table in use in Java prperties buffers.") | 158 | "Syntax table in use in Java properties buffers.") |
| 159 | 159 | ||
| 160 | (defvar conf-ppd-mode-syntax-table | 160 | (defvar conf-ppd-mode-syntax-table |
| 161 | (let ((table (make-syntax-table conf-mode-syntax-table))) | 161 | (let ((table (make-syntax-table conf-mode-syntax-table))) |
diff --git a/lisp/textmodes/flyspell.el b/lisp/textmodes/flyspell.el index db536c100f3..d54debcec4c 100644 --- a/lisp/textmodes/flyspell.el +++ b/lisp/textmodes/flyspell.el | |||
| @@ -715,7 +715,7 @@ not the very same deplacement command." | |||
| 715 | (remove-hook 'after-change-functions 'flyspell-after-change-function t) | 715 | (remove-hook 'after-change-functions 'flyspell-after-change-function t) |
| 716 | (remove-hook 'hack-local-variables-hook | 716 | (remove-hook 'hack-local-variables-hook |
| 717 | (function flyspell-hack-local-variables-hook) t) | 717 | (function flyspell-hack-local-variables-hook) t) |
| 718 | ;; we remove all the flyspell hilightings | 718 | ;; we remove all the flyspell highlightings |
| 719 | (flyspell-delete-all-overlays) | 719 | (flyspell-delete-all-overlays) |
| 720 | ;; we have to erase pre cache variables | 720 | ;; we have to erase pre cache variables |
| 721 | (setq flyspell-pre-buffer nil) | 721 | (setq flyspell-pre-buffer nil) |
diff --git a/lisp/textmodes/reftex-cite.el b/lisp/textmodes/reftex-cite.el index 78d80da41ac..e0fd940208a 100644 --- a/lisp/textmodes/reftex-cite.el +++ b/lisp/textmodes/reftex-cite.el | |||
| @@ -69,14 +69,14 @@ | |||
| 69 | (unless (eq (get 'reftex-default-bibliography :reftex-raw) | 69 | (unless (eq (get 'reftex-default-bibliography :reftex-raw) |
| 70 | reftex-default-bibliography) | 70 | reftex-default-bibliography) |
| 71 | (put 'reftex-default-bibliography :reftex-expanded | 71 | (put 'reftex-default-bibliography :reftex-expanded |
| 72 | (reftex-locate-bibliography-files | 72 | (reftex-locate-bibliography-files |
| 73 | default-directory reftex-default-bibliography)) | 73 | default-directory reftex-default-bibliography)) |
| 74 | (put 'reftex-default-bibliography :reftex-raw | 74 | (put 'reftex-default-bibliography :reftex-raw |
| 75 | reftex-default-bibliography)) | 75 | reftex-default-bibliography)) |
| 76 | (get 'reftex-default-bibliography :reftex-expanded)) | 76 | (get 'reftex-default-bibliography :reftex-expanded)) |
| 77 | 77 | ||
| 78 | (defun reftex-bib-or-thebib () | 78 | (defun reftex-bib-or-thebib () |
| 79 | ;; Tests if BibTeX or \begin{tehbibliography} should be used for the | 79 | ;; Tests if BibTeX or \begin{thebibliography} should be used for the |
| 80 | ;; citation | 80 | ;; citation |
| 81 | ;; Find the bof of the current file | 81 | ;; Find the bof of the current file |
| 82 | (let* ((docstruct (symbol-value reftex-docstruct-symbol)) | 82 | (let* ((docstruct (symbol-value reftex-docstruct-symbol)) |
| @@ -128,7 +128,7 @@ | |||
| 128 | ;; If RETURN is non-nil, just return the entry and restore point. | 128 | ;; If RETURN is non-nil, just return the entry and restore point. |
| 129 | 129 | ||
| 130 | (let* ((re | 130 | (let* ((re |
| 131 | (if item | 131 | (if item |
| 132 | (concat "\\\\bibitem\\(\\[[^]]*\\]\\)?{" (regexp-quote key) "}") | 132 | (concat "\\\\bibitem\\(\\[[^]]*\\]\\)?{" (regexp-quote key) "}") |
| 133 | (concat "@[a-zA-Z]+[ \t\n\r]*[{(][ \t\n\r]*" (regexp-quote key) | 133 | (concat "@[a-zA-Z]+[ \t\n\r]*[{(][ \t\n\r]*" (regexp-quote key) |
| 134 | "[, \t\r\n}]"))) | 134 | "[, \t\r\n}]"))) |
| @@ -152,7 +152,7 @@ | |||
| 152 | (when return | 152 | (when return |
| 153 | ;; Just return the relevant entry | 153 | ;; Just return the relevant entry |
| 154 | (if item (goto-char (match-end 0))) | 154 | (if item (goto-char (match-end 0))) |
| 155 | (setq return (buffer-substring | 155 | (setq return (buffer-substring |
| 156 | (point) (reftex-end-of-bib-entry item))) | 156 | (point) (reftex-end-of-bib-entry item))) |
| 157 | (goto-char oldpos) ;; restore point. | 157 | (goto-char oldpos) ;; restore point. |
| 158 | (set-buffer buffer-conf) | 158 | (set-buffer buffer-conf) |
| @@ -169,9 +169,9 @@ | |||
| 169 | (error "No BibTeX entry with citation key %s" key))))) | 169 | (error "No BibTeX entry with citation key %s" key))))) |
| 170 | 170 | ||
| 171 | (defun reftex-end-of-bib-entry (item) | 171 | (defun reftex-end-of-bib-entry (item) |
| 172 | (save-excursion | 172 | (save-excursion |
| 173 | (condition-case nil | 173 | (condition-case nil |
| 174 | (if item | 174 | (if item |
| 175 | (progn (end-of-line) | 175 | (progn (end-of-line) |
| 176 | (re-search-forward | 176 | (re-search-forward |
| 177 | "\\\\bibitem\\|\\end{thebibliography}") | 177 | "\\\\bibitem\\|\\end{thebibliography}") |
| @@ -192,16 +192,16 @@ | |||
| 192 | 192 | ||
| 193 | ;; Read a regexp, completing on known citation keys. | 193 | ;; Read a regexp, completing on known citation keys. |
| 194 | (setq default (regexp-quote (reftex-get-bibkey-default))) | 194 | (setq default (regexp-quote (reftex-get-bibkey-default))) |
| 195 | (setq re-list | 195 | (setq re-list |
| 196 | (split-string | 196 | (split-string |
| 197 | (completing-read | 197 | (completing-read |
| 198 | (concat | 198 | (concat |
| 199 | "Regex { && Regex...}: " | 199 | "Regex { && Regex...}: " |
| 200 | "[" default "]: ") | 200 | "[" default "]: ") |
| 201 | (if reftex-mode | 201 | (if reftex-mode |
| 202 | (if (fboundp 'LaTeX-bibitem-list) | 202 | (if (fboundp 'LaTeX-bibitem-list) |
| 203 | (LaTeX-bibitem-list) | 203 | (LaTeX-bibitem-list) |
| 204 | (cdr (assoc 'bibview-cache | 204 | (cdr (assoc 'bibview-cache |
| 205 | (symbol-value reftex-docstruct-symbol)))) | 205 | (symbol-value reftex-docstruct-symbol)))) |
| 206 | nil) | 206 | nil) |
| 207 | nil nil nil 'reftex-cite-regexp-hist) | 207 | nil nil nil 'reftex-cite-regexp-hist) |
| @@ -248,7 +248,7 @@ | |||
| 248 | (error (goto-char key-point) | 248 | (error (goto-char key-point) |
| 249 | (throw 'search-again nil))) | 249 | (throw 'search-again nil))) |
| 250 | (setq end-point (point)) | 250 | (setq end-point (point)) |
| 251 | 251 | ||
| 252 | ;; Ignore @string, @comment and @c entries or things | 252 | ;; Ignore @string, @comment and @c entries or things |
| 253 | ;; outside entries | 253 | ;; outside entries |
| 254 | (when (or (string= (downcase (match-string 2)) "string") | 254 | (when (or (string= (downcase (match-string 2)) "string") |
| @@ -257,12 +257,12 @@ | |||
| 257 | (< (point) key-point)) ; this means match not in {} | 257 | (< (point) key-point)) ; this means match not in {} |
| 258 | (goto-char key-point) | 258 | (goto-char key-point) |
| 259 | (throw 'search-again nil)) | 259 | (throw 'search-again nil)) |
| 260 | 260 | ||
| 261 | ;; Well, we have got a match | 261 | ;; Well, we have got a match |
| 262 | ;;(setq entry (concat | 262 | ;;(setq entry (concat |
| 263 | ;; (buffer-substring start-point (point)) "\n")) | 263 | ;; (buffer-substring start-point (point)) "\n")) |
| 264 | (setq entry (buffer-substring start-point (point))) | 264 | (setq entry (buffer-substring start-point (point))) |
| 265 | 265 | ||
| 266 | ;; Check if other regexp match as well | 266 | ;; Check if other regexp match as well |
| 267 | (setq re-list rest-re) | 267 | (setq re-list rest-re) |
| 268 | (while re-list | 268 | (while re-list |
| @@ -270,24 +270,24 @@ | |||
| 270 | ;; nope - move on | 270 | ;; nope - move on |
| 271 | (throw 'search-again nil)) | 271 | (throw 'search-again nil)) |
| 272 | (pop re-list)) | 272 | (pop re-list)) |
| 273 | 273 | ||
| 274 | (setq alist (reftex-parse-bibtex-entry | 274 | (setq alist (reftex-parse-bibtex-entry |
| 275 | nil start-point end-point)) | 275 | nil start-point end-point)) |
| 276 | (push (cons "&entry" entry) alist) | 276 | (push (cons "&entry" entry) alist) |
| 277 | 277 | ||
| 278 | ;; check for crossref entries | 278 | ;; check for crossref entries |
| 279 | (if (assoc "crossref" alist) | 279 | (if (assoc "crossref" alist) |
| 280 | (setq alist | 280 | (setq alist |
| 281 | (append | 281 | (append |
| 282 | alist (reftex-get-crossref-alist alist)))) | 282 | alist (reftex-get-crossref-alist alist)))) |
| 283 | 283 | ||
| 284 | ;; format the entry | 284 | ;; format the entry |
| 285 | (push (cons "&formatted" (reftex-format-bib-entry alist)) | 285 | (push (cons "&formatted" (reftex-format-bib-entry alist)) |
| 286 | alist) | 286 | alist) |
| 287 | 287 | ||
| 288 | ;; make key the first element | 288 | ;; make key the first element |
| 289 | (push (reftex-get-bib-field "&key" alist) alist) | 289 | (push (reftex-get-bib-field "&key" alist) alist) |
| 290 | 290 | ||
| 291 | ;; add it to the list | 291 | ;; add it to the list |
| 292 | (push alist found-list))))) | 292 | (push alist found-list))))) |
| 293 | (reftex-kill-temporary-buffers)))) | 293 | (reftex-kill-temporary-buffers)))) |
| @@ -350,7 +350,7 @@ | |||
| 350 | (unless files | 350 | (unless files |
| 351 | (error "Need file name to find thebibliography environment")) | 351 | (error "Need file name to find thebibliography environment")) |
| 352 | (while (setq file (pop files)) | 352 | (while (setq file (pop files)) |
| 353 | (setq buf (reftex-get-file-buffer-force | 353 | (setq buf (reftex-get-file-buffer-force |
| 354 | file (not reftex-keep-temporary-buffers))) | 354 | file (not reftex-keep-temporary-buffers))) |
| 355 | (unless buf | 355 | (unless buf |
| 356 | (error "No such file %s" file)) | 356 | (error "No such file %s" file)) |
| @@ -386,16 +386,16 @@ | |||
| 386 | 386 | ||
| 387 | ;; Read a regexp, completing on known citation keys. | 387 | ;; Read a regexp, completing on known citation keys. |
| 388 | (setq default (regexp-quote (reftex-get-bibkey-default))) | 388 | (setq default (regexp-quote (reftex-get-bibkey-default))) |
| 389 | (setq re-list | 389 | (setq re-list |
| 390 | (split-string | 390 | (split-string |
| 391 | (completing-read | 391 | (completing-read |
| 392 | (concat | 392 | (concat |
| 393 | "Regex { && Regex...}: " | 393 | "Regex { && Regex...}: " |
| 394 | "[" default "]: ") | 394 | "[" default "]: ") |
| 395 | (if reftex-mode | 395 | (if reftex-mode |
| 396 | (if (fboundp 'LaTeX-bibitem-list) | 396 | (if (fboundp 'LaTeX-bibitem-list) |
| 397 | (LaTeX-bibitem-list) | 397 | (LaTeX-bibitem-list) |
| 398 | (cdr (assoc 'bibview-cache | 398 | (cdr (assoc 'bibview-cache |
| 399 | (symbol-value reftex-docstruct-symbol)))) | 399 | (symbol-value reftex-docstruct-symbol)))) |
| 400 | nil) | 400 | nil) |
| 401 | nil nil nil 'reftex-cite-regexp-hist) | 401 | nil nil nil 'reftex-cite-regexp-hist) |
| @@ -408,14 +408,14 @@ | |||
| 408 | (error "Empty regular expression")) | 408 | (error "Empty regular expression")) |
| 409 | 409 | ||
| 410 | (while (and (setq re (pop re-list)) entries) | 410 | (while (and (setq re (pop re-list)) entries) |
| 411 | (setq entries | 411 | (setq entries |
| 412 | (delq nil (mapcar | 412 | (delq nil (mapcar |
| 413 | (lambda (x) | 413 | (lambda (x) |
| 414 | (if (string-match re (cdr (assoc "&entry" x))) | 414 | (if (string-match re (cdr (assoc "&entry" x))) |
| 415 | x nil)) | 415 | x nil)) |
| 416 | entries)))) | 416 | entries)))) |
| 417 | (setq entries | 417 | (setq entries |
| 418 | (mapcar | 418 | (mapcar |
| 419 | (lambda (x) | 419 | (lambda (x) |
| 420 | (push (cons "&formatted" (reftex-format-bibitem x)) x) | 420 | (push (cons "&formatted" (reftex-format-bibitem x)) x) |
| 421 | (push (reftex-get-bib-field "&key" x) x) | 421 | (push (reftex-get-bib-field "&key" x) x) |
| @@ -655,12 +655,12 @@ While entering the regexp, completion on knows citation keys is possible. | |||
| 655 | 655 | ||
| 656 | (when (eq (car selected-entries) 'concat) | 656 | (when (eq (car selected-entries) 'concat) |
| 657 | ;; All keys go into a single command - we need to trick a little | 657 | ;; All keys go into a single command - we need to trick a little |
| 658 | ;; FIXME: Unfortunately, this meens that commenting does not work right. | 658 | ;; FIXME: Unfortunately, this means that commenting does not work right. |
| 659 | (pop selected-entries) | 659 | (pop selected-entries) |
| 660 | (let ((concat-keys (mapconcat 'car selected-entries ","))) | 660 | (let ((concat-keys (mapconcat 'car selected-entries ","))) |
| 661 | (setq insert-entries | 661 | (setq insert-entries |
| 662 | (list (list concat-keys (cons "&key" concat-keys)))))) | 662 | (list (list concat-keys (cons "&key" concat-keys)))))) |
| 663 | 663 | ||
| 664 | (unless no-insert | 664 | (unless no-insert |
| 665 | 665 | ||
| 666 | ;; We shall insert this into the buffer... | 666 | ;; We shall insert this into the buffer... |
diff --git a/lisp/textmodes/reftex-dcr.el b/lisp/textmodes/reftex-dcr.el index 7de15c66cec..ff6ffffc382 100644 --- a/lisp/textmodes/reftex-dcr.el +++ b/lisp/textmodes/reftex-dcr.el | |||
| @@ -361,7 +361,7 @@ will display info in the echo area." | |||
| 361 | "View location in a LaTeX document which cites the BibTeX entry at point. | 361 | "View location in a LaTeX document which cites the BibTeX entry at point. |
| 362 | Since BibTeX files can be used by many LaTeX documents, this function | 362 | Since BibTeX files can be used by many LaTeX documents, this function |
| 363 | prompts upon first use for a buffer in RefTeX mode. To reset this | 363 | prompts upon first use for a buffer in RefTeX mode. To reset this |
| 364 | link to a document, call the function with with a prefix arg. | 364 | link to a document, call the function with a prefix arg. |
| 365 | Calling this function several times find successive citation locations." | 365 | Calling this function several times find successive citation locations." |
| 366 | (interactive "P") | 366 | (interactive "P") |
| 367 | (when arg | 367 | (when arg |
diff --git a/lisp/textmodes/sgml-mode.el b/lisp/textmodes/sgml-mode.el index fa958632799..f9e3283b783 100644 --- a/lisp/textmodes/sgml-mode.el +++ b/lisp/textmodes/sgml-mode.el | |||
| @@ -847,7 +847,7 @@ and disable it otherwise. If called from Lisp, enable the mode | |||
| 847 | if ARG is omitted or nil. | 847 | if ARG is omitted or nil. |
| 848 | 848 | ||
| 849 | SGML Electric Tag Pair mode is a buffer-local minor mode for use | 849 | SGML Electric Tag Pair mode is a buffer-local minor mode for use |
| 850 | with `sgml-mode' and related maor modes. When enabled, editing | 850 | with `sgml-mode' and related major modes. When enabled, editing |
| 851 | an opening markup tag automatically updates the closing tag." | 851 | an opening markup tag automatically updates the closing tag." |
| 852 | :lighter "/e" | 852 | :lighter "/e" |
| 853 | (if sgml-electric-tag-pair-mode | 853 | (if sgml-electric-tag-pair-mode |
diff --git a/lisp/textmodes/table.el b/lisp/textmodes/table.el index 08922445521..08a45b6b302 100644 --- a/lisp/textmodes/table.el +++ b/lisp/textmodes/table.el | |||
| @@ -5535,7 +5535,7 @@ When COORDINATE is omitted or nil the point in current buffer is assumed in plac | |||
| 5535 | table-cell-info-lu-coordinate)) | 5535 | table-cell-info-lu-coordinate)) |
| 5536 | 5536 | ||
| 5537 | (defun table--offset-coordinate (coordinate offset &optional negative) | 5537 | (defun table--offset-coordinate (coordinate offset &optional negative) |
| 5538 | "Return the offseted COORDINATE by OFFSET. | 5538 | "Return the offset COORDINATE by OFFSET. |
| 5539 | When optional NEGATIVE is non-nil offsetting direction is negative." | 5539 | When optional NEGATIVE is non-nil offsetting direction is negative." |
| 5540 | (cons (if negative (- (car coordinate) (car offset)) | 5540 | (cons (if negative (- (car coordinate) (car offset)) |
| 5541 | (+ (car coordinate) (car offset))) | 5541 | (+ (car coordinate) (car offset))) |
diff --git a/lisp/thumbs.el b/lisp/thumbs.el index 6ac8eddc9d6..6ffd256d0a0 100644 --- a/lisp/thumbs.el +++ b/lisp/thumbs.el | |||
| @@ -92,7 +92,7 @@ When it reaches that size (in bytes), a warning is sent." | |||
| 92 | :group 'thumbs) | 92 | :group 'thumbs) |
| 93 | 93 | ||
| 94 | ;; Unfortunately Windows XP has a program called CONVERT.EXE in | 94 | ;; Unfortunately Windows XP has a program called CONVERT.EXE in |
| 95 | ;; C:/WINDOWS/SYSTEM32/ for partioning NTFS system. So Emacs | 95 | ;; C:/WINDOWS/SYSTEM32/ for partitioning NTFS systems. So Emacs |
| 96 | ;; can find the one in your ImageMagick directory, you need to | 96 | ;; can find the one in your ImageMagick directory, you need to |
| 97 | ;; customize this value to the absolute filename. | 97 | ;; customize this value to the absolute filename. |
| 98 | (defcustom thumbs-conversion-program | 98 | (defcustom thumbs-conversion-program |
| @@ -235,7 +235,7 @@ reached." | |||
| 235 | (setq dirsize (- dirsize (car (cdar files-list)))) | 235 | (setq dirsize (- dirsize (car (cdar files-list)))) |
| 236 | (setq files-list (cdr files-list))))) | 236 | (setq files-list (cdr files-list))))) |
| 237 | 237 | ||
| 238 | ;; Check the thumbsnail directory size and clean it if necessary. | 238 | ;; Check the thumbnail directory size and clean it if necessary. |
| 239 | (when thumbs-thumbsdir-auto-clean | 239 | (when thumbs-thumbsdir-auto-clean |
| 240 | (thumbs-cleanup-thumbsdir)) | 240 | (thumbs-cleanup-thumbsdir)) |
| 241 | 241 | ||
diff --git a/lisp/url/url-dav.el b/lisp/url/url-dav.el index 9e29de0cbed..0e3713c9fcc 100644 --- a/lisp/url/url-dav.el +++ b/lisp/url/url-dav.el | |||
| @@ -417,7 +417,7 @@ XML document." | |||
| 417 | Automatically creates an XML request body if TAG is non-nil. | 417 | Automatically creates an XML request body if TAG is non-nil. |
| 418 | BODY is the XML document fragment to be enclosed by <TAG></TAG>. | 418 | BODY is the XML document fragment to be enclosed by <TAG></TAG>. |
| 419 | 419 | ||
| 420 | DEPTH is how deep the request should propogate. Default is 0, meaning | 420 | DEPTH is how deep the request should propagate. Default is 0, meaning |
| 421 | it should apply only to URL. A negative number means to use | 421 | it should apply only to URL. A negative number means to use |
| 422 | `Infinity' for the depth. Not all WebDAV servers support this depth | 422 | `Infinity' for the depth. Not all WebDAV servers support this depth |
| 423 | though. | 423 | though. |
diff --git a/lisp/url/url-http.el b/lisp/url/url-http.el index bb7744be434..a9ff042d681 100644 --- a/lisp/url/url-http.el +++ b/lisp/url/url-http.el | |||
| @@ -721,7 +721,7 @@ should be shown to the user." | |||
| 721 | ;; The request could not be completed due to a conflict with | 721 | ;; The request could not be completed due to a conflict with |
| 722 | ;; the current state of the resource. This code is only | 722 | ;; the current state of the resource. This code is only |
| 723 | ;; allowed in situations where it is expected that the user | 723 | ;; allowed in situations where it is expected that the user |
| 724 | ;; mioght be able to resolve the conflict and resubmit the | 724 | ;; might be able to resolve the conflict and resubmit the |
| 725 | ;; request. The response body SHOULD include enough | 725 | ;; request. The response body SHOULD include enough |
| 726 | ;; information for the user to recognize the source of the | 726 | ;; information for the user to recognize the source of the |
| 727 | ;; conflict. | 727 | ;; conflict. |
diff --git a/lisp/vc/ediff-diff.el b/lisp/vc/ediff-diff.el index 20c83429ced..85ec49885bd 100644 --- a/lisp/vc/ediff-diff.el +++ b/lisp/vc/ediff-diff.el | |||
| @@ -1292,7 +1292,7 @@ delimiter regions")) | |||
| 1292 | Used for splitting difference regions into individual words.") | 1292 | Used for splitting difference regions into individual words.") |
| 1293 | (make-variable-buffer-local 'ediff-forward-word-function) | 1293 | (make-variable-buffer-local 'ediff-forward-word-function) |
| 1294 | 1294 | ||
| 1295 | ;; \240 is unicode symbol for nonbreakable whitespace | 1295 | ;; \240 is Unicode symbol for nonbreakable whitespace |
| 1296 | (defvar ediff-whitespace " \n\t\f\r\240" | 1296 | (defvar ediff-whitespace " \n\t\f\r\240" |
| 1297 | "*Characters constituting white space. | 1297 | "*Characters constituting white space. |
| 1298 | These characters are ignored when differing regions are split into words.") | 1298 | These characters are ignored when differing regions are split into words.") |
diff --git a/lisp/vc/ediff-mult.el b/lisp/vc/ediff-mult.el index cadcdec29b4..ce7818d5ef4 100644 --- a/lisp/vc/ediff-mult.el +++ b/lisp/vc/ediff-mult.el | |||
| @@ -2164,7 +2164,7 @@ all marked sessions must be active." | |||
| 2164 | ;; If meta-buf doesn't exist, it is created. In that case, id doesn't have a | 2164 | ;; If meta-buf doesn't exist, it is created. In that case, id doesn't have a |
| 2165 | ;; parent meta-buf | 2165 | ;; parent meta-buf |
| 2166 | ;; Check if META-BUF exists before calling this function | 2166 | ;; Check if META-BUF exists before calling this function |
| 2167 | ;; Optional MUST-REDRAW, if non-nil, would force redrawal of the whole meta | 2167 | ;; Optional MUST-REDRAW, if non-nil, would force redrawing of the whole meta |
| 2168 | ;; buffer. Otherwise, it will just go over the buffer and update activity marks | 2168 | ;; buffer. Otherwise, it will just go over the buffer and update activity marks |
| 2169 | ;; and session status. | 2169 | ;; and session status. |
| 2170 | ;; SESSION-NUMBER, if specified, says which session caused the update. | 2170 | ;; SESSION-NUMBER, if specified, says which session caused the update. |
diff --git a/lisp/vc/ediff-util.el b/lisp/vc/ediff-util.el index df6a7e938af..5d7d2451422 100644 --- a/lisp/vc/ediff-util.el +++ b/lisp/vc/ediff-util.el | |||
| @@ -452,7 +452,7 @@ to invocation.") | |||
| 452 | (if ediff-3way-job | 452 | (if ediff-3way-job |
| 453 | (ediff-with-current-buffer ediff-buffer-C | 453 | (ediff-with-current-buffer ediff-buffer-C |
| 454 | (ediff-nuke-selective-display) | 454 | (ediff-nuke-selective-display) |
| 455 | ;; the merge bufer should never be narrowed | 455 | ;; the merge buffer should never be narrowed |
| 456 | ;; (it can happen if it is on rmail-mode or similar) | 456 | ;; (it can happen if it is on rmail-mode or similar) |
| 457 | (if (ediff-with-current-buffer control-buffer ediff-merge-job) | 457 | (if (ediff-with-current-buffer control-buffer ediff-merge-job) |
| 458 | (widen)) | 458 | (widen)) |
diff --git a/lisp/vc/pcvs-parse.el b/lisp/vc/pcvs-parse.el index c514026b1f1..43292ed14e4 100644 --- a/lisp/vc/pcvs-parse.el +++ b/lisp/vc/pcvs-parse.el | |||
| @@ -430,7 +430,7 @@ The remaining KEYS are passed directly to `cvs-create-fileinfo'." | |||
| 430 | ;; Conflict | 430 | ;; Conflict |
| 431 | (and | 431 | (and |
| 432 | (cvs-match (concat "C \\(.*" qfile "\\)$") (path 1) (type 'CONFLICT)) | 432 | (cvs-match (concat "C \\(.*" qfile "\\)$") (path 1) (type 'CONFLICT)) |
| 433 | ;; C might be followed by a "suprious" U for non-mergeable files | 433 | ;; C might be followed by a "spurious" U for non-mergable files |
| 434 | (cvs-or (cvs-match (concat "U \\(.*" qfile "\\)$")) t)) | 434 | (cvs-or (cvs-match (concat "U \\(.*" qfile "\\)$")) t)) |
| 435 | ;; Successful merge | 435 | ;; Successful merge |
| 436 | (cvs-match (concat "M \\(.*" qfile "\\)$") (path 1)) | 436 | (cvs-match (concat "M \\(.*" qfile "\\)$") (path 1)) |
diff --git a/lisp/vc/pcvs-util.el b/lisp/vc/pcvs-util.el index 4915cb9bf7f..ea739ea726a 100644 --- a/lisp/vc/pcvs-util.el +++ b/lisp/vc/pcvs-util.el | |||
| @@ -89,7 +89,7 @@ try to split a new window instead." | |||
| 89 | (or (let ((buf (get-buffer-window buf))) (and buf (select-window buf))) | 89 | (or (let ((buf (get-buffer-window buf))) (and buf (select-window buf))) |
| 90 | (and pop-up-windows | 90 | (and pop-up-windows |
| 91 | (ignore-errors (select-window (split-window-below))) | 91 | (ignore-errors (select-window (split-window-below))) |
| 92 | (switch-to-buffer buf)) | 92 | (switch-to-buffer buf nil 'force-same-window)) |
| 93 | (pop-to-buffer (current-buffer))))) | 93 | (pop-to-buffer (current-buffer))))) |
| 94 | 94 | ||
| 95 | (defun cvs-bury-buffer (buf &optional mainbuf) | 95 | (defun cvs-bury-buffer (buf &optional mainbuf) |
diff --git a/lisp/vc/vc-arch.el b/lisp/vc/vc-arch.el index eeac55ac0f8..a20a49a4c39 100644 --- a/lisp/vc/vc-arch.el +++ b/lisp/vc/vc-arch.el | |||
| @@ -398,7 +398,7 @@ CALLBACK expects (ENTRIES &optional MORE-TO-COME); see | |||
| 398 | (with-temp-buffer | 398 | (with-temp-buffer |
| 399 | (insert-file-contents rej) | 399 | (insert-file-contents rej) |
| 400 | (goto-char (point-min)) | 400 | (goto-char (point-min)) |
| 401 | (looking-at "Conflicts occured, diff3 conflict markers left in file\\."))))) | 401 | (looking-at "Conflicts occurred, diff3 conflict markers left in file\\."))))) |
| 402 | 402 | ||
| 403 | (defun vc-arch-delete-rej-if-obsolete () | 403 | (defun vc-arch-delete-rej-if-obsolete () |
| 404 | "For use in `after-save-hook'." | 404 | "For use in `after-save-hook'." |
diff --git a/lisp/vc/vc-dir.el b/lisp/vc/vc-dir.el index 82eb8783a74..d4b631a1d1b 100644 --- a/lisp/vc/vc-dir.el +++ b/lisp/vc/vc-dir.el | |||
| @@ -1021,7 +1021,7 @@ specific headers." | |||
| 1021 | (lambda (info) | 1021 | (lambda (info) |
| 1022 | ;; The state for directory entries might | 1022 | ;; The state for directory entries might |
| 1023 | ;; have been changed to 'up-to-date, | 1023 | ;; have been changed to 'up-to-date, |
| 1024 | ;; reset it, othewise it will be removed when doing 'x' | 1024 | ;; reset it, otherwise it will be removed when doing 'x' |
| 1025 | ;; next time. | 1025 | ;; next time. |
| 1026 | ;; FIXME: There should be a more elegant way to do this. | 1026 | ;; FIXME: There should be a more elegant way to do this. |
| 1027 | (when (and (vc-dir-fileinfo->directory info) | 1027 | (when (and (vc-dir-fileinfo->directory info) |
diff --git a/lisp/vc/vc-dispatcher.el b/lisp/vc/vc-dispatcher.el index 84c7f4a510b..7fe727bd179 100644 --- a/lisp/vc/vc-dispatcher.el +++ b/lisp/vc/vc-dispatcher.el | |||
| @@ -103,7 +103,7 @@ | |||
| 103 | ;; | 103 | ;; |
| 104 | ;; When the client mode adds a local vc-mode-line-hook to a buffer, it | 104 | ;; When the client mode adds a local vc-mode-line-hook to a buffer, it |
| 105 | ;; will be called with the buffer file name as argument whenever the | 105 | ;; will be called with the buffer file name as argument whenever the |
| 106 | ;; dispatcher resynchs the buffer. | 106 | ;; dispatcher resyncs the buffer. |
| 107 | 107 | ||
| 108 | ;; To do: | 108 | ;; To do: |
| 109 | ;; | 109 | ;; |
diff --git a/lisp/vc/vc-mtn.el b/lisp/vc/vc-mtn.el index 0b263e9c669..0fc7ba96fb7 100644 --- a/lisp/vc/vc-mtn.el +++ b/lisp/vc/vc-mtn.el | |||
| @@ -299,7 +299,7 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches." | |||
| 299 | ids))) | 299 | ids))) |
| 300 | 300 | ||
| 301 | (defun vc-mtn-revision-completion-table (files) | 301 | (defun vc-mtn-revision-completion-table (files) |
| 302 | ;; TODO: Implement completion for for selectors | 302 | ;; TODO: Implement completion for selectors |
| 303 | ;; TODO: Implement completion for composite selectors. | 303 | ;; TODO: Implement completion for composite selectors. |
| 304 | (lexical-let ((files files)) | 304 | (lexical-let ((files files)) |
| 305 | ;; What about using `files'?!? --Stef | 305 | ;; What about using `files'?!? --Stef |
diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el index 909585138fc..ed2bac17217 100644 --- a/lisp/vc/vc.el +++ b/lisp/vc/vc.el | |||
| @@ -2690,7 +2690,7 @@ log entries should be gathered." | |||
| 2690 | (substring rev 0 index)))) | 2690 | (substring rev 0 index)))) |
| 2691 | 2691 | ||
| 2692 | (defun vc-default-responsible-p (backend file) | 2692 | (defun vc-default-responsible-p (backend file) |
| 2693 | "Indicate whether BACKEND is reponsible for FILE. | 2693 | "Indicate whether BACKEND is responsible for FILE. |
| 2694 | The default is to return nil always." | 2694 | The default is to return nil always." |
| 2695 | nil) | 2695 | nil) |
| 2696 | 2696 | ||
diff --git a/lisp/w32-fns.el b/lisp/w32-fns.el index cb21d4b08c0..20361d32450 100644 --- a/lisp/w32-fns.el +++ b/lisp/w32-fns.el | |||
| @@ -381,7 +381,7 @@ bit output with no translation." | |||
| 381 | (w32-add-charset-info "mac-roman" 'w32-charset-mac 10000) | 381 | (w32-add-charset-info "mac-roman" 'w32-charset-mac 10000) |
| 382 | (w32-add-charset-info "iso10646-1" 'w32-charset-default t) | 382 | (w32-add-charset-info "iso10646-1" 'w32-charset-default t) |
| 383 | 383 | ||
| 384 | ;; ;; If unicode windows charset is not defined, use ansi fonts. | 384 | ;; ;; If Unicode Windows charset is not defined, use ansi fonts. |
| 385 | ;; (w32-add-charset-info "iso10646-1" 'w32-charset-ansi t)) | 385 | ;; (w32-add-charset-info "iso10646-1" 'w32-charset-ansi t)) |
| 386 | 386 | ||
| 387 | ;; Prefered names | 387 | ;; Prefered names |
diff --git a/lisp/window.el b/lisp/window.el index 10c6adc04e4..2885c3a5c70 100644 --- a/lisp/window.el +++ b/lisp/window.el | |||
| @@ -246,51 +246,51 @@ windows horizontally arranged within WINDOW." | |||
| 246 | (setq child (window-right child))) | 246 | (setq child (window-right child))) |
| 247 | count)))) | 247 | count)))) |
| 248 | 248 | ||
| 249 | (defun walk-window-tree-1 (proc walk-window-tree-window any &optional sub-only) | 249 | (defun walk-window-tree-1 (fun walk-window-tree-window any &optional sub-only) |
| 250 | "Helper function for `walk-window-tree' and `walk-window-subtree'." | 250 | "Helper function for `walk-window-tree' and `walk-window-subtree'." |
| 251 | (let (walk-window-tree-buffer) | 251 | (let (walk-window-tree-buffer) |
| 252 | (while walk-window-tree-window | 252 | (while walk-window-tree-window |
| 253 | (setq walk-window-tree-buffer | 253 | (setq walk-window-tree-buffer |
| 254 | (window-buffer walk-window-tree-window)) | 254 | (window-buffer walk-window-tree-window)) |
| 255 | (when (or walk-window-tree-buffer any) | 255 | (when (or walk-window-tree-buffer any) |
| 256 | (funcall proc walk-window-tree-window)) | 256 | (funcall fun walk-window-tree-window)) |
| 257 | (unless walk-window-tree-buffer | 257 | (unless walk-window-tree-buffer |
| 258 | (walk-window-tree-1 | 258 | (walk-window-tree-1 |
| 259 | proc (window-left-child walk-window-tree-window) any) | 259 | fun (window-left-child walk-window-tree-window) any) |
| 260 | (walk-window-tree-1 | 260 | (walk-window-tree-1 |
| 261 | proc (window-top-child walk-window-tree-window) any)) | 261 | fun (window-top-child walk-window-tree-window) any)) |
| 262 | (if sub-only | 262 | (if sub-only |
| 263 | (setq walk-window-tree-window nil) | 263 | (setq walk-window-tree-window nil) |
| 264 | (setq walk-window-tree-window | 264 | (setq walk-window-tree-window |
| 265 | (window-right walk-window-tree-window)))))) | 265 | (window-right walk-window-tree-window)))))) |
| 266 | 266 | ||
| 267 | (defun walk-window-tree (proc &optional frame any) | 267 | (defun walk-window-tree (fun &optional frame any) |
| 268 | "Run function PROC on each live window of FRAME. | 268 | "Run function FUN on each live window of FRAME. |
| 269 | PROC must be a function with one argument - a window. FRAME must | 269 | FUN must be a function with one argument - a window. FRAME must |
| 270 | be a live frame and defaults to the selected one. ANY, if | 270 | be a live frame and defaults to the selected one. ANY, if |
| 271 | non-nil means to run PROC on all live and internal windows of | 271 | non-nil means to run FUN on all live and internal windows of |
| 272 | FRAME. | 272 | FRAME. |
| 273 | 273 | ||
| 274 | This function performs a pre-order, depth-first traversal of the | 274 | This function performs a pre-order, depth-first traversal of the |
| 275 | window tree. If PROC changes the window tree, the result is | 275 | window tree. If FUN changes the window tree, the result is |
| 276 | unpredictable." | 276 | unpredictable." |
| 277 | (let ((walk-window-tree-frame (window-normalize-frame frame))) | 277 | (let ((walk-window-tree-frame (window-normalize-frame frame))) |
| 278 | (walk-window-tree-1 | 278 | (walk-window-tree-1 |
| 279 | proc (frame-root-window walk-window-tree-frame) any))) | 279 | fun (frame-root-window walk-window-tree-frame) any))) |
| 280 | 280 | ||
| 281 | (defun walk-window-subtree (proc &optional window any) | 281 | (defun walk-window-subtree (fun &optional window any) |
| 282 | "Run function PROC on the subtree of windows rooted at WINDOW. | 282 | "Run function FUN on the subtree of windows rooted at WINDOW. |
| 283 | WINDOW defaults to the selected window. PROC must be a function | 283 | WINDOW defaults to the selected window. FUN must be a function |
| 284 | with one argument - a window. By default, run PROC only on live | 284 | with one argument - a window. By default, run FUN only on live |
| 285 | windows of the subtree. If the optional argument ANY is non-nil, | 285 | windows of the subtree. If the optional argument ANY is non-nil, |
| 286 | run PROC on all live and internal windows of the subtree. If | 286 | run FUN on all live and internal windows of the subtree. If |
| 287 | WINDOW is live, run PROC on WINDOW only. | 287 | WINDOW is live, run FUN on WINDOW only. |
| 288 | 288 | ||
| 289 | This function performs a pre-order, depth-first traversal of the | 289 | This function performs a pre-order, depth-first traversal of the |
| 290 | subtree rooted at WINDOW. If PROC changes that tree, the result | 290 | subtree rooted at WINDOW. If FUN changes that tree, the result |
| 291 | is unpredictable." | 291 | is unpredictable." |
| 292 | (setq window (window-normalize-window window)) | 292 | (setq window (window-normalize-window window)) |
| 293 | (walk-window-tree-1 proc window any t)) | 293 | (walk-window-tree-1 fun window any t)) |
| 294 | 294 | ||
| 295 | (defun window-with-parameter (parameter &optional value frame any) | 295 | (defun window-with-parameter (parameter &optional value frame any) |
| 296 | "Return first window on FRAME with PARAMETER non-nil. | 296 | "Return first window on FRAME with PARAMETER non-nil. |
| @@ -524,10 +524,10 @@ imposed by fixed size windows, `window-min-height' or | |||
| 524 | windows may get as small as `window-safe-min-height' lines and | 524 | windows may get as small as `window-safe-min-height' lines and |
| 525 | `window-safe-min-width' columns. IGNORE a window means ignore | 525 | `window-safe-min-width' columns. IGNORE a window means ignore |
| 526 | restrictions for that window only." | 526 | restrictions for that window only." |
| 527 | (window-min-size-1 | 527 | (window--min-size-1 |
| 528 | (window-normalize-window window) horizontal ignore)) | 528 | (window-normalize-window window) horizontal ignore)) |
| 529 | 529 | ||
| 530 | (defun window-min-size-1 (window horizontal ignore) | 530 | (defun window--min-size-1 (window horizontal ignore) |
| 531 | "Internal function of `window-min-size'." | 531 | "Internal function of `window-min-size'." |
| 532 | (let ((sub (window-child window))) | 532 | (let ((sub (window-child window))) |
| 533 | (if sub | 533 | (if sub |
| @@ -538,13 +538,13 @@ restrictions for that window only." | |||
| 538 | ;; the minimum sizes of its child windows. | 538 | ;; the minimum sizes of its child windows. |
| 539 | (while sub | 539 | (while sub |
| 540 | (setq value (+ value | 540 | (setq value (+ value |
| 541 | (window-min-size-1 sub horizontal ignore))) | 541 | (window--min-size-1 sub horizontal ignore))) |
| 542 | (setq sub (window-right sub))) | 542 | (setq sub (window-right sub))) |
| 543 | ;; The minimum size of an ortho-combination is the maximum of | 543 | ;; The minimum size of an ortho-combination is the maximum of |
| 544 | ;; the minimum sizes of its child windows. | 544 | ;; the minimum sizes of its child windows. |
| 545 | (while sub | 545 | (while sub |
| 546 | (setq value (max value | 546 | (setq value (max value |
| 547 | (window-min-size-1 sub horizontal ignore))) | 547 | (window--min-size-1 sub horizontal ignore))) |
| 548 | (setq sub (window-right sub)))) | 548 | (setq sub (window-right sub)))) |
| 549 | value) | 549 | value) |
| 550 | (with-current-buffer (window-buffer window) | 550 | (with-current-buffer (window-buffer window) |
| @@ -687,7 +687,7 @@ WINDOW can be resized in the desired direction. The function | |||
| 687 | (window--size-fixed-1 | 687 | (window--size-fixed-1 |
| 688 | (window-normalize-window window) horizontal)) | 688 | (window-normalize-window window) horizontal)) |
| 689 | 689 | ||
| 690 | (defun window-min-delta-1 (window delta &optional horizontal ignore trail noup) | 690 | (defun window--min-delta-1 (window delta &optional horizontal ignore trail noup) |
| 691 | "Internal function for `window-min-delta'." | 691 | "Internal function for `window-min-delta'." |
| 692 | (if (not (window-parent window)) | 692 | (if (not (window-parent window)) |
| 693 | ;; If we can't go up, return zero. | 693 | ;; If we can't go up, return zero. |
| @@ -723,7 +723,7 @@ WINDOW can be resized in the desired direction. The function | |||
| 723 | (setq sub (window-right sub)))) | 723 | (setq sub (window-right sub)))) |
| 724 | (if noup | 724 | (if noup |
| 725 | delta | 725 | delta |
| 726 | (window-min-delta-1 parent delta horizontal ignore trail)))))) | 726 | (window--min-delta-1 parent delta horizontal ignore trail)))))) |
| 727 | 727 | ||
| 728 | (defun window-min-delta (&optional window horizontal ignore trail noup nodown) | 728 | (defun window-min-delta (&optional window horizontal ignore trail noup nodown) |
| 729 | "Return number of lines by which WINDOW can be shrunk. | 729 | "Return number of lines by which WINDOW can be shrunk. |
| @@ -757,7 +757,7 @@ at least one other window can be enlarged appropriately." | |||
| 757 | (cond | 757 | (cond |
| 758 | (nodown | 758 | (nodown |
| 759 | ;; If NODOWN is t, try to recover the entire size of WINDOW. | 759 | ;; If NODOWN is t, try to recover the entire size of WINDOW. |
| 760 | (window-min-delta-1 window size horizontal ignore trail noup)) | 760 | (window--min-delta-1 window size horizontal ignore trail noup)) |
| 761 | ((= size minimum) | 761 | ((= size minimum) |
| 762 | ;; If NODOWN is nil and WINDOW's size is already at its minimum, | 762 | ;; If NODOWN is nil and WINDOW's size is already at its minimum, |
| 763 | ;; there's nothing to recover. | 763 | ;; there's nothing to recover. |
| @@ -765,10 +765,10 @@ at least one other window can be enlarged appropriately." | |||
| 765 | (t | 765 | (t |
| 766 | ;; Otherwise, try to recover whatever WINDOW is larger than its | 766 | ;; Otherwise, try to recover whatever WINDOW is larger than its |
| 767 | ;; minimum size. | 767 | ;; minimum size. |
| 768 | (window-min-delta-1 | 768 | (window--min-delta-1 |
| 769 | window (- size minimum) horizontal ignore trail noup))))) | 769 | window (- size minimum) horizontal ignore trail noup))))) |
| 770 | 770 | ||
| 771 | (defun window-max-delta-1 (window delta &optional horizontal ignore trail noup) | 771 | (defun window--max-delta-1 (window delta &optional horizontal ignore trail noup) |
| 772 | "Internal function of `window-max-delta'." | 772 | "Internal function of `window-max-delta'." |
| 773 | (if (not (window-parent window)) | 773 | (if (not (window-parent window)) |
| 774 | ;; Can't go up. Return DELTA. | 774 | ;; Can't go up. Return DELTA. |
| @@ -804,7 +804,7 @@ at least one other window can be enlarged appropriately." | |||
| 804 | delta | 804 | delta |
| 805 | ;; Else try with parent of WINDOW, passing the DELTA we | 805 | ;; Else try with parent of WINDOW, passing the DELTA we |
| 806 | ;; recovered so far. | 806 | ;; recovered so far. |
| 807 | (window-max-delta-1 parent delta horizontal ignore trail)))))) | 807 | (window--max-delta-1 parent delta horizontal ignore trail)))))) |
| 808 | 808 | ||
| 809 | (defun window-max-delta (&optional window horizontal ignore trail noup nodown) | 809 | (defun window-max-delta (&optional window horizontal ignore trail noup nodown) |
| 810 | "Return maximum number of lines WINDOW by which WINDOW can be enlarged. | 810 | "Return maximum number of lines WINDOW by which WINDOW can be enlarged. |
| @@ -840,7 +840,7 @@ only whether other windows can be shrunk appropriately." | |||
| 840 | ;; size. | 840 | ;; size. |
| 841 | 0 | 841 | 0 |
| 842 | ;; WINDOW has no fixed size. | 842 | ;; WINDOW has no fixed size. |
| 843 | (window-max-delta-1 window 0 horizontal ignore trail noup))) | 843 | (window--max-delta-1 window 0 horizontal ignore trail noup))) |
| 844 | 844 | ||
| 845 | ;; Make NOUP also inhibit the min-size check. | 845 | ;; Make NOUP also inhibit the min-size check. |
| 846 | (defun window--resizable (window delta &optional horizontal ignore trail noup nodown) | 846 | (defun window--resizable (window delta &optional horizontal ignore trail noup nodown) |
| @@ -997,9 +997,9 @@ taken into account." | |||
| 997 | (setq hor (cdr fcsb))))) | 997 | (setq hor (cdr fcsb))))) |
| 998 | (cons vert hor))) | 998 | (cons vert hor))) |
| 999 | 999 | ||
| 1000 | (defun walk-windows (proc &optional minibuf all-frames) | 1000 | (defun walk-windows (fun &optional minibuf all-frames) |
| 1001 | "Cycle through all live windows, calling PROC for each one. | 1001 | "Cycle through all live windows, calling FUN for each one. |
| 1002 | PROC must specify a function with a window as its sole argument. | 1002 | FUN must specify a function with a window as its sole argument. |
| 1003 | The optional arguments MINIBUF and ALL-FRAMES specify the set of | 1003 | The optional arguments MINIBUF and ALL-FRAMES specify the set of |
| 1004 | windows to include in the walk. | 1004 | windows to include in the walk. |
| 1005 | 1005 | ||
| @@ -1041,7 +1041,7 @@ windows nor the buffer list." | |||
| 1041 | (when (framep all-frames) | 1041 | (when (framep all-frames) |
| 1042 | (select-window (frame-first-window all-frames) 'norecord)) | 1042 | (select-window (frame-first-window all-frames) 'norecord)) |
| 1043 | (dolist (walk-windows-window (window-list-1 nil minibuf all-frames)) | 1043 | (dolist (walk-windows-window (window-list-1 nil minibuf all-frames)) |
| 1044 | (funcall proc walk-windows-window)))) | 1044 | (funcall fun walk-windows-window)))) |
| 1045 | 1045 | ||
| 1046 | (defun window-point-1 (&optional window) | 1046 | (defun window-point-1 (&optional window) |
| 1047 | "Return value of WINDOW's point. | 1047 | "Return value of WINDOW's point. |
| @@ -2039,8 +2039,8 @@ move it as far as possible in the desired direction." | |||
| 2039 | ;; two windows we want to resize. | 2039 | ;; two windows we want to resize. |
| 2040 | (cond | 2040 | (cond |
| 2041 | ((> delta 0) | 2041 | ((> delta 0) |
| 2042 | (setq max-delta (window-max-delta-1 left 0 horizontal nil 'after)) | 2042 | (setq max-delta (window--max-delta-1 left 0 horizontal nil 'after)) |
| 2043 | (setq min-delta (window-min-delta-1 right (- delta) horizontal nil 'before)) | 2043 | (setq min-delta (window--min-delta-1 right (- delta) horizontal nil 'before)) |
| 2044 | (when (or (< max-delta delta) (> min-delta (- delta))) | 2044 | (when (or (< max-delta delta) (> min-delta (- delta))) |
| 2045 | ;; We can't get the whole DELTA - move as far as possible. | 2045 | ;; We can't get the whole DELTA - move as far as possible. |
| 2046 | (setq delta (min max-delta (- min-delta)))) | 2046 | (setq delta (min max-delta (- min-delta)))) |
| @@ -2062,8 +2062,8 @@ move it as far as possible in the desired direction." | |||
| 2062 | (window-left-column right) | 2062 | (window-left-column right) |
| 2063 | (window-top-line right))))) | 2063 | (window-top-line right))))) |
| 2064 | ((< delta 0) | 2064 | ((< delta 0) |
| 2065 | (setq max-delta (window-max-delta-1 right 0 horizontal nil 'before)) | 2065 | (setq max-delta (window--max-delta-1 right 0 horizontal nil 'before)) |
| 2066 | (setq min-delta (window-min-delta-1 left delta horizontal nil 'after)) | 2066 | (setq min-delta (window--min-delta-1 left delta horizontal nil 'after)) |
| 2067 | (when (or (< max-delta (- delta)) (> min-delta delta)) | 2067 | (when (or (< max-delta (- delta)) (> min-delta delta)) |
| 2068 | ;; We can't get the whole DELTA - move as far as possible. | 2068 | ;; We can't get the whole DELTA - move as far as possible. |
| 2069 | (setq delta (max (- max-delta) min-delta))) | 2069 | (setq delta (max (- max-delta) min-delta))) |
| @@ -2920,6 +2920,7 @@ window. | |||
| 2920 | 2920 | ||
| 2921 | This function removes the buffer denoted by BUFFER-OR-NAME from | 2921 | This function removes the buffer denoted by BUFFER-OR-NAME from |
| 2922 | all window-local buffer lists." | 2922 | all window-local buffer lists." |
| 2923 | (interactive "bBuffer to replace: ") | ||
| 2923 | (let ((buffer (window-normalize-buffer buffer-or-name))) | 2924 | (let ((buffer (window-normalize-buffer buffer-or-name))) |
| 2924 | (dolist (window (window-list-1 nil nil t)) | 2925 | (dolist (window (window-list-1 nil nil t)) |
| 2925 | (if (eq (window-buffer window) buffer) | 2926 | (if (eq (window-buffer window) buffer) |
| @@ -3570,7 +3571,7 @@ specific buffers." | |||
| 3570 | (defvar window-state-ignored-parameters '(quit-restore) | 3571 | (defvar window-state-ignored-parameters '(quit-restore) |
| 3571 | "List of window parameters ignored by `window-state-get'.") | 3572 | "List of window parameters ignored by `window-state-get'.") |
| 3572 | 3573 | ||
| 3573 | (defun window-state-get-1 (window &optional markers) | 3574 | (defun window--state-get-1 (window &optional markers) |
| 3574 | "Helper function for `window-state-get'." | 3575 | "Helper function for `window-state-get'." |
| 3575 | (let* ((type | 3576 | (let* ((type |
| 3576 | (cond | 3577 | (cond |
| @@ -3625,7 +3626,7 @@ specific buffers." | |||
| 3625 | (let (list) | 3626 | (let (list) |
| 3626 | (setq window (window-child window)) | 3627 | (setq window (window-child window)) |
| 3627 | (while window | 3628 | (while window |
| 3628 | (setq list (cons (window-state-get-1 window markers) list)) | 3629 | (setq list (cons (window--state-get-1 window markers) list)) |
| 3629 | (setq window (window-right window))) | 3630 | (setq window (window-right window))) |
| 3630 | (nreverse list))))) | 3631 | (nreverse list))))) |
| 3631 | (append head tail))) | 3632 | (append head tail))) |
| @@ -3664,12 +3665,12 @@ value can be also stored on disk and read back in a new session." | |||
| 3664 | ;; These are probably not needed. | 3665 | ;; These are probably not needed. |
| 3665 | ,@(when (window-size-fixed-p window) `((fixed-height . t))) | 3666 | ,@(when (window-size-fixed-p window) `((fixed-height . t))) |
| 3666 | ,@(when (window-size-fixed-p window t) `((fixed-width . t)))) | 3667 | ,@(when (window-size-fixed-p window t) `((fixed-width . t)))) |
| 3667 | (window-state-get-1 window markers))) | 3668 | (window--state-get-1 window markers))) |
| 3668 | 3669 | ||
| 3669 | (defvar window-state-put-list nil | 3670 | (defvar window-state-put-list nil |
| 3670 | "Helper variable for `window-state-put'.") | 3671 | "Helper variable for `window-state-put'.") |
| 3671 | 3672 | ||
| 3672 | (defun window-state-put-1 (state &optional window ignore totals) | 3673 | (defun window--state-put-1 (state &optional window ignore totals) |
| 3673 | "Helper function for `window-state-put'." | 3674 | "Helper function for `window-state-put'." |
| 3674 | (let ((type (car state))) | 3675 | (let ((type (car state))) |
| 3675 | (setq state (cdr state)) | 3676 | (setq state (cdr state)) |
| @@ -3677,8 +3678,7 @@ value can be also stored on disk and read back in a new session." | |||
| 3677 | ((eq type 'leaf) | 3678 | ((eq type 'leaf) |
| 3678 | ;; For a leaf window just add unprocessed entries to | 3679 | ;; For a leaf window just add unprocessed entries to |
| 3679 | ;; `window-state-put-list'. | 3680 | ;; `window-state-put-list'. |
| 3680 | (setq window-state-put-list | 3681 | (push (cons window state) window-state-put-list)) |
| 3681 | (cons (cons window state) window-state-put-list))) | ||
| 3682 | ((memq type '(vc hc)) | 3682 | ((memq type '(vc hc)) |
| 3683 | (let* ((horizontal (eq type 'hc)) | 3683 | (let* ((horizontal (eq type 'hc)) |
| 3684 | (total (window-total-size window horizontal)) | 3684 | (total (window-total-size window horizontal)) |
| @@ -3689,7 +3689,7 @@ value can be also stored on disk and read back in a new session." | |||
| 3689 | ;; real window that we want to fill with what we find here. | 3689 | ;; real window that we want to fill with what we find here. |
| 3690 | (when (memq (car item) '(leaf vc hc)) | 3690 | (when (memq (car item) '(leaf vc hc)) |
| 3691 | (if (assq 'last item) | 3691 | (if (assq 'last item) |
| 3692 | ;; The last child window. Below `window-state-put-1' | 3692 | ;; The last child window. Below `window--state-put-1' |
| 3693 | ;; will put into it whatever ITEM has in store. | 3693 | ;; will put into it whatever ITEM has in store. |
| 3694 | (setq new nil) | 3694 | (setq new nil) |
| 3695 | ;; Not the last child window, prepare for splitting | 3695 | ;; Not the last child window, prepare for splitting |
| @@ -3730,11 +3730,11 @@ value can be also stored on disk and read back in a new session." | |||
| 3730 | 3730 | ||
| 3731 | ;; Now process the current window (either the one we've just | 3731 | ;; Now process the current window (either the one we've just |
| 3732 | ;; split or the last child of its parent). | 3732 | ;; split or the last child of its parent). |
| 3733 | (window-state-put-1 item window ignore totals) | 3733 | (window--state-put-1 item window ignore totals) |
| 3734 | ;; Continue with the last window split off. | 3734 | ;; Continue with the last window split off. |
| 3735 | (setq window new)))))))) | 3735 | (setq window new)))))))) |
| 3736 | 3736 | ||
| 3737 | (defun window-state-put-2 (ignore) | 3737 | (defun window--state-put-2 (ignore) |
| 3738 | "Helper function for `window-state-put'." | 3738 | "Helper function for `window-state-put'." |
| 3739 | (dolist (item window-state-put-list) | 3739 | (dolist (item window-state-put-list) |
| 3740 | (let ((window (car item)) | 3740 | (let ((window (car item)) |
| @@ -3860,11 +3860,11 @@ windows can get as small as `window-safe-min-height' and | |||
| 3860 | ;; Work on the windows of a temporary buffer to make sure that | 3860 | ;; Work on the windows of a temporary buffer to make sure that |
| 3861 | ;; splitting proceeds regardless of any buffer local values of | 3861 | ;; splitting proceeds regardless of any buffer local values of |
| 3862 | ;; `window-size-fixed'. Release that buffer after the buffers of | 3862 | ;; `window-size-fixed'. Release that buffer after the buffers of |
| 3863 | ;; all live windows have been set by `window-state-put-2'. | 3863 | ;; all live windows have been set by `window--state-put-2'. |
| 3864 | (with-temp-buffer | 3864 | (with-temp-buffer |
| 3865 | (set-window-buffer window (current-buffer)) | 3865 | (set-window-buffer window (current-buffer)) |
| 3866 | (window-state-put-1 state window nil totals) | 3866 | (window--state-put-1 state window nil totals) |
| 3867 | (window-state-put-2 ignore)) | 3867 | (window--state-put-2 ignore)) |
| 3868 | (window--check frame)))) | 3868 | (window--check frame)))) |
| 3869 | 3869 | ||
| 3870 | (defun display-buffer-record-window (type window buffer) | 3870 | (defun display-buffer-record-window (type window buffer) |
| @@ -4951,7 +4951,7 @@ the list of recently selected ones." | |||
| 4951 | 4951 | ||
| 4952 | (defun read-buffer-to-switch (prompt) | 4952 | (defun read-buffer-to-switch (prompt) |
| 4953 | "Read the name of a buffer to switch to, prompting with PROMPT. | 4953 | "Read the name of a buffer to switch to, prompting with PROMPT. |
| 4954 | Return the neame of the buffer as a string. | 4954 | Return the name of the buffer as a string. |
| 4955 | 4955 | ||
| 4956 | This function is intended for the `switch-to-buffer' family of | 4956 | This function is intended for the `switch-to-buffer' family of |
| 4957 | commands since these need to omit the name of the current buffer | 4957 | commands since these need to omit the name of the current buffer |
diff --git a/lisp/woman.el b/lisp/woman.el index a16bfa39c86..243196a5302 100644 --- a/lisp/woman.el +++ b/lisp/woman.el | |||
| @@ -2558,7 +2558,7 @@ REQUEST is the invoking directive without the leading dot." | |||
| 2558 | ;; ((looking-at "[te]") (setq c nil)) ; reject t(roff) and e(ven page) | 2558 | ;; ((looking-at "[te]") (setq c nil)) ; reject t(roff) and e(ven page) |
| 2559 | ((looking-at "[ntoe]") | 2559 | ((looking-at "[ntoe]") |
| 2560 | (setq c (memq (following-char) woman-if-conditions-true))) | 2560 | (setq c (memq (following-char) woman-if-conditions-true))) |
| 2561 | ;; Unrecognised letter so reject: | 2561 | ;; Unrecognized letter so reject: |
| 2562 | ((looking-at "[A-Za-z]") (setq c nil) | 2562 | ((looking-at "[A-Za-z]") (setq c nil) |
| 2563 | (WoMan-warn "%s %s -- unrecognized condition name rejected!" | 2563 | (WoMan-warn "%s %s -- unrecognized condition name rejected!" |
| 2564 | request (match-string 0))) | 2564 | request (match-string 0))) |
| @@ -3697,7 +3697,7 @@ expression in parentheses. Leaves point after the value." | |||
| 3697 | (setq woman-request (match-string 1))))) | 3697 | (setq woman-request (match-string 1))))) |
| 3698 | ;; Delete request or macro name: | 3698 | ;; Delete request or macro name: |
| 3699 | (woman-delete-match 0)) | 3699 | (woman-delete-match 0)) |
| 3700 | ;; Unrecognised request: | 3700 | ;; Unrecognized request: |
| 3701 | ((prog1 nil | 3701 | ((prog1 nil |
| 3702 | ;; (WoMan-warn ".%s request ignored!" woman-request) | 3702 | ;; (WoMan-warn ".%s request ignored!" woman-request) |
| 3703 | (WoMan-warn-ignored woman-request "ignored!") | 3703 | (WoMan-warn-ignored woman-request "ignored!") |
diff --git a/lisp/xml.el b/lisp/xml.el index 68aa5f4db6f..478872dd92e 100644 --- a/lisp/xml.el +++ b/lisp/xml.el | |||
| @@ -756,7 +756,7 @@ This follows the rule [28] in the XML specifications." | |||
| 756 | ;;******************************************************************* | 756 | ;;******************************************************************* |
| 757 | 757 | ||
| 758 | (defun xml-substitute-special (string) | 758 | (defun xml-substitute-special (string) |
| 759 | "Return STRING, after subsituting entity references." | 759 | "Return STRING, after substituting entity references." |
| 760 | ;; This originally made repeated passes through the string from the | 760 | ;; This originally made repeated passes through the string from the |
| 761 | ;; beginning, which isn't correct, since then either "&amp;" or | 761 | ;; beginning, which isn't correct, since then either "&amp;" or |
| 762 | ;; "&amp;" won't DTRT. | 762 | ;; "&amp;" won't DTRT. |
diff --git a/lwlib/xlwmenu.c b/lwlib/xlwmenu.c index 5ed33d5be05..0128464d6e0 100644 --- a/lwlib/xlwmenu.c +++ b/lwlib/xlwmenu.c | |||
| @@ -113,7 +113,7 @@ xlwMenuTranslations [] = | |||
| 113 | <KeyUp>: key()\n\ | 113 | <KeyUp>: key()\n\ |
| 114 | "; | 114 | "; |
| 115 | 115 | ||
| 116 | /* FIXME: Space should toggle toggleable menu item but not remove the menu | 116 | /* FIXME: Space should toggle togglable menu item but not remove the menu |
| 117 | so you can toggle the next one without entering the menu again. */ | 117 | so you can toggle the next one without entering the menu again. */ |
| 118 | 118 | ||
| 119 | /* FIXME: Should ESC close one level of menu structure or the complete menu? */ | 119 | /* FIXME: Should ESC close one level of menu structure or the complete menu? */ |
| @@ -1486,7 +1486,7 @@ remap_menubar (XlwMenuWidget mw) | |||
| 1486 | if (new_selection && !new_selection->enabled) | 1486 | if (new_selection && !new_selection->enabled) |
| 1487 | new_selection = NULL; | 1487 | new_selection = NULL; |
| 1488 | 1488 | ||
| 1489 | /* Call callback when the hightlighted item changes. */ | 1489 | /* Call callback when the highlighted item changes. */ |
| 1490 | if (old_selection || new_selection) | 1490 | if (old_selection || new_selection) |
| 1491 | XtCallCallbackList ((Widget)mw, mw->menu.highlight, | 1491 | XtCallCallbackList ((Widget)mw, mw->menu.highlight, |
| 1492 | (XtPointer) new_selection); | 1492 | (XtPointer) new_selection); |
diff --git a/nt/INSTALL b/nt/INSTALL index 63285047a67..bb621dceb6b 100644 --- a/nt/INSTALL +++ b/nt/INSTALL | |||
| @@ -29,7 +29,7 @@ | |||
| 29 | 29 | ||
| 30 | "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x86 /Debug | 30 | "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x86 /Debug |
| 31 | 31 | ||
| 32 | if you are goiung to compile a debug version, or | 32 | if you are going to compile a debug version, or |
| 33 | 33 | ||
| 34 | "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x86 /Release | 34 | "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x86 /Release |
| 35 | 35 | ||
| @@ -268,7 +268,7 @@ | |||
| 268 | "Error in --cflags argument: ... Backslashes and quotes cannot be | 268 | "Error in --cflags argument: ... Backslashes and quotes cannot be |
| 269 | used with --cflags. Please use forward slashes for filenames and | 269 | used with --cflags. Please use forward slashes for filenames and |
| 270 | paths (e.g. when passing directories to -I)." | 270 | paths (e.g. when passing directories to -I)." |
| 271 | 271 | ||
| 272 | N.B. It is normal to see a few error messages output while configure | 272 | N.B. It is normal to see a few error messages output while configure |
| 273 | is running, when gcc support is being tested. These cannot be | 273 | is running, when gcc support is being tested. These cannot be |
| 274 | suppressed because of limitations in the Windows 9X command.com shell. | 274 | suppressed because of limitations in the Windows 9X command.com shell. |
| @@ -34,7 +34,7 @@ | |||
| 34 | 34 | ||
| 35 | + emacsclient.exe - A command-line client program that can | 35 | + emacsclient.exe - A command-line client program that can |
| 36 | communicate with a running Emacs process. See the `Emacs Server' | 36 | communicate with a running Emacs process. See the `Emacs Server' |
| 37 | node of the Emacs manul. | 37 | node of the Emacs manual. |
| 38 | 38 | ||
| 39 | + emacsclientw.exe - A version of emacsclient that does not open | 39 | + emacsclientw.exe - A version of emacsclient that does not open |
| 40 | a command-line window. | 40 | a command-line window. |
diff --git a/nt/runemacs.c b/nt/runemacs.c index 47b8f54bb02..2d2474c3592 100644 --- a/nt/runemacs.c +++ b/nt/runemacs.c | |||
| @@ -111,7 +111,7 @@ WinMain (HINSTANCE hSelf, HINSTANCE hPrev, LPSTR cmdline, int nShow) | |||
| 111 | #endif | 111 | #endif |
| 112 | 112 | ||
| 113 | /* Append original arguments if any; first look for arguments we | 113 | /* Append original arguments if any; first look for arguments we |
| 114 | recognise (-wait, -high, and -low), and apply them ourselves. */ | 114 | recognize (-wait, -high, and -low), and apply them ourselves. */ |
| 115 | while (cmdline[0] == '-' || cmdline[0] == '/') | 115 | while (cmdline[0] == '-' || cmdline[0] == '/') |
| 116 | { | 116 | { |
| 117 | if (strncmp (cmdline+1, "wait", 4) == 0) | 117 | if (strncmp (cmdline+1, "wait", 4) == 0) |
diff --git a/oldXMenu/AddSel.c b/oldXMenu/AddSel.c index 9bbcf71cd3c..2b1ff3d6c89 100644 --- a/oldXMenu/AddSel.c +++ b/oldXMenu/AddSel.c | |||
| @@ -30,7 +30,7 @@ XMenuAddSelection(Display *display, register XMenu *menu, register int p_num, ch | |||
| 30 | register XMSelect *sel; /* Newly created selection. */ | 30 | register XMSelect *sel; /* Newly created selection. */ |
| 31 | 31 | ||
| 32 | 32 | ||
| 33 | int label_length; /* Label lenght in characters. */ | 33 | int label_length; /* Label length in characters. */ |
| 34 | int label_width; /* Label width in pixels. */ | 34 | int label_width; /* Label width in pixels. */ |
| 35 | 35 | ||
| 36 | /* | 36 | /* |
diff --git a/src/ChangeLog b/src/ChangeLog index e1854d7ffcd..a0f83560603 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,115 @@ | |||
| 1 | 2011-11-21 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 2 | |||
| 3 | * process.c (wait_reading_process_output): Fix asynchrounous | ||
| 4 | GnuTLS socket handling on some versions of the GnuTLS library. | ||
| 5 | (wait_reading_process_output): Add comment and URL. | ||
| 6 | |||
| 7 | 2011-11-21 Jan Djärv <jan.h.d@swipnet.se> | ||
| 8 | |||
| 9 | * xterm.c (x_clear_frame): Reinstate the XClearWindow call. | ||
| 10 | |||
| 11 | 2011-11-21 Chong Yidong <cyd@gnu.org> | ||
| 12 | |||
| 13 | * window.c (Fnext_window, Fprevious_window): Doc fix. | ||
| 14 | |||
| 15 | 2011-11-20 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 16 | |||
| 17 | * window.c (get_phys_cursor_glyph): Fix Lisp_Object/int mixup. | ||
| 18 | |||
| 19 | 2011-11-20 Juanma Barranquero <lekktu@gmail.com> | ||
| 20 | |||
| 21 | * nsfont.m (syms_of_nsfont) <ns-reg-to-script>: Fix typo. | ||
| 22 | |||
| 23 | 2011-11-20 Martin Rudalics <rudalics@gmx.at> | ||
| 24 | |||
| 25 | * window.c (Fset_window_combination_limit): Rename argument | ||
| 26 | STATUS to LIMIT. | ||
| 27 | (Vwindow_combination_limit): Remove "status" from doc-string. | ||
| 28 | |||
| 29 | 2011-11-20 Andreas Schwab <schwab@linux-m68k.org> | ||
| 30 | |||
| 31 | * m/ibms390.h: Remove. | ||
| 32 | * m/ibms390x.h: Don't include "ibms390.h". | ||
| 33 | |||
| 34 | 2011-11-20 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 35 | |||
| 36 | * fileio.c (Finsert_file_contents): Add missing gcpro1 variable. | ||
| 37 | Suggested by Dmitry Antipov <dmantipov@yandex.ru>. | ||
| 38 | |||
| 39 | 2011-11-20 Juanma Barranquero <lekktu@gmail.com> | ||
| 40 | |||
| 41 | * casetab.c (Fset_case_table): | ||
| 42 | * charset.c (Fcharset_after): Fix typos. | ||
| 43 | |||
| 44 | 2011-11-20 Paul Eggert <eggert@cs.ucla.edu> | ||
| 45 | |||
| 46 | Standardize on VIRT_ADDR_VARIES behavior (Bug#10042). | ||
| 47 | Otherwise, valgrind does not work on some platforms. | ||
| 48 | Problem reported by Andreas Schwab in | ||
| 49 | <http://lists.gnu.org/archive/html/emacs-devel/2011-11/msg00081.html>. | ||
| 50 | * puresize.h (pure, PURE_P): Always behave as if VIRT_ADDR_VARIES | ||
| 51 | is set, removing the need for VIRT_ADDRESS_VARIES. | ||
| 52 | (PURE_P): Use a more-efficient implementation that needs just one | ||
| 53 | comparison, not two: on x86-64 with GCC 4.6.2, this cut down the | ||
| 54 | number of instructions from 6 (xorl, cmpq, jge, xorl, cmpq, setge) | ||
| 55 | to 4 (xorl, subq, cmpq, setbe). | ||
| 56 | * alloc.c (pure): Always extern now, since that's the | ||
| 57 | VIRT_ADDR_VARIES behavior. | ||
| 58 | (PURE_POINTER_P): Use a single comparison, not two, for | ||
| 59 | consistency with the new puresize.h. | ||
| 60 | * lisp.h (PNTR_COMPARISON_TYPE): Remove; no longer needed. | ||
| 61 | * m/ibms390.h, m/intel386.h, m/template.h, s/cygwin.h, s/hpux10-20.h: | ||
| 62 | Remove VIRT_ADDR_VARIES no longer needed. | ||
| 63 | |||
| 64 | 2011-11-19 Eli Zaretskii <eliz@gnu.org> | ||
| 65 | |||
| 66 | * xdisp.c (x_write_glyphs, draw_phys_cursor_glyph) | ||
| 67 | (erase_phys_cursor, update_window_cursor, show_mouse_face) | ||
| 68 | (cursor_in_mouse_face_p): If the cursor position is out of bounds, | ||
| 69 | behave as if the cursor position were at the window margin. | ||
| 70 | |||
| 71 | * window.c (get_phys_cursor_glyph): If the window is hscrolled, | ||
| 72 | and the cursor position is out of bounds, behave as if the cursor | ||
| 73 | position were at the window margin. (Bug#10075) | ||
| 74 | |||
| 75 | 2011-11-18 Chong Yidong <cyd@gnu.org> | ||
| 76 | |||
| 77 | * window.c (Fwindow_combination_limit): Make first argument | ||
| 78 | non-optional, since it is meaningless for live windows like the | ||
| 79 | selected window. | ||
| 80 | |||
| 81 | 2011-11-18 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 82 | |||
| 83 | * keymap.c (Fwhere_is_internal): Add missing RETURN_UNGCPROs. | ||
| 84 | |||
| 85 | 2011-11-18 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 86 | |||
| 87 | * intervals.c: Fix grafting over the whole buffer (bug#10071). | ||
| 88 | (graft_intervals_into_buffer): Simplify. | ||
| 89 | |||
| 90 | 2011-11-18 Eli Zaretskii <eliz@gnu.org> | ||
| 91 | |||
| 92 | * dispnew.c (swap_glyph_pointers): Swap the used[] arrays and the | ||
| 93 | hash values of the two rows. | ||
| 94 | (copy_row_except_pointers): Preserve the used[] arrays and the | ||
| 95 | hash values of the two rows. (Bug#10035) | ||
| 96 | (add_row_entry): Add xassert to verify that ROW's hash code is valid. | ||
| 97 | |||
| 98 | * xdisp.c (row_hash): New function, body extracted from | ||
| 99 | compute_line_metrics. | ||
| 100 | (compute_line_metrics): Call row_hash, instead of computing the | ||
| 101 | hash code inline. | ||
| 102 | |||
| 103 | * dispnew.c (verify_row_hash): Call row_hash for computing the | ||
| 104 | hash code of a row, instead of duplicating code from xdisp.c. | ||
| 105 | |||
| 106 | * dispextern.h (row_hash): Add prototype. | ||
| 107 | |||
| 108 | 2011-11-18 Tassilo Horn <tassilo@member.fsf.org> | ||
| 109 | |||
| 110 | * frame.c (delete_frame): Don't delete the terminal when the last | ||
| 111 | X frame is closed if emacs is built with GTK toolkit. | ||
| 112 | |||
| 1 | 2011-11-17 Juanma Barranquero <lekktu@gmail.com> | 113 | 2011-11-17 Juanma Barranquero <lekktu@gmail.com> |
| 2 | 114 | ||
| 3 | * window.c (syms_of_window) <window-combination-resize>: Fix typo. | 115 | * window.c (syms_of_window) <window-combination-resize>: Fix typo. |
| @@ -371,7 +483,7 @@ | |||
| 371 | 483 | ||
| 372 | Fix the `xbytecode' command. | 484 | Fix the `xbytecode' command. |
| 373 | * .gdbinit (xprintbytestr): New command. | 485 | * .gdbinit (xprintbytestr): New command. |
| 374 | (xwhichsymbols): Renamed from `which'; all callers changed. | 486 | (xwhichsymbols): Rename from `which'; all callers changed. |
| 375 | (xbytecode): Print the byte-code string as well. | 487 | (xbytecode): Print the byte-code string as well. |
| 376 | 488 | ||
| 377 | 2011-10-29 Kim Storm <storm@cua.dk> | 489 | 2011-10-29 Kim Storm <storm@cua.dk> |
diff --git a/src/ChangeLog.1 b/src/ChangeLog.1 index efe77648458..7fef45f36da 100644 --- a/src/ChangeLog.1 +++ b/src/ChangeLog.1 | |||
| @@ -2237,7 +2237,7 @@ | |||
| 2237 | 2237 | ||
| 2238 | * data.c (Fset): | 2238 | * data.c (Fset): |
| 2239 | If Vautoload_queue non-nil, record function and old definition | 2239 | If Vautoload_queue non-nil, record function and old definition |
| 2240 | by consing onto Vautoload_qeueue. | 2240 | by consing onto Vautoload_queue. |
| 2241 | 2241 | ||
| 2242 | * fns.c (Fprovide): | 2242 | * fns.c (Fprovide): |
| 2243 | If Vautoload_queue is non-nil, record old value of Vfeatures. | 2243 | If Vautoload_queue is non-nil, record old value of Vfeatures. |
diff --git a/src/ChangeLog.10 b/src/ChangeLog.10 index 181b11b5a2b..99ab02577d5 100644 --- a/src/ChangeLog.10 +++ b/src/ChangeLog.10 | |||
| @@ -6387,7 +6387,7 @@ | |||
| 6387 | 2005-11-20 Nick Roberts <nickrob@snap.net.nz> | 6387 | 2005-11-20 Nick Roberts <nickrob@snap.net.nz> |
| 6388 | 6388 | ||
| 6389 | * lisp.h: Use typedef when Lisp_Object is EMACS_INT so that | 6389 | * lisp.h: Use typedef when Lisp_Object is EMACS_INT so that |
| 6390 | this type is recognised when debugging. | 6390 | this type is recognized when debugging. |
| 6391 | 6391 | ||
| 6392 | 2005-11-19 Andreas Schwab <schwab@suse.de> | 6392 | 2005-11-19 Andreas Schwab <schwab@suse.de> |
| 6393 | 6393 | ||
| @@ -13398,7 +13398,7 @@ | |||
| 13398 | 2004-07-04 John Paul Wallington <jpw@gnu.org> | 13398 | 2004-07-04 John Paul Wallington <jpw@gnu.org> |
| 13399 | 13399 | ||
| 13400 | * fileio.c (read_file_name_completion_ignore_case): New variable. | 13400 | * fileio.c (read_file_name_completion_ignore_case): New variable. |
| 13401 | (syms_of_fileio): Declare and initialise it. | 13401 | (syms_of_fileio): Declare and initialize it. |
| 13402 | (Fread_file_name): Bind `completion-ignore-case' to respect it. | 13402 | (Fread_file_name): Bind `completion-ignore-case' to respect it. |
| 13403 | 13403 | ||
| 13404 | 2004-07-03 Eli Zaretskii <eliz@gnu.org> | 13404 | 2004-07-03 Eli Zaretskii <eliz@gnu.org> |
| @@ -18755,7 +18755,7 @@ | |||
| 18755 | 18755 | ||
| 18756 | 2003-05-21 Dave Love <fx@gnu.org> | 18756 | 2003-05-21 Dave Love <fx@gnu.org> |
| 18757 | 18757 | ||
| 18758 | [Merged from unicode branch.] | 18758 | [Merged from Unicode branch.] |
| 18759 | 18759 | ||
| 18760 | * xfns.c (x_window, x_window): Use use_xim. | 18760 | * xfns.c (x_window, x_window): Use use_xim. |
| 18761 | 18761 | ||
diff --git a/src/ChangeLog.11 b/src/ChangeLog.11 index 73ac5fd4e00..07d4f4ec116 100644 --- a/src/ChangeLog.11 +++ b/src/ChangeLog.11 | |||
| @@ -4839,7 +4839,7 @@ | |||
| 4839 | 4839 | ||
| 4840 | 2010-08-13 Jason Rumney <jasonr@gnu.org> | 4840 | 2010-08-13 Jason Rumney <jasonr@gnu.org> |
| 4841 | 4841 | ||
| 4842 | * w32menu.c (simple_dialog_show): Use unicode message box if available. | 4842 | * w32menu.c (simple_dialog_show): Use Unicode message box if available. |
| 4843 | (MessageBoxW_Proc): New function typedef. | 4843 | (MessageBoxW_Proc): New function typedef. |
| 4844 | (unicode-message-box): New function pointer. | 4844 | (unicode-message-box): New function pointer. |
| 4845 | (globals_of_w32menu): Import it from user32.dll. (Bug#5629) | 4845 | (globals_of_w32menu): Import it from user32.dll. (Bug#5629) |
| @@ -5896,7 +5896,7 @@ | |||
| 5896 | * eval.c (Feval, Ffuncall): Use the new names. | 5896 | * eval.c (Feval, Ffuncall): Use the new names. |
| 5897 | 5897 | ||
| 5898 | * lisp.h (struct Lisp_Subr): Rename `am' to aMANY and add aUNEVALLED. | 5898 | * lisp.h (struct Lisp_Subr): Rename `am' to aMANY and add aUNEVALLED. |
| 5899 | (DEFUN): Add braces around the union initialisation and use ## to | 5899 | (DEFUN): Add braces around the union initialization and use ## to |
| 5900 | specify the right union alternative and avoid a cast. | 5900 | specify the right union alternative and avoid a cast. |
| 5901 | 5901 | ||
| 5902 | 2010-07-18 Juanma Barranquero <lekktu@gmail.com> | 5902 | 2010-07-18 Juanma Barranquero <lekktu@gmail.com> |
| @@ -6604,9 +6604,9 @@ | |||
| 6604 | * keyboard.c (input_available_signal): Declare. | 6604 | * keyboard.c (input_available_signal): Declare. |
| 6605 | (kbd_buffer_nr_stored): New function. | 6605 | (kbd_buffer_nr_stored): New function. |
| 6606 | (kbd_buffer_store_event_hold): If kbd_buffer_nr_stored returns | 6606 | (kbd_buffer_store_event_hold): If kbd_buffer_nr_stored returns |
| 6607 | more than KBD_BUFFER_SIZE/2, stop reding input (Bug#6571). | 6607 | more than KBD_BUFFER_SIZE/2, stop reading input (Bug#6571). |
| 6608 | (kbd_buffer_get_event): If input is suspended and kbd_buffer_nr_stored | 6608 | (kbd_buffer_get_event): If input is suspended and kbd_buffer_nr_stored |
| 6609 | returns less than KBD_BUFFER_SIZE/4, resume reding input (Bug#6571). | 6609 | returns less than KBD_BUFFER_SIZE/4, resume reading input (Bug#6571). |
| 6610 | (tty_read_avail_input): If input is on hold, return. | 6610 | (tty_read_avail_input): If input is on hold, return. |
| 6611 | Don't read more that free slots in kbd_buffer (Bug#6571). | 6611 | Don't read more that free slots in kbd_buffer (Bug#6571). |
| 6612 | 6612 | ||
| @@ -7199,7 +7199,7 @@ | |||
| 7199 | 7199 | ||
| 7200 | 2010-06-27 Chong Yidong <cyd@stupidchicken.com> | 7200 | 2010-06-27 Chong Yidong <cyd@stupidchicken.com> |
| 7201 | 7201 | ||
| 7202 | * xfns.c (Fx_create_frame): Don't consult X resouces when setting | 7202 | * xfns.c (Fx_create_frame): Don't consult X resources when setting |
| 7203 | menu-bar-lines and tool-bar-lines. Use menu-bar-mode and | 7203 | menu-bar-lines and tool-bar-lines. Use menu-bar-mode and |
| 7204 | tool-bar-mode, which are now set using these X resources at | 7204 | tool-bar-mode, which are now set using these X resources at |
| 7205 | startup, to determine the defaults (Bug#2249). | 7205 | startup, to determine the defaults (Bug#2249). |
| @@ -7683,7 +7683,7 @@ | |||
| 7683 | 7683 | ||
| 7684 | 2010-05-20 Juri Linkov <juri@jurta.org> | 7684 | 2010-05-20 Juri Linkov <juri@jurta.org> |
| 7685 | 7685 | ||
| 7686 | * fileio.c (Fdelete_file): Change interative spec to use | 7686 | * fileio.c (Fdelete_file): Change interactive spec to use |
| 7687 | `read-file-name' like in `find-file-read-args' where the default | 7687 | `read-file-name' like in `find-file-read-args' where the default |
| 7688 | value is `default-directory' instead of `buffer-file-name'. | 7688 | value is `default-directory' instead of `buffer-file-name'. |
| 7689 | http://lists.gnu.org/archive/html/emacs-devel/2010-05/msg00533.html | 7689 | http://lists.gnu.org/archive/html/emacs-devel/2010-05/msg00533.html |
| @@ -8991,8 +8991,8 @@ | |||
| 8991 | 2010-04-13 Jan Djärv <jan.h.d@swipnet.se> | 8991 | 2010-04-13 Jan Djärv <jan.h.d@swipnet.se> |
| 8992 | 8992 | ||
| 8993 | * gtkutil.c (xg_set_geometry): Set geometry for PPosition also. | 8993 | * gtkutil.c (xg_set_geometry): Set geometry for PPosition also. |
| 8994 | (x_wm_set_size_hint): Dont set position flags, gtk_window_parse_geometry | 8994 | (x_wm_set_size_hint): Don't set position flags, |
| 8995 | does that. | 8995 | gtk_window_parse_geometry does that. |
| 8996 | 8996 | ||
| 8997 | * xfns.c (Fx_create_frame, x_create_tip_frame): Set default border width | 8997 | * xfns.c (Fx_create_frame, x_create_tip_frame): Set default border width |
| 8998 | to zero. | 8998 | to zero. |
| @@ -9266,7 +9266,7 @@ | |||
| 9266 | 9266 | ||
| 9267 | Get rid of the direct_output optimizations. | 9267 | Get rid of the direct_output optimizations. |
| 9268 | * keyboard.c (nonundocount): Remove extern declaration. | 9268 | * keyboard.c (nonundocount): Remove extern declaration. |
| 9269 | (command_loop_1): Remove brittle optimisation for cheap and | 9269 | (command_loop_1): Remove brittle optimization for cheap and |
| 9270 | common operations. | 9270 | common operations. |
| 9271 | * xdisp.c (redisplay_internal): Don't bother checking | 9271 | * xdisp.c (redisplay_internal): Don't bother checking |
| 9272 | redisplay_performed_directly_p any more. | 9272 | redisplay_performed_directly_p any more. |
| @@ -9864,8 +9864,8 @@ | |||
| 9864 | 9864 | ||
| 9865 | 2010-01-27 Jason Rumney <jasonr@gnu.org> | 9865 | 2010-01-27 Jason Rumney <jasonr@gnu.org> |
| 9866 | 9866 | ||
| 9867 | * w32inevt.c (w32_kbd_patch_key): Save the unicode character. | 9867 | * w32inevt.c (w32_kbd_patch_key): Save the Unicode character. |
| 9868 | (key_event): Use unicode for characters 128 and higher (Bug#4567). | 9868 | (key_event): Use Unicode for characters 128 and higher (Bug#4567). |
| 9869 | 9869 | ||
| 9870 | 2010-01-27 Kenichi Handa <handa@m17n.org> | 9870 | 2010-01-27 Kenichi Handa <handa@m17n.org> |
| 9871 | 9871 | ||
| @@ -11541,7 +11541,7 @@ | |||
| 11541 | (syms_of_nsfont): Declare it. | 11541 | (syms_of_nsfont): Declare it. |
| 11542 | (ns_registry_to_script): New function. | 11542 | (ns_registry_to_script): New function. |
| 11543 | (ns_get_req_script): Call it. | 11543 | (ns_get_req_script): Call it. |
| 11544 | (ns_findfonts): Don't give up on non-unicode registry. | 11544 | (ns_findfonts): Don't give up on non-Unicode registry. |
| 11545 | 11545 | ||
| 11546 | * font.c (DEFAULT_ENCODING) [HAVE_NS]: Remove special case. | 11546 | * font.c (DEFAULT_ENCODING) [HAVE_NS]: Remove special case. |
| 11547 | 11547 | ||
| @@ -11923,7 +11923,7 @@ | |||
| 11923 | 11923 | ||
| 11924 | * process.c (status_notify): Don't perform redisplay. | 11924 | * process.c (status_notify): Don't perform redisplay. |
| 11925 | (Fdelete_process, list_processes_1, process_send_signal): | 11925 | (Fdelete_process, list_processes_1, process_send_signal): |
| 11926 | Expliticly perform redisplay. | 11926 | Explicitly perform redisplay. |
| 11927 | (wait_reading_process_output): Always check process status, but | 11927 | (wait_reading_process_output): Always check process status, but |
| 11928 | don't perform redisplay unless DO_DISPLAY is non-zero (Bug#2930). | 11928 | don't perform redisplay unless DO_DISPLAY is non-zero (Bug#2930). |
| 11929 | 11929 | ||
| @@ -12481,7 +12481,7 @@ | |||
| 12481 | 12481 | ||
| 12482 | * dbusbind.c (XD_SYMBOL_TO_DBUS_TYPE): Convert macro into function | 12482 | * dbusbind.c (XD_SYMBOL_TO_DBUS_TYPE): Convert macro into function |
| 12483 | xd_symbol_to_dbus_type. With Solaris 2.11, it was said to compile | 12483 | xd_symbol_to_dbus_type. With Solaris 2.11, it was said to compile |
| 12484 | for hours, when optimzation is enabled. | 12484 | for hours, when optimization is enabled. |
| 12485 | (xd_signature, xd_append_arg, xd_retrieve_arg, xd_initialize) | 12485 | (xd_signature, xd_append_arg, xd_retrieve_arg, xd_initialize) |
| 12486 | (xd_read_message): Make them static. | 12486 | (xd_read_message): Make them static. |
| 12487 | 12487 | ||
| @@ -13149,7 +13149,7 @@ | |||
| 13149 | (ftfont_has_char): Special handling of `ja' and `ko' adstyle. | 13149 | (ftfont_has_char): Special handling of `ja' and `ko' adstyle. |
| 13150 | 13150 | ||
| 13151 | * font.c (font_sort_entites): Change the meaning of the arg | 13151 | * font.c (font_sort_entites): Change the meaning of the arg |
| 13152 | BEST-ONLY. Don't optimize for VEC of lenght 1. | 13152 | BEST-ONLY. Don't optimize for VEC of length 1. |
| 13153 | (font_select_entity): Just return the value of font_sort_entites. | 13153 | (font_select_entity): Just return the value of font_sort_entites. |
| 13154 | 13154 | ||
| 13155 | * xfaces.c (merge_face_vectors): Reflect font properties in | 13155 | * xfaces.c (merge_face_vectors): Reflect font properties in |
| @@ -16072,7 +16072,7 @@ | |||
| 16072 | 2008-09-07 Andreas Schwab <schwab@suse.de> | 16072 | 2008-09-07 Andreas Schwab <schwab@suse.de> |
| 16073 | 16073 | ||
| 16074 | * callproc.c (Fcall_process): Don't hold references to string data | 16074 | * callproc.c (Fcall_process): Don't hold references to string data |
| 16075 | across garbage collection. Move initialisation of new_argv down | 16075 | across garbage collection. Move initialization of new_argv down |
| 16076 | to avoid compiler bug. | 16076 | to avoid compiler bug. |
| 16077 | 16077 | ||
| 16078 | 2008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de> | 16078 | 2008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de> |
| @@ -17147,10 +17147,10 @@ | |||
| 17147 | 17147 | ||
| 17148 | 2008-07-30 Jason Rumney <jasonr@gnu.org> | 17148 | 2008-07-30 Jason Rumney <jasonr@gnu.org> |
| 17149 | 17149 | ||
| 17150 | * w32font.h (struct w32font_info): Use unicode version of textmetrics. | 17150 | * w32font.h (struct w32font_info): Use Unicode version of textmetrics. |
| 17151 | 17151 | ||
| 17152 | * w32font.c (w32font_encode_char): Leave as unicode if in range. | 17152 | * w32font.c (w32font_encode_char): Leave as Unicode if in range. |
| 17153 | (w32font_open_internal): Get unicode version of textmetrics. | 17153 | (w32font_open_internal): Get Unicode version of textmetrics. |
| 17154 | Don't enable or disable glyph indices here. | 17154 | Don't enable or disable glyph indices here. |
| 17155 | (w32font_open): Disable use of glyph indices. | 17155 | (w32font_open): Disable use of glyph indices. |
| 17156 | 17156 | ||
| @@ -19178,7 +19178,7 @@ | |||
| 19178 | 2008-06-10 Jason Rumney <jasonr@gnu.org> | 19178 | 2008-06-10 Jason Rumney <jasonr@gnu.org> |
| 19179 | 19179 | ||
| 19180 | * w32uniscribe.c (add_opentype_font_name_to_list): | 19180 | * w32uniscribe.c (add_opentype_font_name_to_list): |
| 19181 | Skip non unicode fonts. | 19181 | Skip non Unicode fonts. |
| 19182 | 19182 | ||
| 19183 | 2008-06-10 Chong Yidong <cyd@stupidchicken.com> | 19183 | 2008-06-10 Chong Yidong <cyd@stupidchicken.com> |
| 19184 | 19184 | ||
| @@ -19248,7 +19248,7 @@ | |||
| 19248 | * w32menu.c (Fx_popup_menu): Unwind protect while building menu. | 19248 | * w32menu.c (Fx_popup_menu): Unwind protect while building menu. |
| 19249 | (parse_single_submenu): Remove. | 19249 | (parse_single_submenu): Remove. |
| 19250 | (digest_single_submenu): Remove. | 19250 | (digest_single_submenu): Remove. |
| 19251 | (syms_of_w32menu): Don't initialise variables that have moved | 19251 | (syms_of_w32menu): Don't initialize variables that have moved |
| 19252 | to menu.c. | 19252 | to menu.c. |
| 19253 | (set_frame_menubar): Sync with version in xmenu.c. | 19253 | (set_frame_menubar): Sync with version in xmenu.c. |
| 19254 | (w32_menu_show): Sync with xmenu_show in xmenu.c. | 19254 | (w32_menu_show): Sync with xmenu_show in xmenu.c. |
| @@ -19647,7 +19647,7 @@ | |||
| 19647 | `raster' specified. | 19647 | `raster' specified. |
| 19648 | (add_font_entity_to_list): Allow non-opentype truetype fonts back | 19648 | (add_font_entity_to_list): Allow non-opentype truetype fonts back |
| 19649 | in the uniscribe backend, but disallow any font that has no | 19649 | in the uniscribe backend, but disallow any font that has no |
| 19650 | unicode subrange support. | 19650 | Unicode subrange support. |
| 19651 | 19651 | ||
| 19652 | 2008-05-29 Juanma Barranquero <lekktu@gmail.com> | 19652 | 2008-05-29 Juanma Barranquero <lekktu@gmail.com> |
| 19653 | 19653 | ||
| @@ -21290,7 +21290,7 @@ | |||
| 21290 | (CACHE_BLOCKSIZE): New constants. | 21290 | (CACHE_BLOCKSIZE): New constants. |
| 21291 | 21291 | ||
| 21292 | * w32font.c (Qja, Qko, Qzh): New symbols. | 21292 | * w32font.c (Qja, Qko, Qzh): New symbols. |
| 21293 | (syms_of_w32font): Initialise them. | 21293 | (syms_of_w32font): Initialize them. |
| 21294 | (font_matches_spec): Use them to filter by language. | 21294 | (font_matches_spec): Use them to filter by language. |
| 21295 | (recompute_cached_metrics): Remove function. | 21295 | (recompute_cached_metrics): Remove function. |
| 21296 | (compute_metrics, clear_cached_metrics): New functions. | 21296 | (compute_metrics, clear_cached_metrics): New functions. |
| @@ -21813,8 +21813,8 @@ | |||
| 21813 | 2008-03-06 Jason Rumney <jasonr@gnu.org> | 21813 | 2008-03-06 Jason Rumney <jasonr@gnu.org> |
| 21814 | 21814 | ||
| 21815 | * w32font.c (w32_registry): Take font_type argument. Use ANSI | 21815 | * w32font.c (w32_registry): Take font_type argument. Use ANSI |
| 21816 | when charset not specified. Only translate ANSI to unicode when | 21816 | when charset not specified. Only translate ANSI to Unicode when |
| 21817 | font_type is truetype. | 21817 | font_type is TrueType. |
| 21818 | (w32font_coverage_ok): New function. | 21818 | (w32font_coverage_ok): New function. |
| 21819 | (add_font_entity_to_list): Use it to filter unsuitable fonts. | 21819 | (add_font_entity_to_list): Use it to filter unsuitable fonts. |
| 21820 | 21820 | ||
| @@ -23463,10 +23463,10 @@ | |||
| 23463 | (w32font_list, w32font_match): Use it. | 23463 | (w32font_list, w32font_match): Use it. |
| 23464 | (w32font_open): Don't populate subranges. | 23464 | (w32font_open): Don't populate subranges. |
| 23465 | (w32font_has_char): Use script Lisp symbols, not subrange bitmask. | 23465 | (w32font_has_char): Use script Lisp symbols, not subrange bitmask. |
| 23466 | (w32font_encode_char): Always return unicode code-point as-is. | 23466 | (w32font_encode_char): Always return Unicode code-point as-is. |
| 23467 | (w32font_text_extents): Supply a transformation matrix to | 23467 | (w32font_text_extents): Supply a transformation matrix to |
| 23468 | GetGlyphOutline. Never look up by glyph index. Avoid looping | 23468 | GetGlyphOutline. Never look up by glyph index. Avoid looping |
| 23469 | twice. Use unicode version of GetTexExtentPoint32 instead of | 23469 | twice. Use Unicode version of GetTexExtentPoint32 instead of |
| 23470 | glyph index version. | 23470 | glyph index version. |
| 23471 | (set_fonts_frame): Remove. | 23471 | (set_fonts_frame): Remove. |
| 23472 | (w32_enumfont_pattern_entity): Add frame parameter, use it to | 23472 | (w32_enumfont_pattern_entity): Add frame parameter, use it to |
| @@ -25081,7 +25081,7 @@ | |||
| 25081 | * keymap.c (describe_vector): Handle default value of a char table. | 25081 | * keymap.c (describe_vector): Handle default value of a char table. |
| 25082 | 25082 | ||
| 25083 | * fontset.c (fontset_face): Handle fallback fonts correctly. | 25083 | * fontset.c (fontset_face): Handle fallback fonts correctly. |
| 25084 | (Ffontset_info): Return infomation about fallback fonts. | 25084 | (Ffontset_info): Return information about fallback fonts. |
| 25085 | 25085 | ||
| 25086 | 2008-02-01 Kenichi Handa <handa@m17n.org> | 25086 | 2008-02-01 Kenichi Handa <handa@m17n.org> |
| 25087 | 25087 | ||
| @@ -25425,16 +25425,16 @@ | |||
| 25425 | (pfnGetFontUnicodeRanges): New dynamically loaded function. | 25425 | (pfnGetFontUnicodeRanges): New dynamically loaded function. |
| 25426 | (w32_initialize): Try to load it. | 25426 | (w32_initialize): Try to load it. |
| 25427 | (x_get_font_repertory): Use it if available. | 25427 | (x_get_font_repertory): Use it if available. |
| 25428 | (w32_encode_char): Add shortcut for unicode output. | 25428 | (w32_encode_char): Add shortcut for Unicode output. |
| 25429 | 25429 | ||
| 25430 | * w32fns.c (w32_load_system_font): Default charset to -1. | 25430 | * w32fns.c (w32_load_system_font): Default charset to -1. |
| 25431 | (x_to_w32_charset): Match all fonts for unicode. | 25431 | (x_to_w32_charset): Match all fonts for Unicode. |
| 25432 | (w32_to_x_charset): New parameter matching. Don't return partial | 25432 | (w32_to_x_charset): New parameter matching. Don't return partial |
| 25433 | or wildcard charsets. | 25433 | or wildcard charsets. |
| 25434 | (w32_to_all_x_charsets): Don't return partial or wildcard charsets. | 25434 | (w32_to_all_x_charsets): Don't return partial or wildcard charsets. |
| 25435 | (w32_codepage_for_font): Return CP_UNICODE for unicode. | 25435 | (w32_codepage_for_font): Return CP_UNICODE for Unicode. |
| 25436 | (w32_to_x_font): Match charset to real charset. | 25436 | (w32_to_x_font): Match charset to real charset. |
| 25437 | (enum_font_cb2): Always list unicode versions. | 25437 | (enum_font_cb2): Always list Unicode versions. |
| 25438 | 25438 | ||
| 25439 | * makefile.w32-in (temacs): Increase EMHEAP. | 25439 | * makefile.w32-in (temacs): Increase EMHEAP. |
| 25440 | 25440 | ||
| @@ -25458,7 +25458,7 @@ | |||
| 25458 | 25458 | ||
| 25459 | * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version | 25459 | * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version |
| 25460 | of x_new_fontset. | 25460 | of x_new_fontset. |
| 25461 | (w32_load_system_font): Initialize charset as unicode. | 25461 | (w32_load_system_font): Initialize charset as Unicode. |
| 25462 | font_info.encoding becomes encoding_type. | 25462 | font_info.encoding becomes encoding_type. |
| 25463 | (w32_to_x_font): Use decode_coding_c_string in place of decode_coding. | 25463 | (w32_to_x_font): Use decode_coding_c_string in place of decode_coding. |
| 25464 | (x_to_w32_font): Use encode_coding_object in place of encode_coding. | 25464 | (x_to_w32_font): Use encode_coding_object in place of encode_coding. |
| @@ -27685,7 +27685,7 @@ | |||
| 27685 | * xterm.c (handle_one_xevent): Revert to counting chars not bytes. | 27685 | * xterm.c (handle_one_xevent): Revert to counting chars not bytes. |
| 27686 | 27686 | ||
| 27687 | * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside | 27687 | * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside |
| 27688 | the unicode range available in MULE by locale-coding-system. | 27688 | the Unicode range available in MULE by locale-coding-system. |
| 27689 | Improve dbcs lead byte detection. Set event timestamp and modifiers | 27689 | Improve dbcs lead byte detection. Set event timestamp and modifiers |
| 27690 | earlier. | 27690 | earlier. |
| 27691 | 27691 | ||
| @@ -29136,7 +29136,7 @@ | |||
| 29136 | 29136 | ||
| 29137 | * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER): | 29137 | * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER): |
| 29138 | * lread.c (defvar_per_buffer): | 29138 | * lread.c (defvar_per_buffer): |
| 29139 | * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c. | 29139 | * abbrev.c (syms_of_abbrev) <local-abbrev-table>: Move to buffer.c. |
| 29140 | 29140 | ||
| 29141 | * window.c (candidate_window_p): Only consider as visible frames that | 29141 | * window.c (candidate_window_p): Only consider as visible frames that |
| 29142 | are on the same terminal. | 29142 | are on the same terminal. |
| @@ -29651,7 +29651,7 @@ | |||
| 29651 | 29651 | ||
| 29652 | * callproc.c (child_setup, getenv_internal): Use the | 29652 | * callproc.c (child_setup, getenv_internal): Use the |
| 29653 | display-environment-variable and term-environment-variable frame params. | 29653 | display-environment-variable and term-environment-variable frame params. |
| 29654 | (set_initial_environment): Initialise Vprocess_environment. | 29654 | (set_initial_environment): Initialize Vprocess_environment. |
| 29655 | 29655 | ||
| 29656 | * config.in: Disable multi-keyboard support on a mac. | 29656 | * config.in: Disable multi-keyboard support on a mac. |
| 29657 | 29657 | ||
| @@ -30873,7 +30873,7 @@ | |||
| 30873 | 2007-06-17 Jason Rumney <jasonr@gnu.org> | 30873 | 2007-06-17 Jason Rumney <jasonr@gnu.org> |
| 30874 | 30874 | ||
| 30875 | * w32menu.c (add_menu_item): Don't use multibyte string functions on | 30875 | * w32menu.c (add_menu_item): Don't use multibyte string functions on |
| 30876 | unicode strings. | 30876 | Unicode strings. |
| 30877 | 30877 | ||
| 30878 | 2007-06-16 Juanma Barranquero <lekktu@gmail.com> | 30878 | 2007-06-16 Juanma Barranquero <lekktu@gmail.com> |
| 30879 | 30879 | ||
| @@ -30892,7 +30892,7 @@ | |||
| 30892 | 2007-06-14 Jason Rumney <jasonr@gnu.org> | 30892 | 2007-06-14 Jason Rumney <jasonr@gnu.org> |
| 30893 | 30893 | ||
| 30894 | * w32.c (get_process_times_fn): New function pointer. | 30894 | * w32.c (get_process_times_fn): New function pointer. |
| 30895 | (globals_of_w32): Intialize it if present in kernel32.dll. | 30895 | (globals_of_w32): Initialize it if present in kernel32.dll. |
| 30896 | (w32_get_internal_run_time): New function. | 30896 | (w32_get_internal_run_time): New function. |
| 30897 | 30897 | ||
| 30898 | * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it. | 30898 | * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it. |
| @@ -31298,7 +31298,7 @@ | |||
| 31298 | (term_mouse_highlight, term_mouse_movement, term_mouse_position) | 31298 | (term_mouse_highlight, term_mouse_movement, term_mouse_position) |
| 31299 | (term_mouse_click, handle_one_term_event, Fterm_open_connection) | 31299 | (term_mouse_click, handle_one_term_event, Fterm_open_connection) |
| 31300 | (Fterm_close_connection): New functions. | 31300 | (Fterm_close_connection): New functions. |
| 31301 | (term_init): Initialise mouse_face_window. | 31301 | (term_init): Initialize mouse_face_window. |
| 31302 | 31302 | ||
| 31303 | 2007-05-19 Chong Yidong <cyd@stupidchicken.com> | 31303 | 2007-05-19 Chong Yidong <cyd@stupidchicken.com> |
| 31304 | 31304 | ||
diff --git a/src/ChangeLog.2 b/src/ChangeLog.2 index 05e448c043c..62e3de22b09 100644 --- a/src/ChangeLog.2 +++ b/src/ChangeLog.2 | |||
| @@ -1152,7 +1152,7 @@ | |||
| 1152 | 1152 | ||
| 1153 | 1987-07-29 Richard Mlynarik (mly@prep) | 1153 | 1987-07-29 Richard Mlynarik (mly@prep) |
| 1154 | 1154 | ||
| 1155 | * lread.c (init_read): Initialise load_in_progress. | 1155 | * lread.c (init_read): Initialize load_in_progress. |
| 1156 | 1156 | ||
| 1157 | 1987-07-28 Richard M. Stallman (rms@prep) | 1157 | 1987-07-28 Richard M. Stallman (rms@prep) |
| 1158 | 1158 | ||
| @@ -2251,7 +2251,7 @@ | |||
| 2251 | 1987-01-16 Richard Mlynarik (mly@prep) | 2251 | 1987-01-16 Richard Mlynarik (mly@prep) |
| 2252 | 2252 | ||
| 2253 | * xfns.c (Fx_set_{background,cursor,mouse}_color): | 2253 | * xfns.c (Fx_set_{background,cursor,mouse}_color): |
| 2254 | Initialise save_color. | 2254 | Initialize save_color. |
| 2255 | 2255 | ||
| 2256 | * fileio.c, search.c, sysdep.c, filelock.c, editfns.c, process.c: | 2256 | * fileio.c, search.c, sysdep.c, filelock.c, editfns.c, process.c: |
| 2257 | Delete/replace unused/conditionalised variables | 2257 | Delete/replace unused/conditionalised variables |
| @@ -3002,7 +3002,7 @@ | |||
| 3002 | 1986-11-18 Richard Mlynarik (mly@prep) | 3002 | 1986-11-18 Richard Mlynarik (mly@prep) |
| 3003 | 3003 | ||
| 3004 | * emacs.c (main): | 3004 | * emacs.c (main): |
| 3005 | Giving `inhibit_x_windows' an initialisation loses; | 3005 | Giving `inhibit_x_windows' an initialization loses; |
| 3006 | do it explicitly. | 3006 | do it explicitly. |
| 3007 | 3007 | ||
| 3008 | * xfns.c (Fx_rubber_band): | 3008 | * xfns.c (Fx_rubber_band): |
| @@ -3291,7 +3291,7 @@ | |||
| 3291 | 1986-11-03 Richard Mlynarik (mly@prep) | 3291 | 1986-11-03 Richard Mlynarik (mly@prep) |
| 3292 | 3292 | ||
| 3293 | * xterm.c (stufflines): | 3293 | * xterm.c (stufflines): |
| 3294 | Initialise signal mask. | 3294 | Initialize signal mask. |
| 3295 | 3295 | ||
| 3296 | * xterm.h: | 3296 | * xterm.h: |
| 3297 | Add definition of sigmask | 3297 | Add definition of sigmask |
| @@ -3346,7 +3346,7 @@ | |||
| 3346 | New function. | 3346 | New function. |
| 3347 | 3347 | ||
| 3348 | * window.c (Fset_window_hscroll): | 3348 | * window.c (Fset_window_hscroll): |
| 3349 | Don't inhibit redisplay optimisations if hscroll is same. | 3349 | Don't inhibit redisplay optimizations if hscroll is same. |
| 3350 | 3350 | ||
| 3351 | * ymakefile: | 3351 | * ymakefile: |
| 3352 | rm ../etc/DOC to avoid make-docfile overwriting any files which | 3352 | rm ../etc/DOC to avoid make-docfile overwriting any files which |
| @@ -3358,7 +3358,7 @@ | |||
| 3358 | VMS changes from Sasaki | 3358 | VMS changes from Sasaki |
| 3359 | 3359 | ||
| 3360 | * termcap.c (tgetent): | 3360 | * termcap.c (tgetent): |
| 3361 | Make sure `indirect' initialised. | 3361 | Make sure `indirect' initialized. |
| 3362 | 3362 | ||
| 3363 | * xfns.c (grey_p and callers): | 3363 | * xfns.c (grey_p and callers): |
| 3364 | New function to compensate for ugly chauvinistic American | 3364 | New function to compensate for ugly chauvinistic American |
| @@ -3496,7 +3496,7 @@ | |||
| 3496 | core-dump) | 3496 | core-dump) |
| 3497 | 3497 | ||
| 3498 | Dike out global-minor-modes. This wasn't actually being used by | 3498 | Dike out global-minor-modes. This wasn't actually being used by |
| 3499 | anything (due to a bug) and wasn't even being initialised! | 3499 | anything (due to a bug) and wasn't even being initialized! |
| 3500 | minor-mode-alist does what this thought it was doing. | 3500 | minor-mode-alist does what this thought it was doing. |
| 3501 | 3501 | ||
| 3502 | 1986-10-11 Richard Mlynarik (mly@prep) | 3502 | 1986-10-11 Richard Mlynarik (mly@prep) |
diff --git a/src/ChangeLog.3 b/src/ChangeLog.3 index cdfe63fc59c..cbf867829c7 100644 --- a/src/ChangeLog.3 +++ b/src/ChangeLog.3 | |||
| @@ -6089,7 +6089,7 @@ | |||
| 6089 | shrink below the minimum, this code would only try to delete it if | 6089 | shrink below the minimum, this code would only try to delete it if |
| 6090 | it had a parent. Well, even if the window doesn't have a parent, | 6090 | it had a parent. Well, even if the window doesn't have a parent, |
| 6091 | you want Fdelete_window to signal an error, since you're trying to | 6091 | you want Fdelete_window to signal an error, since you're trying to |
| 6092 | resize one of the undeleteable windows into nothingness. So call | 6092 | resize one of the undeletable windows into nothingness. So call |
| 6093 | Fdelete_window even if the window doesn't have a parent. | 6093 | Fdelete_window even if the window doesn't have a parent. |
| 6094 | 6094 | ||
| 6095 | * window.c (MINSIZE): Add kludge so that the minibuffer is always | 6095 | * window.c (MINSIZE): Add kludge so that the minibuffer is always |
| @@ -9010,7 +9010,7 @@ | |||
| 9010 | * keyboard.c (cmd_error): If an error occurs before somebody has | 9010 | * keyboard.c (cmd_error): If an error occurs before somebody has |
| 9011 | provided a screen to print it on, print it to stderr and exit | 9011 | provided a screen to print it on, print it to stderr and exit |
| 9012 | Emacs. Handle batch-mode errors with the same code. | 9012 | Emacs. Handle batch-mode errors with the same code. |
| 9013 | * lisp.h (Qexternal_debugging_ouput): New extern declaration, for | 9013 | * lisp.h (Qexternal_debugging_output): New extern declaration, for |
| 9014 | use in cmd_error. | 9014 | use in cmd_error. |
| 9015 | 9015 | ||
| 9016 | * screen.c (Fscreen_pixel_size, Fset_screen_position): Doc fix. | 9016 | * screen.c (Fscreen_pixel_size, Fset_screen_position): Doc fix. |
| @@ -13137,7 +13137,7 @@ | |||
| 13137 | * print.c: Include dispextern.h. | 13137 | * print.c: Include dispextern.h. |
| 13138 | (printchar, strout): Use message_buf. | 13138 | (printchar, strout): Use message_buf. |
| 13139 | 13139 | ||
| 13140 | * sysdep.c (get_screen_size): Don't use MscreenWidth, MscreenLenght. | 13140 | * sysdep.c (get_screen_size): Don't use MscreenWidth, MscreenLength. |
| 13141 | * term.c: Likewise. | 13141 | * term.c: Likewise. |
| 13142 | 13142 | ||
| 13143 | * scroll.c (CalcIDCosts, CalcIDCosts1, CalcLID): These now take a | 13143 | * scroll.c (CalcIDCosts, CalcIDCosts1, CalcLID): These now take a |
| @@ -13147,7 +13147,7 @@ | |||
| 13147 | (do_scrolling): Use alloca for queue. | 13147 | (do_scrolling): Use alloca for queue. |
| 13148 | 13148 | ||
| 13149 | * dispnew.c (remake_screen_structures): Allocate message_buf. | 13149 | * dispnew.c (remake_screen_structures): Allocate message_buf. |
| 13150 | Don't use MscreenWidth, MscreenLenght. | 13150 | Don't use MscreenWidth, MscreenLength. |
| 13151 | 13151 | ||
| 13152 | * xdisp.c: bf_cur replaced with current_buffer. | 13152 | * xdisp.c: bf_cur replaced with current_buffer. |
| 13153 | Calls to SetBfx deleted. | 13153 | Calls to SetBfx deleted. |
diff --git a/src/ChangeLog.4 b/src/ChangeLog.4 index 208d9c2cdb0..88c9e3dbf71 100644 --- a/src/ChangeLog.4 +++ b/src/ChangeLog.4 | |||
| @@ -3656,7 +3656,7 @@ | |||
| 3656 | 3656 | ||
| 3657 | * m/delta.h (BROKEN_CLOSEDIR): Added because closedir is interruptible. | 3657 | * m/delta.h (BROKEN_CLOSEDIR): Added because closedir is interruptible. |
| 3658 | (HAVE_UNISTD_H): Deleted because configure takes care of it. | 3658 | (HAVE_UNISTD_H): Deleted because configure takes care of it. |
| 3659 | (C_SWITCH_MACHINE): Added optimisation options for gnu cc. | 3659 | (C_SWITCH_MACHINE): Added optimization options for gnu cc. |
| 3660 | 3660 | ||
| 3661 | 1993-12-17 Mike Long (mike.long@analog.com) | 3661 | 1993-12-17 Mike Long (mike.long@analog.com) |
| 3662 | 3662 | ||
| @@ -5007,7 +5007,7 @@ | |||
| 5007 | Change display code to handle the `invisible' text property. | 5007 | Change display code to handle the `invisible' text property. |
| 5008 | * dispnew.c (direct_output_for_insert): Fail if character | 5008 | * dispnew.c (direct_output_for_insert): Fail if character |
| 5009 | just inserted has text properties. | 5009 | just inserted has text properties. |
| 5010 | (direct_ouput_forward_char): Fail if moving near invisible chars. | 5010 | (direct_output_forward_char): Fail if moving near invisible chars. |
| 5011 | * indent.c (compute_motion): Compute correctly for invisible text. | 5011 | * indent.c (compute_motion): Compute correctly for invisible text. |
| 5012 | (vmotion): Take care of invisible newlines. | 5012 | (vmotion): Take care of invisible newlines. |
| 5013 | * intervals.c (set_point): Ignore `invisible' property | 5013 | * intervals.c (set_point): Ignore `invisible' property |
diff --git a/src/ChangeLog.5 b/src/ChangeLog.5 index 1f21e9fb99c..ee79917a34d 100644 --- a/src/ChangeLog.5 +++ b/src/ChangeLog.5 | |||
| @@ -3463,7 +3463,7 @@ | |||
| 3463 | 3463 | ||
| 3464 | * lisp.h (running_asynch_code): New global flag. | 3464 | * lisp.h (running_asynch_code): New global flag. |
| 3465 | * emacs.c (running_asynch_code): New global flag. | 3465 | * emacs.c (running_asynch_code): New global flag. |
| 3466 | (main): Initialise it. | 3466 | (main): Initialize it. |
| 3467 | * process.c (read_process_output, exec_sentinel): Set and | 3467 | * process.c (read_process_output, exec_sentinel): Set and |
| 3468 | reset the running_asynch_code global flag and restore match data. | 3468 | reset the running_asynch_code global flag and restore match data. |
| 3469 | 3469 | ||
diff --git a/src/ChangeLog.6 b/src/ChangeLog.6 index 141a570040c..af97d0de7b4 100644 --- a/src/ChangeLog.6 +++ b/src/ChangeLog.6 | |||
| @@ -1182,7 +1182,7 @@ | |||
| 1182 | support in sys_select. | 1182 | support in sys_select. |
| 1183 | 1183 | ||
| 1184 | (term_ntproc): New function. | 1184 | (term_ntproc): New function. |
| 1185 | (init_ntproc): New function to initialise socket support and make | 1185 | (init_ntproc): New function to initialize socket support and make |
| 1186 | initial std handles non-inheritable. Also ensure stdin, stdout | 1186 | initial std handles non-inheritable. Also ensure stdin, stdout |
| 1187 | and stderr have valid handles so that pipes and sockets can't | 1187 | and stderr have valid handles so that pipes and sockets can't |
| 1188 | inadvertently use fd 0, 1, or 2. | 1188 | inadvertently use fd 0, 1, or 2. |
| @@ -1440,7 +1440,7 @@ | |||
| 1440 | Correctly detect when default_directory is absolute. | 1440 | Correctly detect when default_directory is absolute. |
| 1441 | Be strict when looking for MSDOS drive specifier; defer calling | 1441 | Be strict when looking for MSDOS drive specifier; defer calling |
| 1442 | getdefdir. Ignore drive specifier if name now has UNC prefix. | 1442 | getdefdir. Ignore drive specifier if name now has UNC prefix. |
| 1443 | Correctly recognise if name is not absolute when trying simple | 1443 | Correctly recognize if name is not absolute when trying simple |
| 1444 | method to expand; return original string if possible. | 1444 | method to expand; return original string if possible. |
| 1445 | Skip dir sep after ~ or ~user. | 1445 | Skip dir sep after ~ or ~user. |
| 1446 | Use getpwnam instead of HOME for ~user on NT. | 1446 | Use getpwnam instead of HOME for ~user on NT. |
diff --git a/src/ChangeLog.7 b/src/ChangeLog.7 index 73d0d45e9c1..fc97acdeb1e 100644 --- a/src/ChangeLog.7 +++ b/src/ChangeLog.7 | |||
| @@ -5774,7 +5774,7 @@ | |||
| 5774 | 5774 | ||
| 5775 | (w32_initialize): Set input mode. Use w32_msg_worker instead | 5775 | (w32_initialize): Set input mode. Use w32_msg_worker instead |
| 5776 | of windows_msg_worker. Dynamically link proportional scroll bar | 5776 | of windows_msg_worker. Dynamically link proportional scroll bar |
| 5777 | functions and intialize proportional scroll bar variables. | 5777 | functions and initialize proportional scroll bar variables. |
| 5778 | (syms_of_w32term): DEFVAR new variables. | 5778 | (syms_of_w32term): DEFVAR new variables. |
| 5779 | 5779 | ||
| 5780 | * w32term.h (w32_output): New fields menubar_widget, menubar_active, | 5780 | * w32term.h (w32_output): New fields menubar_widget, menubar_active, |
| @@ -10963,7 +10963,7 @@ | |||
| 10963 | 1996-08-28 Morten Welinder <terra@diku.dk> | 10963 | 1996-08-28 Morten Welinder <terra@diku.dk> |
| 10964 | 10964 | ||
| 10965 | * minibuf.c (Vhistory_length, Qhistory_length): New variables. | 10965 | * minibuf.c (Vhistory_length, Qhistory_length): New variables. |
| 10966 | (syms_of_minibuf): Register and initialise these. | 10966 | (syms_of_minibuf): Register and initialize these. |
| 10967 | (read_minibuf): Truncate history list if needed. | 10967 | (read_minibuf): Truncate history list if needed. |
| 10968 | 10968 | ||
| 10969 | 1996-08-28 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> | 10969 | 1996-08-28 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> |
diff --git a/src/ChangeLog.8 b/src/ChangeLog.8 index 00e4a1f62c8..e21af17657f 100644 --- a/src/ChangeLog.8 +++ b/src/ChangeLog.8 | |||
| @@ -2723,7 +2723,7 @@ | |||
| 2723 | (CURSOR_FACE_ID, MOUSE_FACE_ID): New. | 2723 | (CURSOR_FACE_ID, MOUSE_FACE_ID): New. |
| 2724 | 2724 | ||
| 2725 | * xfaces.c (Qscroll_bar, Qcursor, Qborder, Qmouse): New. | 2725 | * xfaces.c (Qscroll_bar, Qcursor, Qborder, Qmouse): New. |
| 2726 | (syms_of_xfaces): Intialize new symbols. | 2726 | (syms_of_xfaces): Initialize new symbols. |
| 2727 | 2727 | ||
| 2728 | * fns.c (Fmakehash): Take one argument, test, make all the | 2728 | * fns.c (Fmakehash): Take one argument, test, make all the |
| 2729 | rest keyword arguments. | 2729 | rest keyword arguments. |
| @@ -9227,7 +9227,7 @@ | |||
| 9227 | * xdisp.c (store_frame_title_char): New function to store a | 9227 | * xdisp.c (store_frame_title_char): New function to store a |
| 9228 | single character for the frame title with re-allocation of | 9228 | single character for the frame title with re-allocation of |
| 9229 | frame_title_buf. | 9229 | frame_title_buf. |
| 9230 | (init_xdisp): Intialize frame_title_.* variables to null. | 9230 | (init_xdisp): Initialize frame_title_.* variables to null. |
| 9231 | 9231 | ||
| 9232 | * dispnew.c (quit_error_check): Removed. | 9232 | * dispnew.c (quit_error_check): Removed. |
| 9233 | 9233 | ||
| @@ -12321,7 +12321,7 @@ | |||
| 12321 | (enumfont_t): Remove unused head pointer. | 12321 | (enumfont_t): Remove unused head pointer. |
| 12322 | (enum_font_cb2): Dereference elfLogFont. | 12322 | (enum_font_cb2): Dereference elfLogFont. |
| 12323 | (w32_list_bdf_fonts): New function. | 12323 | (w32_list_bdf_fonts): New function. |
| 12324 | (w32_list_fonts): Use one_w32_dispay_info instead of insisting on | 12324 | (w32_list_fonts): Use one_w32_display_info instead of insisting on |
| 12325 | valid frame. Remove MessageBox. Support BDF fonts. | 12325 | valid frame. Remove MessageBox. Support BDF fonts. |
| 12326 | (Fw32_find_bdf_fonts): New function. | 12326 | (Fw32_find_bdf_fonts): New function. |
| 12327 | (syms_of_w32fns): Add Vw32_bdf_filename_alist and | 12327 | (syms_of_w32fns): Add Vw32_bdf_filename_alist and |
| @@ -13266,7 +13266,7 @@ | |||
| 13266 | 13266 | ||
| 13267 | * charset.c (Fchar_bytes): Doc fix. | 13267 | * charset.c (Fchar_bytes): Doc fix. |
| 13268 | (char_bytes): Fix returned value to match returned type. | 13268 | (char_bytes): Fix returned value to match returned type. |
| 13269 | (syms_of_charset): Fix type clash in initialisation of | 13269 | (syms_of_charset): Fix type clash in initialization of |
| 13270 | Vauto_fill_chars. | 13270 | Vauto_fill_chars. |
| 13271 | 13271 | ||
| 13272 | 1998-10-29 Geoff Voelker <voelker@cs.washington.edu> | 13272 | 1998-10-29 Geoff Voelker <voelker@cs.washington.edu> |
| @@ -13429,7 +13429,7 @@ | |||
| 13429 | `x-list-fonts.c'. | 13429 | `x-list-fonts.c'. |
| 13430 | (w32_get_font_info, w32_query_font, w32_find_ccl_program): New | 13430 | (w32_get_font_info, w32_query_font, w32_find_ccl_program): New |
| 13431 | functions for fontset support - adapted from x_ equivalents. | 13431 | functions for fontset support - adapted from x_ equivalents. |
| 13432 | (syms_of_w32fns): New lisp variables initialised. Function | 13432 | (syms_of_w32fns): New lisp variables initialized. Function |
| 13433 | pointers for fontset.c set up. | 13433 | pointers for fontset.c set up. |
| 13434 | 13434 | ||
| 13435 | * w32term.c: Include fontset.h. Define codepage macros. | 13435 | * w32term.c: Include fontset.h. Define codepage macros. |
diff --git a/src/ChangeLog.9 b/src/ChangeLog.9 index 9e7bd24f792..6f007992bef 100644 --- a/src/ChangeLog.9 +++ b/src/ChangeLog.9 | |||
| @@ -5150,7 +5150,7 @@ | |||
| 5150 | 2000-11-27 Jason Rumney <jasonr@gnu.org> | 5150 | 2000-11-27 Jason Rumney <jasonr@gnu.org> |
| 5151 | 5151 | ||
| 5152 | * w32fns.c (w32_load_system_font): Always mark font as double byte | 5152 | * w32fns.c (w32_load_system_font): Always mark font as double byte |
| 5153 | if codepage is unicode. | 5153 | if codepage is Unicode. |
| 5154 | 5154 | ||
| 5155 | 2000-11-27 Gerd Moellmann <gerd@gnu.org> | 5155 | 2000-11-27 Gerd Moellmann <gerd@gnu.org> |
| 5156 | 5156 | ||
diff --git a/src/alloc.c b/src/alloc.c index 5d04bd77872..96d63f53cf9 100644 --- a/src/alloc.c +++ b/src/alloc.c | |||
| @@ -203,9 +203,6 @@ static int malloc_hysteresis; | |||
| 203 | remapping on more recent systems because this is less important | 203 | remapping on more recent systems because this is less important |
| 204 | nowadays than in the days of small memories and timesharing. */ | 204 | nowadays than in the days of small memories and timesharing. */ |
| 205 | 205 | ||
| 206 | #ifndef VIRT_ADDR_VARIES | ||
| 207 | static | ||
| 208 | #endif | ||
| 209 | EMACS_INT pure[(PURESIZE + sizeof (EMACS_INT) - 1) / sizeof (EMACS_INT)] = {1,}; | 206 | EMACS_INT pure[(PURESIZE + sizeof (EMACS_INT) - 1) / sizeof (EMACS_INT)] = {1,}; |
| 210 | #define PUREBEG (char *) pure | 207 | #define PUREBEG (char *) pure |
| 211 | 208 | ||
| @@ -222,10 +219,7 @@ static ptrdiff_t pure_bytes_used_before_overflow; | |||
| 222 | /* Value is non-zero if P points into pure space. */ | 219 | /* Value is non-zero if P points into pure space. */ |
| 223 | 220 | ||
| 224 | #define PURE_POINTER_P(P) \ | 221 | #define PURE_POINTER_P(P) \ |
| 225 | (((PNTR_COMPARISON_TYPE) (P) \ | 222 | ((uintptr_t) (P) - (uintptr_t) purebeg <= pure_size) |
| 226 | < (PNTR_COMPARISON_TYPE) ((char *) purebeg + pure_size)) \ | ||
| 227 | && ((PNTR_COMPARISON_TYPE) (P) \ | ||
| 228 | >= (PNTR_COMPARISON_TYPE) purebeg)) | ||
| 229 | 223 | ||
| 230 | /* Index in pure at which next pure Lisp object will be allocated.. */ | 224 | /* Index in pure at which next pure Lisp object will be allocated.. */ |
| 231 | 225 | ||
diff --git a/src/bidi.c b/src/bidi.c index e688637a408..e0337927ec5 100644 --- a/src/bidi.c +++ b/src/bidi.c | |||
| @@ -51,7 +51,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 51 | 51 | ||
| 52 | A note about references to UAX#9 rules: if the reference says | 52 | A note about references to UAX#9 rules: if the reference says |
| 53 | something like "X9/Retaining", it means that you need to refer to | 53 | something like "X9/Retaining", it means that you need to refer to |
| 54 | rule X9 and to its modifications decribed in the "Implementation | 54 | rule X9 and to its modifications described in the "Implementation |
| 55 | Notes" section of UAX#9, under "Retaining Format Codes". */ | 55 | Notes" section of UAX#9, under "Retaining Format Codes". */ |
| 56 | 56 | ||
| 57 | #include <config.h> | 57 | #include <config.h> |
diff --git a/src/buffer.c b/src/buffer.c index 90b43d29fc8..a327a1650f1 100644 --- a/src/buffer.c +++ b/src/buffer.c | |||
| @@ -4400,7 +4400,7 @@ static int mmap_fd_1; | |||
| 4400 | 4400 | ||
| 4401 | static int mmap_page_size; | 4401 | static int mmap_page_size; |
| 4402 | 4402 | ||
| 4403 | /* 1 means mmap has been intialized. */ | 4403 | /* 1 means mmap has been initialized. */ |
| 4404 | 4404 | ||
| 4405 | static int mmap_initialized_p; | 4405 | static int mmap_initialized_p; |
| 4406 | 4406 | ||
| @@ -4439,7 +4439,7 @@ static int mmap_initialized_p; | |||
| 4439 | #define MMAP_ALLOCATED_P(start, end) 1 | 4439 | #define MMAP_ALLOCATED_P(start, end) 1 |
| 4440 | #endif | 4440 | #endif |
| 4441 | 4441 | ||
| 4442 | /* Perform necessary intializations for the use of mmap. */ | 4442 | /* Perform necessary initializations for the use of mmap. */ |
| 4443 | 4443 | ||
| 4444 | static void | 4444 | static void |
| 4445 | mmap_init (void) | 4445 | mmap_init (void) |
diff --git a/src/buffer.h b/src/buffer.h index a6b82abf053..fa65a4b81fd 100644 --- a/src/buffer.h +++ b/src/buffer.h | |||
| @@ -978,7 +978,7 @@ extern int last_per_buffer_idx; | |||
| 978 | variable has an index > 0 associated with it, except when it always | 978 | variable has an index > 0 associated with it, except when it always |
| 979 | has buffer-local values, in which case the index is -1. If this is | 979 | has buffer-local values, in which case the index is -1. If this is |
| 980 | 0, this is a bug and means that the slot of VAR in | 980 | 0, this is a bug and means that the slot of VAR in |
| 981 | buffer_local_flags wasn't intiialized. */ | 981 | buffer_local_flags wasn't initialized. */ |
| 982 | 982 | ||
| 983 | #define PER_BUFFER_VAR_IDX(VAR) \ | 983 | #define PER_BUFFER_VAR_IDX(VAR) \ |
| 984 | PER_BUFFER_IDX (PER_BUFFER_VAR_OFFSET (VAR)) | 984 | PER_BUFFER_IDX (PER_BUFFER_VAR_OFFSET (VAR)) |
diff --git a/src/casetab.c b/src/casetab.c index 3433b313c03..575a48ed146 100644 --- a/src/casetab.c +++ b/src/casetab.c | |||
| @@ -95,7 +95,7 @@ CANONICALIZE maps each character to a canonical equivalent; | |||
| 95 | any two characters that are related by case-conversion have the same | 95 | any two characters that are related by case-conversion have the same |
| 96 | canonical equivalent character; it may be nil, in which case it is | 96 | canonical equivalent character; it may be nil, in which case it is |
| 97 | deduced from DOWNCASE and UPCASE. | 97 | deduced from DOWNCASE and UPCASE. |
| 98 | EQUIVALENCES is a map that cyclicly permutes each equivalence class | 98 | EQUIVALENCES is a map that cyclically permutes each equivalence class |
| 99 | (of characters with the same canonical equivalent); it may be nil, | 99 | (of characters with the same canonical equivalent); it may be nil, |
| 100 | in which case it is deduced from CANONICALIZE. */) | 100 | in which case it is deduced from CANONICALIZE. */) |
| 101 | (Lisp_Object table) | 101 | (Lisp_Object table) |
| @@ -47,7 +47,7 @@ static Lisp_Object Qcode_conversion_map; | |||
| 47 | static Lisp_Object Qcode_conversion_map_id; | 47 | static Lisp_Object Qcode_conversion_map_id; |
| 48 | 48 | ||
| 49 | /* Symbols of ccl program have this property, a value of the property | 49 | /* Symbols of ccl program have this property, a value of the property |
| 50 | is an index for Vccl_protram_table. */ | 50 | is an index for Vccl_program_table. */ |
| 51 | static Lisp_Object Qccl_program_idx; | 51 | static Lisp_Object Qccl_program_idx; |
| 52 | 52 | ||
| 53 | /* Table of registered CCL programs. Each element is a vector of | 53 | /* Table of registered CCL programs. Each element is a vector of |
| @@ -826,7 +826,7 @@ while (0) | |||
| 826 | : (charset = CHARSET_FROM_ID ((id)), DECODE_CHAR (charset, (code)))) | 826 | : (charset = CHARSET_FROM_ID ((id)), DECODE_CHAR (charset, (code)))) |
| 827 | 827 | ||
| 828 | /* Encode character C by some of charsets in CHARSET_LIST. Set ID to | 828 | /* Encode character C by some of charsets in CHARSET_LIST. Set ID to |
| 829 | the id of the used charset, ENCODED to the resulf of encoding. | 829 | the id of the used charset, ENCODED to the result of encoding. |
| 830 | Assume that we can use the variable `charset'. */ | 830 | Assume that we can use the variable `charset'. */ |
| 831 | 831 | ||
| 832 | #define CCL_ENCODE_CHAR(c, charset_list, id, encoded) \ | 832 | #define CCL_ENCODE_CHAR(c, charset_list, id, encoded) \ |
diff --git a/src/character.c b/src/character.c index a21760c8ab2..88b1f11b96b 100644 --- a/src/character.c +++ b/src/character.c | |||
| @@ -669,7 +669,7 @@ str_as_multibyte (unsigned char *str, EMACS_INT len, EMACS_INT nbytes, | |||
| 669 | } | 669 | } |
| 670 | 670 | ||
| 671 | /* Parse unibyte string at STR of LEN bytes, and return the number of | 671 | /* Parse unibyte string at STR of LEN bytes, and return the number of |
| 672 | bytes it may ocupy when converted to multibyte string by | 672 | bytes it may occupy when converted to multibyte string by |
| 673 | `str_to_multibyte'. */ | 673 | `str_to_multibyte'. */ |
| 674 | 674 | ||
| 675 | EMACS_INT | 675 | EMACS_INT |
diff --git a/src/character.h b/src/character.h index 09bcf17ab96..5ae6cb8c49c 100644 --- a/src/character.h +++ b/src/character.h | |||
| @@ -596,7 +596,7 @@ sanitize_char_width (EMACS_INT width) | |||
| 596 | ? ASCII_CHAR_WIDTH (c) \ | 596 | ? ASCII_CHAR_WIDTH (c) \ |
| 597 | : sanitize_char_width (XINT (CHAR_TABLE_REF (Vchar_width_table, c)))) | 597 | : sanitize_char_width (XINT (CHAR_TABLE_REF (Vchar_width_table, c)))) |
| 598 | 598 | ||
| 599 | /* If C is a variation selector, return the index numnber of the | 599 | /* If C is a variation selector, return the index of the |
| 600 | variation selector (1..256). Otherwise, return 0. */ | 600 | variation selector (1..256). Otherwise, return 0. */ |
| 601 | 601 | ||
| 602 | #define CHAR_VARIATION_SELECTOR_P(c) \ | 602 | #define CHAR_VARIATION_SELECTOR_P(c) \ |
diff --git a/src/charset.c b/src/charset.c index 266753f9d05..b6921a762b6 100644 --- a/src/charset.c +++ b/src/charset.c | |||
| @@ -2082,7 +2082,7 @@ that case, find the charset from what supported by that coding system. */) | |||
| 2082 | DEFUN ("charset-after", Fcharset_after, Scharset_after, 0, 1, 0, | 2082 | DEFUN ("charset-after", Fcharset_after, Scharset_after, 0, 1, 0, |
| 2083 | doc: /* | 2083 | doc: /* |
| 2084 | Return charset of a character in the current buffer at position POS. | 2084 | Return charset of a character in the current buffer at position POS. |
| 2085 | If POS is nil, it defauls to the current point. | 2085 | If POS is nil, it defaults to the current point. |
| 2086 | If POS is out of range, the value is nil. */) | 2086 | If POS is out of range, the value is nil. */) |
| 2087 | (Lisp_Object pos) | 2087 | (Lisp_Object pos) |
| 2088 | { | 2088 | { |
diff --git a/src/chartab.c b/src/chartab.c index 724b3076a11..8d903749284 100644 --- a/src/chartab.c +++ b/src/chartab.c | |||
| @@ -747,7 +747,7 @@ equivalent and can be merged. It defaults to `equal'. */) | |||
| 747 | ARG is passed to C_FUNCTION when that is called. | 747 | ARG is passed to C_FUNCTION when that is called. |
| 748 | 748 | ||
| 749 | It returns the value of last character covered by TABLE (not the | 749 | It returns the value of last character covered by TABLE (not the |
| 750 | value inheritted from the parent), and by side-effect, the car part | 750 | value inherited from the parent), and by side-effect, the car part |
| 751 | of RANGE is updated to the minimum character C where C and all the | 751 | of RANGE is updated to the minimum character C where C and all the |
| 752 | following characters in TABLE have the same value. */ | 752 | following characters in TABLE have the same value. */ |
| 753 | 753 | ||
diff --git a/src/dbusbind.c b/src/dbusbind.c index 52e08d8ee2a..7984be3564b 100644 --- a/src/dbusbind.c +++ b/src/dbusbind.c | |||
| @@ -184,7 +184,7 @@ static int xd_in_read_queued_messages = 0; | |||
| 184 | #endif | 184 | #endif |
| 185 | 185 | ||
| 186 | /* This was a macro. On Solaris 2.11 it was said to compile for | 186 | /* This was a macro. On Solaris 2.11 it was said to compile for |
| 187 | hours, when optimzation is enabled. So we have transferred it into | 187 | hours, when optimization is enabled. So we have transferred it into |
| 188 | a function. */ | 188 | a function. */ |
| 189 | /* Determine the DBusType of a given Lisp symbol. OBJECT must be one | 189 | /* Determine the DBusType of a given Lisp symbol. OBJECT must be one |
| 190 | of the predefined D-Bus type symbols. */ | 190 | of the predefined D-Bus type symbols. */ |
diff --git a/src/dispextern.h b/src/dispextern.h index 006ceb31a5a..a45c5cc138f 100644 --- a/src/dispextern.h +++ b/src/dispextern.h | |||
| @@ -2677,11 +2677,11 @@ struct redisplay_interface | |||
| 2677 | void (*flush_display) (struct frame *f); | 2677 | void (*flush_display) (struct frame *f); |
| 2678 | 2678 | ||
| 2679 | /* Flush the display of frame F if non-NULL. This is called | 2679 | /* Flush the display of frame F if non-NULL. This is called |
| 2680 | during redisplay, and should be NULL on systems which flushes | 2680 | during redisplay, and should be NULL on systems which flush |
| 2681 | automatically before reading input. */ | 2681 | automatically before reading input. */ |
| 2682 | void (*flush_display_optional) (struct frame *f); | 2682 | void (*flush_display_optional) (struct frame *f); |
| 2683 | 2683 | ||
| 2684 | /* Clear the mouse hightlight in window W, if there is any. */ | 2684 | /* Clear the mouse highlight in window W, if there is any. */ |
| 2685 | void (*clear_window_mouse_face) (struct window *w); | 2685 | void (*clear_window_mouse_face) (struct window *w); |
| 2686 | 2686 | ||
| 2687 | /* Set *LEFT and *RIGHT to the left and right overhang of GLYPH on | 2687 | /* Set *LEFT and *RIGHT to the left and right overhang of GLYPH on |
| @@ -3154,6 +3154,9 @@ void compute_fringe_widths (struct frame *, int); | |||
| 3154 | void w32_init_fringe (struct redisplay_interface *); | 3154 | void w32_init_fringe (struct redisplay_interface *); |
| 3155 | void w32_reset_fringes (void); | 3155 | void w32_reset_fringes (void); |
| 3156 | #endif | 3156 | #endif |
| 3157 | |||
| 3158 | extern unsigned row_hash (struct glyph_row *); | ||
| 3159 | |||
| 3157 | /* Defined in image.c */ | 3160 | /* Defined in image.c */ |
| 3158 | 3161 | ||
| 3159 | #ifdef HAVE_WINDOW_SYSTEM | 3162 | #ifdef HAVE_WINDOW_SYSTEM |
diff --git a/src/dispnew.c b/src/dispnew.c index 700952f6ae3..b920693688c 100644 --- a/src/dispnew.c +++ b/src/dispnew.c | |||
| @@ -438,18 +438,7 @@ margin_glyphs_to_reserve (struct window *w, int total_glyphs, Lisp_Object margin | |||
| 438 | int | 438 | int |
| 439 | verify_row_hash (struct glyph_row *row) | 439 | verify_row_hash (struct glyph_row *row) |
| 440 | { | 440 | { |
| 441 | int area, k; | 441 | return row->hash == row_hash (row); |
| 442 | unsigned row_hash = 0; | ||
| 443 | |||
| 444 | for (area = LEFT_MARGIN_AREA; area < LAST_AREA; ++area) | ||
| 445 | for (k = 0; k < row->used[area]; ++k) | ||
| 446 | row_hash = ((((row_hash << 4) + (row_hash >> 24)) & 0x0fffffff) | ||
| 447 | + row->glyphs[area][k].u.val | ||
| 448 | + row->glyphs[area][k].face_id | ||
| 449 | + row->glyphs[area][k].padding_p | ||
| 450 | + (row->glyphs[area][k].type << 2)); | ||
| 451 | |||
| 452 | return row_hash == row->hash; | ||
| 453 | } | 442 | } |
| 454 | #endif | 443 | #endif |
| 455 | 444 | ||
| @@ -1087,37 +1076,55 @@ swap_glyphs_in_rows (struct glyph_row *a, struct glyph_row *b) | |||
| 1087 | 1076 | ||
| 1088 | #endif /* 0 */ | 1077 | #endif /* 0 */ |
| 1089 | 1078 | ||
| 1090 | /* Exchange pointers to glyph memory between glyph rows A and B. */ | 1079 | /* Exchange pointers to glyph memory between glyph rows A and B. Also |
| 1080 | exchange the used[] array and the hash values of the rows, because | ||
| 1081 | these should all go together for the row's hash value to be | ||
| 1082 | correct. */ | ||
| 1091 | 1083 | ||
| 1092 | static inline void | 1084 | static inline void |
| 1093 | swap_glyph_pointers (struct glyph_row *a, struct glyph_row *b) | 1085 | swap_glyph_pointers (struct glyph_row *a, struct glyph_row *b) |
| 1094 | { | 1086 | { |
| 1095 | int i; | 1087 | int i; |
| 1088 | unsigned hash_tem = a->hash; | ||
| 1089 | |||
| 1096 | for (i = 0; i < LAST_AREA + 1; ++i) | 1090 | for (i = 0; i < LAST_AREA + 1; ++i) |
| 1097 | { | 1091 | { |
| 1098 | struct glyph *temp = a->glyphs[i]; | 1092 | struct glyph *temp = a->glyphs[i]; |
| 1093 | short used_tem = a->used[i]; | ||
| 1094 | |||
| 1099 | a->glyphs[i] = b->glyphs[i]; | 1095 | a->glyphs[i] = b->glyphs[i]; |
| 1100 | b->glyphs[i] = temp; | 1096 | b->glyphs[i] = temp; |
| 1097 | a->used[i] = b->used[i]; | ||
| 1098 | b->used[i] = used_tem; | ||
| 1101 | } | 1099 | } |
| 1100 | a->hash = b->hash; | ||
| 1101 | b->hash = hash_tem; | ||
| 1102 | } | 1102 | } |
| 1103 | 1103 | ||
| 1104 | 1104 | ||
| 1105 | /* Copy glyph row structure FROM to glyph row structure TO, except | 1105 | /* Copy glyph row structure FROM to glyph row structure TO, except |
| 1106 | that glyph pointers in the structures are left unchanged. */ | 1106 | that glyph pointers, the `used' counts, and the hash values in the |
| 1107 | structures are left unchanged. */ | ||
| 1107 | 1108 | ||
| 1108 | static inline void | 1109 | static inline void |
| 1109 | copy_row_except_pointers (struct glyph_row *to, struct glyph_row *from) | 1110 | copy_row_except_pointers (struct glyph_row *to, struct glyph_row *from) |
| 1110 | { | 1111 | { |
| 1111 | struct glyph *pointers[1 + LAST_AREA]; | 1112 | struct glyph *pointers[1 + LAST_AREA]; |
| 1113 | short used[1 + LAST_AREA]; | ||
| 1114 | unsigned hashval; | ||
| 1112 | 1115 | ||
| 1113 | /* Save glyph pointers of TO. */ | 1116 | /* Save glyph pointers of TO. */ |
| 1114 | memcpy (pointers, to->glyphs, sizeof to->glyphs); | 1117 | memcpy (pointers, to->glyphs, sizeof to->glyphs); |
| 1118 | memcpy (used, to->used, sizeof to->used); | ||
| 1119 | hashval = to->hash; | ||
| 1115 | 1120 | ||
| 1116 | /* Do a structure assignment. */ | 1121 | /* Do a structure assignment. */ |
| 1117 | *to = *from; | 1122 | *to = *from; |
| 1118 | 1123 | ||
| 1119 | /* Restore original pointers of TO. */ | 1124 | /* Restore original pointers of TO. */ |
| 1120 | memcpy (to->glyphs, pointers, sizeof to->glyphs); | 1125 | memcpy (to->glyphs, pointers, sizeof to->glyphs); |
| 1126 | memcpy (to->used, used, sizeof to->used); | ||
| 1127 | to->hash = hashval; | ||
| 1121 | } | 1128 | } |
| 1122 | 1129 | ||
| 1123 | 1130 | ||
| @@ -4240,6 +4247,7 @@ add_row_entry (struct glyph_row *row) | |||
| 4240 | ptrdiff_t i = row->hash % row_table_size; | 4247 | ptrdiff_t i = row->hash % row_table_size; |
| 4241 | 4248 | ||
| 4242 | entry = row_table[i]; | 4249 | entry = row_table[i]; |
| 4250 | xassert (entry || verify_row_hash (row)); | ||
| 4243 | while (entry && !row_equal_p (entry->row, row, 1)) | 4251 | while (entry && !row_equal_p (entry->row, row, 1)) |
| 4244 | entry = entry->next; | 4252 | entry = entry->next; |
| 4245 | 4253 | ||
diff --git a/src/fileio.c b/src/fileio.c index 44a85ab1977..7e75e6285f0 100644 --- a/src/fileio.c +++ b/src/fileio.c | |||
| @@ -62,7 +62,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 62 | 62 | ||
| 63 | #ifdef DOS_NT | 63 | #ifdef DOS_NT |
| 64 | /* On Windows, drive letters must be alphabetic - on DOS, the Netware | 64 | /* On Windows, drive letters must be alphabetic - on DOS, the Netware |
| 65 | redirector allows the six letters between 'Z' and 'a' as well. */ | 65 | redirector allows the six letters between 'Z' and 'a' as well. */ |
| 66 | #ifdef MSDOS | 66 | #ifdef MSDOS |
| 67 | #define IS_DRIVE(x) ((x) >= 'A' && (x) <= 'z') | 67 | #define IS_DRIVE(x) ((x) >= 'A' && (x) <= 'z') |
| 68 | #endif | 68 | #endif |
| @@ -70,7 +70,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 70 | #define IS_DRIVE(x) isalpha ((unsigned char) (x)) | 70 | #define IS_DRIVE(x) isalpha ((unsigned char) (x)) |
| 71 | #endif | 71 | #endif |
| 72 | /* Need to lower-case the drive letter, or else expanded | 72 | /* Need to lower-case the drive letter, or else expanded |
| 73 | filenames will sometimes compare inequal, because | 73 | filenames will sometimes compare unequal, because |
| 74 | `expand-file-name' doesn't always down-case the drive letter. */ | 74 | `expand-file-name' doesn't always down-case the drive letter. */ |
| 75 | #define DRIVE_LETTER(x) (tolower ((unsigned char) (x))) | 75 | #define DRIVE_LETTER(x) (tolower ((unsigned char) (x))) |
| 76 | #endif | 76 | #endif |
| @@ -338,7 +338,7 @@ Given a Unix syntax file name, returns a string ending in slash. */) | |||
| 338 | 338 | ||
| 339 | while (p != beg && !IS_DIRECTORY_SEP (p[-1]) | 339 | while (p != beg && !IS_DIRECTORY_SEP (p[-1]) |
| 340 | #ifdef DOS_NT | 340 | #ifdef DOS_NT |
| 341 | /* only recognise drive specifier at the beginning */ | 341 | /* only recognize drive specifier at the beginning */ |
| 342 | && !(p[-1] == ':' | 342 | && !(p[-1] == ':' |
| 343 | /* handle the "/:d:foo" and "/:foo" cases correctly */ | 343 | /* handle the "/:d:foo" and "/:foo" cases correctly */ |
| 344 | && ((p == beg + 2 && !IS_DIRECTORY_SEP (*beg)) | 344 | && ((p == beg + 2 && !IS_DIRECTORY_SEP (*beg)) |
| @@ -401,7 +401,7 @@ or the entire name if it contains no slash. */) | |||
| 401 | 401 | ||
| 402 | while (p != beg && !IS_DIRECTORY_SEP (p[-1]) | 402 | while (p != beg && !IS_DIRECTORY_SEP (p[-1]) |
| 403 | #ifdef DOS_NT | 403 | #ifdef DOS_NT |
| 404 | /* only recognise drive specifier at beginning */ | 404 | /* only recognize drive specifier at beginning */ |
| 405 | && !(p[-1] == ':' | 405 | && !(p[-1] == ':' |
| 406 | /* handle the "/:d:foo" case correctly */ | 406 | /* handle the "/:d:foo" case correctly */ |
| 407 | && (p == beg + 2 || (p == beg + 4 && IS_DIRECTORY_SEP (*beg)))) | 407 | && (p == beg + 2 || (p == beg + 4 && IS_DIRECTORY_SEP (*beg)))) |
| @@ -3686,6 +3686,7 @@ variable `last-coding-system-used' to the coding system actually used. */) | |||
| 3686 | int this_count = SPECPDL_INDEX (); | 3686 | int this_count = SPECPDL_INDEX (); |
| 3687 | int multibyte = ! NILP (BVAR (current_buffer, enable_multibyte_characters)); | 3687 | int multibyte = ! NILP (BVAR (current_buffer, enable_multibyte_characters)); |
| 3688 | Lisp_Object conversion_buffer; | 3688 | Lisp_Object conversion_buffer; |
| 3689 | struct gcpro gcpro1; | ||
| 3689 | 3690 | ||
| 3690 | conversion_buffer = code_conversion_save (1, multibyte); | 3691 | conversion_buffer = code_conversion_save (1, multibyte); |
| 3691 | 3692 | ||
| @@ -3706,7 +3707,7 @@ variable `last-coding-system-used' to the coding system actually used. */) | |||
| 3706 | { | 3707 | { |
| 3707 | /* We read one bunch by one (READ_BUF_SIZE bytes) to allow | 3708 | /* We read one bunch by one (READ_BUF_SIZE bytes) to allow |
| 3708 | quitting while reading a huge while. */ | 3709 | quitting while reading a huge while. */ |
| 3709 | /* try is reserved in some compilers (Microsoft C) */ | 3710 | /* `try'' is reserved in some compilers (Microsoft C). */ |
| 3710 | EMACS_INT trytry = min (total - how_much, | 3711 | EMACS_INT trytry = min (total - how_much, |
| 3711 | READ_BUF_SIZE - unprocessed); | 3712 | READ_BUF_SIZE - unprocessed); |
| 3712 | 3713 | ||
| @@ -3252,7 +3252,7 @@ DEFUN ("base64-decode-string", Fbase64_decode_string, Sbase64_decode_string, | |||
| 3252 | return decoded_string; | 3252 | return decoded_string; |
| 3253 | } | 3253 | } |
| 3254 | 3254 | ||
| 3255 | /* Base64-decode the data at FROM of LENGHT bytes into TO. If | 3255 | /* Base64-decode the data at FROM of LENGTH bytes into TO. If |
| 3256 | MULTIBYTE is nonzero, the decoded result should be in multibyte | 3256 | MULTIBYTE is nonzero, the decoded result should be in multibyte |
| 3257 | form. If NCHARS_RETRUN is not NULL, store the number of produced | 3257 | form. If NCHARS_RETRUN is not NULL, store the number of produced |
| 3258 | characters in *NCHARS_RETURN. */ | 3258 | characters in *NCHARS_RETURN. */ |
diff --git a/src/fontset.c b/src/fontset.c index 34b2131832f..9697f62ea72 100644 --- a/src/fontset.c +++ b/src/fontset.c | |||
| @@ -905,7 +905,7 @@ face_suitable_for_char_p (struct face *face, int c) | |||
| 905 | 905 | ||
| 906 | 906 | ||
| 907 | /* Return ID of face suitable for displaying character C on frame F. | 907 | /* Return ID of face suitable for displaying character C on frame F. |
| 908 | FACE must be reazlied for ASCII characters in advance. Called from | 908 | FACE must be realized for ASCII characters in advance. Called from |
| 909 | the macro FACE_FOR_CHAR. */ | 909 | the macro FACE_FOR_CHAR. */ |
| 910 | 910 | ||
| 911 | int | 911 | int |
| @@ -1346,7 +1346,7 @@ accumulate_script_ranges (Lisp_Object arg, Lisp_Object range, Lisp_Object val) | |||
| 1346 | 1346 | ||
| 1347 | In FONTSET, set FONT_DEF in a fashion specified by ADD for | 1347 | In FONTSET, set FONT_DEF in a fashion specified by ADD for |
| 1348 | characters in RANGE and ranges in SCRIPT_RANGE_LIST before RANGE. | 1348 | characters in RANGE and ranges in SCRIPT_RANGE_LIST before RANGE. |
| 1349 | The consumed ranges are poped up from SCRIPT_RANGE_LIST, and the | 1349 | The consumed ranges are popped up from SCRIPT_RANGE_LIST, and the |
| 1350 | new SCRIPT_RANGE_LIST is stored in ARG. | 1350 | new SCRIPT_RANGE_LIST is stored in ARG. |
| 1351 | 1351 | ||
| 1352 | If ASCII is nil, don't set FONT_DEF for ASCII characters. It is | 1352 | If ASCII is nil, don't set FONT_DEF for ASCII characters. It is |
diff --git a/src/frame.c b/src/frame.c index c14f4db91da..039ed6543cb 100644 --- a/src/frame.c +++ b/src/frame.c | |||
| @@ -374,7 +374,7 @@ make_frame (int mini_p) | |||
| 374 | 374 | ||
| 375 | /* Use set_window_buffer, not Fset_window_buffer, and don't let | 375 | /* Use set_window_buffer, not Fset_window_buffer, and don't let |
| 376 | hooks be run by it. The reason is that the whole frame/window | 376 | hooks be run by it. The reason is that the whole frame/window |
| 377 | arrangement is not yet fully intialized at this point. Windows | 377 | arrangement is not yet fully initialized at this point. Windows |
| 378 | don't have the right size, glyph matrices aren't initialized | 378 | don't have the right size, glyph matrices aren't initialized |
| 379 | etc. Running Lisp functions at this point surely ends in a | 379 | etc. Running Lisp functions at this point surely ends in a |
| 380 | SEGV. */ | 380 | SEGV. */ |
| @@ -1359,6 +1359,13 @@ delete_frame (Lisp_Object frame, Lisp_Object force) | |||
| 1359 | /* If needed, delete the terminal that this frame was on. | 1359 | /* If needed, delete the terminal that this frame was on. |
| 1360 | (This must be done after the frame is killed.) */ | 1360 | (This must be done after the frame is killed.) */ |
| 1361 | terminal->reference_count--; | 1361 | terminal->reference_count--; |
| 1362 | #ifdef USE_GTK | ||
| 1363 | /* FIXME: Deleting the terminal crashes emacs because of a GTK | ||
| 1364 | bug. | ||
| 1365 | http://lists.gnu.org/archive/html/emacs-devel/2011-10/msg00363.html */ | ||
| 1366 | if (terminal->reference_count == 0 && terminal->type == output_x_window) | ||
| 1367 | terminal->reference_count = 1; | ||
| 1368 | #endif /* USE_GTK */ | ||
| 1362 | if (terminal->reference_count == 0) | 1369 | if (terminal->reference_count == 0) |
| 1363 | { | 1370 | { |
| 1364 | Lisp_Object tmp; | 1371 | Lisp_Object tmp; |
| @@ -1705,7 +1712,7 @@ If omitted, FRAME defaults to the currently selected frame. */) | |||
| 1705 | } | 1712 | } |
| 1706 | 1713 | ||
| 1707 | /* Update the display_time slot of the buffers shown in WINDOW | 1714 | /* Update the display_time slot of the buffers shown in WINDOW |
| 1708 | and all its descendents. */ | 1715 | and all its descendants. */ |
| 1709 | 1716 | ||
| 1710 | static void | 1717 | static void |
| 1711 | make_frame_visible_1 (Lisp_Object window) | 1718 | make_frame_visible_1 (Lisp_Object window) |
diff --git a/src/ftfont.c b/src/ftfont.c index 7858a31be21..5c540f9bf82 100644 --- a/src/ftfont.c +++ b/src/ftfont.c | |||
| @@ -272,7 +272,7 @@ ftfont_pattern_entity (FcPattern *p, Lisp_Object extra) | |||
| 272 | } | 272 | } |
| 273 | else | 273 | else |
| 274 | { | 274 | { |
| 275 | /* As this font is not scalable, parhaps this is a BDF or PCF | 275 | /* As this font is not scalable, perhaps this is a BDF or PCF |
| 276 | font. */ | 276 | font. */ |
| 277 | FT_Face ft_face; | 277 | FT_Face ft_face; |
| 278 | 278 | ||
| @@ -730,7 +730,7 @@ ftfont_spec_pattern (Lisp_Object spec, char *otlayout, struct OpenTypeSpec **ots | |||
| 730 | 730 | ||
| 731 | if ((n = FONT_SLANT_NUMERIC (spec)) >= 0 | 731 | if ((n = FONT_SLANT_NUMERIC (spec)) >= 0 |
| 732 | && n < 100) | 732 | && n < 100) |
| 733 | /* Fontconfig doesn't support reverse-italic/obligue. */ | 733 | /* Fontconfig doesn't support reverse-italic/oblique. */ |
| 734 | return NULL; | 734 | return NULL; |
| 735 | 735 | ||
| 736 | if (INTEGERP (AREF (spec, FONT_DPI_INDEX))) | 736 | if (INTEGERP (AREF (spec, FONT_DPI_INDEX))) |
diff --git a/src/ftxfont.c b/src/ftxfont.c index bbba3ca8163..608cfd8d44d 100644 --- a/src/ftxfont.c +++ b/src/ftxfont.c | |||
| @@ -55,7 +55,7 @@ struct ftxfont_frame_data | |||
| 55 | { | 55 | { |
| 56 | /* Background and foreground colors. */ | 56 | /* Background and foreground colors. */ |
| 57 | XColor colors[2]; | 57 | XColor colors[2]; |
| 58 | /* GCs interporationg the above colors. gcs[0] is for a color | 58 | /* GCs interpolating the above colors. gcs[0] is for a color |
| 59 | closest to BACKGROUND, and gcs[5] is for a color closest to | 59 | closest to BACKGROUND, and gcs[5] is for a color closest to |
| 60 | FOREGROUND. */ | 60 | FOREGROUND. */ |
| 61 | GC gcs[6]; | 61 | GC gcs[6]; |
diff --git a/src/gtkutil.c b/src/gtkutil.c index 0b7fd41f5f6..7e6f5c3164d 100644 --- a/src/gtkutil.c +++ b/src/gtkutil.c | |||
| @@ -127,7 +127,7 @@ xg_set_screen (GtkWidget *w, FRAME_PTR f) | |||
| 127 | 127 | ||
| 128 | Returns non-zero if display could be opened, zero if display could not | 128 | Returns non-zero if display could be opened, zero if display could not |
| 129 | be opened, and less than zero if the GTK version doesn't support | 129 | be opened, and less than zero if the GTK version doesn't support |
| 130 | multipe displays. */ | 130 | multiple displays. */ |
| 131 | 131 | ||
| 132 | void | 132 | void |
| 133 | xg_display_open (char *display_name, Display **dpy) | 133 | xg_display_open (char *display_name, Display **dpy) |
| @@ -348,7 +348,7 @@ file_for_image (Lisp_Object image) | |||
| 348 | 348 | ||
| 349 | /* For the image defined in IMG, make and return a GtkImage. For displays with | 349 | /* For the image defined in IMG, make and return a GtkImage. For displays with |
| 350 | 8 planes or less we must make a GdkPixbuf and apply the mask manually. | 350 | 8 planes or less we must make a GdkPixbuf and apply the mask manually. |
| 351 | Otherwise the highlightning and dimming the tool bar code in GTK does | 351 | Otherwise the highlighting and dimming the tool bar code in GTK does |
| 352 | will look bad. For display with more than 8 planes we just use the | 352 | will look bad. For display with more than 8 planes we just use the |
| 353 | pixmap and mask directly. For monochrome displays, GTK doesn't seem | 353 | pixmap and mask directly. For monochrome displays, GTK doesn't seem |
| 354 | able to use external pixmaps, it looks bad whatever we do. | 354 | able to use external pixmaps, it looks bad whatever we do. |
| @@ -2363,7 +2363,7 @@ xg_create_one_menuitem (widget_value *item, | |||
| 2363 | HIGHLIGHT_CB is the callback to call when entering/leaving menu items. | 2363 | HIGHLIGHT_CB is the callback to call when entering/leaving menu items. |
| 2364 | POP_UP_P is non-zero if we shall create a popup menu. | 2364 | POP_UP_P is non-zero if we shall create a popup menu. |
| 2365 | MENU_BAR_P is non-zero if we shall create a menu bar. | 2365 | MENU_BAR_P is non-zero if we shall create a menu bar. |
| 2366 | ADD_TEAROFF_P is non-zero if we shall add a teroff menu item. Ignored | 2366 | ADD_TEAROFF_P is non-zero if we shall add a tearoff menu item. Ignored |
| 2367 | if MENU_BAR_P is non-zero. | 2367 | if MENU_BAR_P is non-zero. |
| 2368 | TOPMENU is the topmost GtkWidget that others shall be placed under. | 2368 | TOPMENU is the topmost GtkWidget that others shall be placed under. |
| 2369 | It may be NULL, in that case we create the appropriate widget | 2369 | It may be NULL, in that case we create the appropriate widget |
| @@ -4262,7 +4262,7 @@ xg_make_tool_item (FRAME_PTR f, | |||
| 4262 | #endif | 4262 | #endif |
| 4263 | gtk_tool_item_set_homogeneous (ti, FALSE); | 4263 | gtk_tool_item_set_homogeneous (ti, FALSE); |
| 4264 | 4264 | ||
| 4265 | /* Callback to save modifyer mask (Shift/Control, etc). GTK makes | 4265 | /* Callback to save modifier mask (Shift/Control, etc). GTK makes |
| 4266 | no distinction based on modifiers in the activate callback, | 4266 | no distinction based on modifiers in the activate callback, |
| 4267 | so we have to do it ourselves. */ | 4267 | so we have to do it ourselves. */ |
| 4268 | g_signal_connect (wb, "button-release-event", | 4268 | g_signal_connect (wb, "button-release-event", |
diff --git a/src/image.c b/src/image.c index e80f2b72102..8b61c7eefbc 100644 --- a/src/image.c +++ b/src/image.c | |||
| @@ -7754,7 +7754,7 @@ imagemagick_load_image (struct frame *f, struct image *img, | |||
| 7754 | } | 7754 | } |
| 7755 | 7755 | ||
| 7756 | /* Finally we are done manipulating the image. Figure out the | 7756 | /* Finally we are done manipulating the image. Figure out the |
| 7757 | resulting width/height and transfer ownerwship to Emacs. */ | 7757 | resulting width/height and transfer ownership to Emacs. */ |
| 7758 | height = MagickGetImageHeight (image_wand); | 7758 | height = MagickGetImageHeight (image_wand); |
| 7759 | width = MagickGetImageWidth (image_wand); | 7759 | width = MagickGetImageWidth (image_wand); |
| 7760 | 7760 | ||
| @@ -7786,7 +7786,7 @@ imagemagick_load_image (struct frame *f, struct image *img, | |||
| 7786 | goto imagemagick_error; | 7786 | goto imagemagick_error; |
| 7787 | } | 7787 | } |
| 7788 | 7788 | ||
| 7789 | /* Copy imagegmagick image to x with primitive yet robust pixel | 7789 | /* Copy imagemagick image to x with primitive yet robust pixel |
| 7790 | pusher loop. This has been tested a lot with many different | 7790 | pusher loop. This has been tested a lot with many different |
| 7791 | images. */ | 7791 | images. */ |
| 7792 | 7792 | ||
diff --git a/src/insdel.c b/src/insdel.c index 01e5c57b2b0..e39a362eac7 100644 --- a/src/insdel.c +++ b/src/insdel.c | |||
| @@ -1316,7 +1316,7 @@ replace_range (EMACS_INT from, EMACS_INT to, Lisp_Object new, | |||
| 1316 | 1316 | ||
| 1317 | UNGCPRO; | 1317 | UNGCPRO; |
| 1318 | 1318 | ||
| 1319 | /* Make args be valid */ | 1319 | /* Make args be valid. */ |
| 1320 | if (from < BEGV) | 1320 | if (from < BEGV) |
| 1321 | from = BEGV; | 1321 | from = BEGV; |
| 1322 | if (to > ZV) | 1322 | if (to > ZV) |
diff --git a/src/intervals.c b/src/intervals.c index a78c7f07f6c..05b7175ac3f 100644 --- a/src/intervals.c +++ b/src/intervals.c | |||
| @@ -1317,7 +1317,7 @@ interval_deletion_adjustment (register INTERVAL tree, register EMACS_INT from, | |||
| 1317 | if (NULL_INTERVAL_P (tree)) | 1317 | if (NULL_INTERVAL_P (tree)) |
| 1318 | return 0; | 1318 | return 0; |
| 1319 | 1319 | ||
| 1320 | /* Left branch */ | 1320 | /* Left branch. */ |
| 1321 | if (relative_position < LEFT_TOTAL_LENGTH (tree)) | 1321 | if (relative_position < LEFT_TOTAL_LENGTH (tree)) |
| 1322 | { | 1322 | { |
| 1323 | EMACS_INT subtract = interval_deletion_adjustment (tree->left, | 1323 | EMACS_INT subtract = interval_deletion_adjustment (tree->left, |
| @@ -1327,7 +1327,7 @@ interval_deletion_adjustment (register INTERVAL tree, register EMACS_INT from, | |||
| 1327 | CHECK_TOTAL_LENGTH (tree); | 1327 | CHECK_TOTAL_LENGTH (tree); |
| 1328 | return subtract; | 1328 | return subtract; |
| 1329 | } | 1329 | } |
| 1330 | /* Right branch */ | 1330 | /* Right branch. */ |
| 1331 | else if (relative_position >= (TOTAL_LENGTH (tree) | 1331 | else if (relative_position >= (TOTAL_LENGTH (tree) |
| 1332 | - RIGHT_TOTAL_LENGTH (tree))) | 1332 | - RIGHT_TOTAL_LENGTH (tree))) |
| 1333 | { | 1333 | { |
| @@ -1699,54 +1699,37 @@ graft_intervals_into_buffer (INTERVAL source, EMACS_INT position, | |||
| 1699 | Qnil, buf, 0); | 1699 | Qnil, buf, 0); |
| 1700 | } | 1700 | } |
| 1701 | if (! NULL_INTERVAL_P (BUF_INTERVALS (buffer))) | 1701 | if (! NULL_INTERVAL_P (BUF_INTERVALS (buffer))) |
| 1702 | /* Shouldn't be necessary. -stef */ | 1702 | /* Shouldn't be necessary. --Stef */ |
| 1703 | BUF_INTERVALS (buffer) = balance_an_interval (BUF_INTERVALS (buffer)); | 1703 | BUF_INTERVALS (buffer) = balance_an_interval (BUF_INTERVALS (buffer)); |
| 1704 | return; | 1704 | return; |
| 1705 | } | 1705 | } |
| 1706 | 1706 | ||
| 1707 | if (NULL_INTERVAL_P (tree)) | 1707 | eassert (length == TOTAL_LENGTH (source)); |
| 1708 | { | 1708 | |
| 1709 | /* The inserted text constitutes the whole buffer, so | 1709 | if ((BUF_Z (buffer) - BUF_BEG (buffer)) == length) |
| 1710 | { /* The inserted text constitutes the whole buffer, so | ||
| 1710 | simply copy over the interval structure. */ | 1711 | simply copy over the interval structure. */ |
| 1711 | if ((BUF_Z (buffer) - BUF_BEG (buffer)) == TOTAL_LENGTH (source)) | ||
| 1712 | { | ||
| 1713 | Lisp_Object buf; | 1712 | Lisp_Object buf; |
| 1714 | XSETBUFFER (buf, buffer); | 1713 | XSETBUFFER (buf, buffer); |
| 1715 | BUF_INTERVALS (buffer) = reproduce_tree_obj (source, buf); | 1714 | BUF_INTERVALS (buffer) = reproduce_tree_obj (source, buf); |
| 1716 | BUF_INTERVALS (buffer)->position = BEG; | 1715 | BUF_INTERVALS (buffer)->position = BUF_BEG (buffer); |
| 1717 | BUF_INTERVALS (buffer)->up_obj = 1; | 1716 | eassert (BUF_INTERVALS (buffer)->up_obj == 1); |
| 1718 | |||
| 1719 | return; | 1717 | return; |
| 1720 | } | 1718 | } |
| 1721 | 1719 | else if (NULL_INTERVAL_P (tree)) | |
| 1722 | /* Create an interval tree in which to place a copy | 1720 | { /* Create an interval tree in which to place a copy |
| 1723 | of the intervals of the inserted string. */ | 1721 | of the intervals of the inserted string. */ |
| 1724 | { | ||
| 1725 | Lisp_Object buf; | 1722 | Lisp_Object buf; |
| 1726 | XSETBUFFER (buf, buffer); | 1723 | XSETBUFFER (buf, buffer); |
| 1727 | tree = create_root_interval (buf); | 1724 | tree = create_root_interval (buf); |
| 1728 | } | 1725 | } |
| 1729 | } | ||
| 1730 | else if (TOTAL_LENGTH (tree) == TOTAL_LENGTH (source)) | ||
| 1731 | /* If the buffer contains only the new string, but | ||
| 1732 | there was already some interval tree there, then it may be | ||
| 1733 | some zero length intervals. Eventually, do something clever | ||
| 1734 | about inserting properly. For now, just waste the old intervals. */ | ||
| 1735 | { | ||
| 1736 | BUF_INTERVALS (buffer) = reproduce_tree (source, INTERVAL_PARENT (tree)); | ||
| 1737 | BUF_INTERVALS (buffer)->position = BEG; | ||
| 1738 | BUF_INTERVALS (buffer)->up_obj = 1; | ||
| 1739 | /* Explicitly free the old tree here. */ | ||
| 1740 | |||
| 1741 | return; | ||
| 1742 | } | ||
| 1743 | /* Paranoia -- the text has already been added, so this buffer | 1726 | /* Paranoia -- the text has already been added, so this buffer |
| 1744 | should be of non-zero length. */ | 1727 | should be of non-zero length. */ |
| 1745 | else if (TOTAL_LENGTH (tree) == 0) | 1728 | else if (TOTAL_LENGTH (tree) == 0) |
| 1746 | abort (); | 1729 | abort (); |
| 1747 | 1730 | ||
| 1748 | this = under = find_interval (tree, position); | 1731 | this = under = find_interval (tree, position); |
| 1749 | if (NULL_INTERVAL_P (under)) /* Paranoia */ | 1732 | if (NULL_INTERVAL_P (under)) /* Paranoia. */ |
| 1750 | abort (); | 1733 | abort (); |
| 1751 | over = find_interval (source, interval_start_pos (source)); | 1734 | over = find_interval (source, interval_start_pos (source)); |
| 1752 | 1735 | ||
| @@ -1917,7 +1900,7 @@ set_point (EMACS_INT charpos) | |||
| 1917 | current buffer, and the invisible property has a `stickiness' such that | 1900 | current buffer, and the invisible property has a `stickiness' such that |
| 1918 | inserting a character at position POS would inherit the property it, | 1901 | inserting a character at position POS would inherit the property it, |
| 1919 | return POS + ADJ, otherwise return POS. If TEST_INTANG is non-zero, | 1902 | return POS + ADJ, otherwise return POS. If TEST_INTANG is non-zero, |
| 1920 | then intangibility is required as well as invisibleness. | 1903 | then intangibility is required as well as invisibility. |
| 1921 | 1904 | ||
| 1922 | TEST_OFFS should be either 0 or -1, and ADJ should be either 1 or -1. | 1905 | TEST_OFFS should be either 0 or -1, and ADJ should be either 1 or -1. |
| 1923 | 1906 | ||
diff --git a/src/intervals.h b/src/intervals.h index 720598fe7a6..977f3d965a4 100644 --- a/src/intervals.h +++ b/src/intervals.h | |||
| @@ -64,71 +64,71 @@ struct interval | |||
| 64 | Lisp_Object plist; | 64 | Lisp_Object plist; |
| 65 | }; | 65 | }; |
| 66 | 66 | ||
| 67 | /* These are macros for dealing with the interval tree. */ | 67 | /* These are macros for dealing with the interval tree. */ |
| 68 | 68 | ||
| 69 | /* Size of the structure used to represent an interval */ | 69 | /* Size of the structure used to represent an interval. */ |
| 70 | #define INTERVAL_SIZE (sizeof (struct interval)) | 70 | #define INTERVAL_SIZE (sizeof (struct interval)) |
| 71 | 71 | ||
| 72 | /* Size of a pointer to an interval structure */ | 72 | /* Size of a pointer to an interval structure. */ |
| 73 | #define INTERVAL_PTR_SIZE (sizeof (struct interval *)) | 73 | #define INTERVAL_PTR_SIZE (sizeof (struct interval *)) |
| 74 | 74 | ||
| 75 | #define NULL_INTERVAL_P(i) ((i) == NULL_INTERVAL) | 75 | #define NULL_INTERVAL_P(i) ((i) == NULL_INTERVAL) |
| 76 | 76 | ||
| 77 | /* True if this interval has no right child. */ | 77 | /* True if this interval has no right child. */ |
| 78 | #define NULL_RIGHT_CHILD(i) ((i)->right == NULL_INTERVAL) | 78 | #define NULL_RIGHT_CHILD(i) ((i)->right == NULL_INTERVAL) |
| 79 | 79 | ||
| 80 | /* True if this interval has no left child. */ | 80 | /* True if this interval has no left child. */ |
| 81 | #define NULL_LEFT_CHILD(i) ((i)->left == NULL_INTERVAL) | 81 | #define NULL_LEFT_CHILD(i) ((i)->left == NULL_INTERVAL) |
| 82 | 82 | ||
| 83 | /* True if this interval has no parent. */ | 83 | /* True if this interval has no parent. */ |
| 84 | #define NULL_PARENT(i) ((i)->up_obj || (i)->up.interval == 0) | 84 | #define NULL_PARENT(i) ((i)->up_obj || (i)->up.interval == 0) |
| 85 | 85 | ||
| 86 | /* True if this interval is the left child of some other interval. */ | 86 | /* True if this interval is the left child of some other interval. */ |
| 87 | #define AM_LEFT_CHILD(i) (! NULL_PARENT (i) \ | 87 | #define AM_LEFT_CHILD(i) (! NULL_PARENT (i) \ |
| 88 | && INTERVAL_PARENT (i)->left == (i)) | 88 | && INTERVAL_PARENT (i)->left == (i)) |
| 89 | 89 | ||
| 90 | /* True if this interval is the right child of some other interval. */ | 90 | /* True if this interval is the right child of some other interval. */ |
| 91 | #define AM_RIGHT_CHILD(i) (! NULL_PARENT (i) \ | 91 | #define AM_RIGHT_CHILD(i) (! NULL_PARENT (i) \ |
| 92 | && INTERVAL_PARENT (i)->right == (i)) | 92 | && INTERVAL_PARENT (i)->right == (i)) |
| 93 | 93 | ||
| 94 | /* True if this interval has no children. */ | 94 | /* True if this interval has no children. */ |
| 95 | #define LEAF_INTERVAL_P(i) ((i)->left == NULL_INTERVAL \ | 95 | #define LEAF_INTERVAL_P(i) ((i)->left == NULL_INTERVAL \ |
| 96 | && (i)->right == NULL_INTERVAL) | 96 | && (i)->right == NULL_INTERVAL) |
| 97 | 97 | ||
| 98 | /* True if this interval has no parent and is therefore the root. */ | 98 | /* True if this interval has no parent and is therefore the root. */ |
| 99 | #define ROOT_INTERVAL_P(i) (NULL_PARENT (i)) | 99 | #define ROOT_INTERVAL_P(i) (NULL_PARENT (i)) |
| 100 | 100 | ||
| 101 | /* True if this interval is the only interval in the interval tree. */ | 101 | /* True if this interval is the only interval in the interval tree. */ |
| 102 | #define ONLY_INTERVAL_P(i) (ROOT_INTERVAL_P ((i)) && LEAF_INTERVAL_P ((i))) | 102 | #define ONLY_INTERVAL_P(i) (ROOT_INTERVAL_P ((i)) && LEAF_INTERVAL_P ((i))) |
| 103 | 103 | ||
| 104 | /* True if this interval has both left and right children. */ | 104 | /* True if this interval has both left and right children. */ |
| 105 | #define BOTH_KIDS_P(i) ((i)->left != NULL_INTERVAL \ | 105 | #define BOTH_KIDS_P(i) ((i)->left != NULL_INTERVAL \ |
| 106 | && (i)->right != NULL_INTERVAL) | 106 | && (i)->right != NULL_INTERVAL) |
| 107 | 107 | ||
| 108 | /* The total size of all text represented by this interval and all its | 108 | /* The total size of all text represented by this interval and all its |
| 109 | children in the tree. This is zero if the interval is null. */ | 109 | children in the tree. This is zero if the interval is null. */ |
| 110 | #define TOTAL_LENGTH(i) ((i) == NULL_INTERVAL ? 0 : (i)->total_length) | 110 | #define TOTAL_LENGTH(i) ((i) == NULL_INTERVAL ? 0 : (i)->total_length) |
| 111 | 111 | ||
| 112 | /* The size of text represented by this interval alone. */ | 112 | /* The size of text represented by this interval alone. */ |
| 113 | #define LENGTH(i) ((i) == NULL_INTERVAL ? 0 : (TOTAL_LENGTH ((i)) \ | 113 | #define LENGTH(i) ((i) == NULL_INTERVAL ? 0 : (TOTAL_LENGTH ((i)) \ |
| 114 | - TOTAL_LENGTH ((i)->right) \ | 114 | - TOTAL_LENGTH ((i)->right) \ |
| 115 | - TOTAL_LENGTH ((i)->left))) | 115 | - TOTAL_LENGTH ((i)->left))) |
| 116 | 116 | ||
| 117 | /* The position of the character just past the end of I. Note that | 117 | /* The position of the character just past the end of I. Note that |
| 118 | the position cache i->position must be valid for this to work. */ | 118 | the position cache i->position must be valid for this to work. */ |
| 119 | #define INTERVAL_LAST_POS(i) ((i)->position + LENGTH ((i))) | 119 | #define INTERVAL_LAST_POS(i) ((i)->position + LENGTH ((i))) |
| 120 | 120 | ||
| 121 | /* The total size of the left subtree of this interval. */ | 121 | /* The total size of the left subtree of this interval. */ |
| 122 | #define LEFT_TOTAL_LENGTH(i) ((i)->left ? (i)->left->total_length : 0) | 122 | #define LEFT_TOTAL_LENGTH(i) ((i)->left ? (i)->left->total_length : 0) |
| 123 | 123 | ||
| 124 | /* The total size of the right subtree of this interval. */ | 124 | /* The total size of the right subtree of this interval. */ |
| 125 | #define RIGHT_TOTAL_LENGTH(i) ((i)->right ? (i)->right->total_length : 0) | 125 | #define RIGHT_TOTAL_LENGTH(i) ((i)->right ? (i)->right->total_length : 0) |
| 126 | 126 | ||
| 127 | 127 | ||
| 128 | /* These macros are for dealing with the interval properties. */ | 128 | /* These macros are for dealing with the interval properties. */ |
| 129 | 129 | ||
| 130 | /* True if this is a default interval, which is the same as being null | 130 | /* True if this is a default interval, which is the same as being null |
| 131 | or having no properties. */ | 131 | or having no properties. */ |
| 132 | #define DEFAULT_INTERVAL_P(i) (NULL_INTERVAL_P (i) || EQ ((i)->plist, Qnil)) | 132 | #define DEFAULT_INTERVAL_P(i) (NULL_INTERVAL_P (i) || EQ ((i)->plist, Qnil)) |
| 133 | 133 | ||
| 134 | /* Test what type of parent we have. Three possibilities: another | 134 | /* Test what type of parent we have. Three possibilities: another |
| @@ -169,7 +169,7 @@ struct interval | |||
| 169 | } \ | 169 | } \ |
| 170 | while (0) | 170 | while (0) |
| 171 | 171 | ||
| 172 | /* Reset this interval to its vanilla, or no-property state. */ | 172 | /* Reset this interval to its vanilla, or no-property state. */ |
| 173 | #define RESET_INTERVAL(i) \ | 173 | #define RESET_INTERVAL(i) \ |
| 174 | { \ | 174 | { \ |
| 175 | (i)->total_length = (i)->position = 0; \ | 175 | (i)->total_length = (i)->position = 0; \ |
| @@ -181,7 +181,7 @@ struct interval | |||
| 181 | (i)->plist = Qnil; \ | 181 | (i)->plist = Qnil; \ |
| 182 | } | 182 | } |
| 183 | 183 | ||
| 184 | /* Copy the cached property values of interval FROM to interval TO. */ | 184 | /* Copy the cached property values of interval FROM to interval TO. */ |
| 185 | #define COPY_INTERVAL_CACHE(from,to) \ | 185 | #define COPY_INTERVAL_CACHE(from,to) \ |
| 186 | { \ | 186 | { \ |
| 187 | (to)->write_protect = (from)->write_protect; \ | 187 | (to)->write_protect = (from)->write_protect; \ |
| @@ -190,7 +190,7 @@ struct interval | |||
| 190 | (to)->rear_sticky = (from)->rear_sticky; \ | 190 | (to)->rear_sticky = (from)->rear_sticky; \ |
| 191 | } | 191 | } |
| 192 | 192 | ||
| 193 | /* Copy only the set bits of FROM's cache. */ | 193 | /* Copy only the set bits of FROM's cache. */ |
| 194 | #define MERGE_INTERVAL_CACHE(from,to) \ | 194 | #define MERGE_INTERVAL_CACHE(from,to) \ |
| 195 | { \ | 195 | { \ |
| 196 | if ((from)->write_protect) (to)->write_protect = 1; \ | 196 | if ((from)->write_protect) (to)->write_protect = 1; \ |
| @@ -201,18 +201,18 @@ struct interval | |||
| 201 | 201 | ||
| 202 | /* Macro determining whether the properties of an interval being | 202 | /* Macro determining whether the properties of an interval being |
| 203 | inserted should be merged with the properties of the text where | 203 | inserted should be merged with the properties of the text where |
| 204 | they are being inserted. */ | 204 | they are being inserted. */ |
| 205 | #define MERGE_INSERTIONS(i) 1 | 205 | #define MERGE_INSERTIONS(i) 1 |
| 206 | 206 | ||
| 207 | /* Macro determining if an invisible interval should be displayed | 207 | /* Macro determining if an invisible interval should be displayed |
| 208 | as a special glyph, or not at all. */ | 208 | as a special glyph, or not at all. */ |
| 209 | #define DISPLAY_INVISIBLE_GLYPH(i) 0 | 209 | #define DISPLAY_INVISIBLE_GLYPH(i) 0 |
| 210 | 210 | ||
| 211 | /* Is this interval visible? Replace later with cache access */ | 211 | /* Is this interval visible? Replace later with cache access. */ |
| 212 | #define INTERVAL_VISIBLE_P(i) \ | 212 | #define INTERVAL_VISIBLE_P(i) \ |
| 213 | (! NULL_INTERVAL_P (i) && NILP (textget ((i)->plist, Qinvisible))) | 213 | (! NULL_INTERVAL_P (i) && NILP (textget ((i)->plist, Qinvisible))) |
| 214 | 214 | ||
| 215 | /* Is this interval writable? Replace later with cache access */ | 215 | /* Is this interval writable? Replace later with cache access. */ |
| 216 | #define INTERVAL_WRITABLE_P(i) \ | 216 | #define INTERVAL_WRITABLE_P(i) \ |
| 217 | (! NULL_INTERVAL_P (i) \ | 217 | (! NULL_INTERVAL_P (i) \ |
| 218 | && (NILP (textget ((i)->plist, Qread_only)) \ | 218 | && (NILP (textget ((i)->plist, Qread_only)) \ |
| @@ -222,7 +222,7 @@ struct interval | |||
| 222 | : !NILP (Vinhibit_read_only))))) \ | 222 | : !NILP (Vinhibit_read_only))))) \ |
| 223 | 223 | ||
| 224 | /* Macros to tell whether insertions before or after this interval | 224 | /* Macros to tell whether insertions before or after this interval |
| 225 | should stick to it. */ | 225 | should stick to it. */ |
| 226 | /* Replace later with cache access */ | 226 | /* Replace later with cache access */ |
| 227 | /*#define FRONT_STICKY_P(i) ((i)->front_sticky != 0) | 227 | /*#define FRONT_STICKY_P(i) ((i)->front_sticky != 0) |
| 228 | #define END_STICKY_P(i) ((i)->rear_sticky != 0)*/ | 228 | #define END_STICKY_P(i) ((i)->rear_sticky != 0)*/ |
| @@ -245,11 +245,11 @@ struct interval | |||
| 245 | ? !NILP (prop) \ | 245 | ? !NILP (prop) \ |
| 246 | : invisible_p (prop, BVAR (current_buffer, invisibility_spec))) | 246 | : invisible_p (prop, BVAR (current_buffer, invisibility_spec))) |
| 247 | 247 | ||
| 248 | /* Declared in alloc.c */ | 248 | /* Declared in alloc.c. */ |
| 249 | 249 | ||
| 250 | extern INTERVAL make_interval (void); | 250 | extern INTERVAL make_interval (void); |
| 251 | 251 | ||
| 252 | /* Declared in intervals.c */ | 252 | /* Declared in intervals.c. */ |
| 253 | 253 | ||
| 254 | extern INTERVAL create_root_interval (Lisp_Object); | 254 | extern INTERVAL create_root_interval (Lisp_Object); |
| 255 | extern void copy_properties (INTERVAL, INTERVAL); | 255 | extern void copy_properties (INTERVAL, INTERVAL); |
| @@ -288,12 +288,12 @@ extern INTERVAL validate_interval_range (Lisp_Object, Lisp_Object *, | |||
| 288 | Lisp_Object *, int); | 288 | Lisp_Object *, int); |
| 289 | extern INTERVAL interval_of (EMACS_INT, Lisp_Object); | 289 | extern INTERVAL interval_of (EMACS_INT, Lisp_Object); |
| 290 | 290 | ||
| 291 | /* Defined in xdisp.c */ | 291 | /* Defined in xdisp.c. */ |
| 292 | extern int invisible_p (Lisp_Object, Lisp_Object); | 292 | extern int invisible_p (Lisp_Object, Lisp_Object); |
| 293 | 293 | ||
| 294 | /* Declared in textprop.c */ | 294 | /* Declared in textprop.c. */ |
| 295 | 295 | ||
| 296 | /* Types of hooks. */ | 296 | /* Types of hooks. */ |
| 297 | extern Lisp_Object Qpoint_left; | 297 | extern Lisp_Object Qpoint_left; |
| 298 | extern Lisp_Object Qpoint_entered; | 298 | extern Lisp_Object Qpoint_entered; |
| 299 | extern Lisp_Object Qmodification_hooks; | 299 | extern Lisp_Object Qmodification_hooks; |
| @@ -301,11 +301,11 @@ extern Lisp_Object Qcategory; | |||
| 301 | extern Lisp_Object Qlocal_map; | 301 | extern Lisp_Object Qlocal_map; |
| 302 | extern Lisp_Object Qkeymap; | 302 | extern Lisp_Object Qkeymap; |
| 303 | 303 | ||
| 304 | /* Visual properties text (including strings) may have. */ | 304 | /* Visual properties text (including strings) may have. */ |
| 305 | extern Lisp_Object Qfont; | 305 | extern Lisp_Object Qfont; |
| 306 | extern Lisp_Object Qinvisible, Qintangible; | 306 | extern Lisp_Object Qinvisible, Qintangible; |
| 307 | 307 | ||
| 308 | /* Sticky properties */ | 308 | /* Sticky properties. */ |
| 309 | extern Lisp_Object Qfront_sticky, Qrear_nonsticky; | 309 | extern Lisp_Object Qfront_sticky, Qrear_nonsticky; |
| 310 | 310 | ||
| 311 | EXFUN (Fget_char_property, 3); | 311 | EXFUN (Fget_char_property, 3); |
diff --git a/src/keyboard.c b/src/keyboard.c index 8b94ee6b5d1..bee91c6b5cf 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -4823,7 +4823,7 @@ const char *const lispy_function_keys[] = | |||
| 4823 | "ico-00", /* VK_ICO_00 0xE4 */ | 4823 | "ico-00", /* VK_ICO_00 0xE4 */ |
| 4824 | 0, /* VK_PROCESSKEY 0xE5 - used by IME */ | 4824 | 0, /* VK_PROCESSKEY 0xE5 - used by IME */ |
| 4825 | "ico-clear", /* VK_ICO_CLEAR 0xE6 */ | 4825 | "ico-clear", /* VK_ICO_CLEAR 0xE6 */ |
| 4826 | 0, /* VK_PACKET 0xE7 - used to pass unicode chars */ | 4826 | 0, /* VK_PACKET 0xE7 - used to pass Unicode chars */ |
| 4827 | 0, /* 0xE8 */ | 4827 | 0, /* 0xE8 */ |
| 4828 | "reset", /* VK_OEM_RESET 0xE9 */ | 4828 | "reset", /* VK_OEM_RESET 0xE9 */ |
| 4829 | "jump", /* VK_OEM_JUMP 0xEA */ | 4829 | "jump", /* VK_OEM_JUMP 0xEA */ |
| @@ -10153,7 +10153,7 @@ will read just one key sequence. */) | |||
| 10153 | ! NILP (can_return_switch_frame), 0); | 10153 | ! NILP (can_return_switch_frame), 0); |
| 10154 | 10154 | ||
| 10155 | #if 0 /* The following is fine for code reading a key sequence and | 10155 | #if 0 /* The following is fine for code reading a key sequence and |
| 10156 | then proceeding with a lenghty computation, but it's not good | 10156 | then proceeding with a lengthy computation, but it's not good |
| 10157 | for code reading keys in a loop, like an input method. */ | 10157 | for code reading keys in a loop, like an input method. */ |
| 10158 | #ifdef HAVE_WINDOW_SYSTEM | 10158 | #ifdef HAVE_WINDOW_SYSTEM |
| 10159 | if (display_hourglass_p) | 10159 | if (display_hourglass_p) |
| @@ -12120,7 +12120,7 @@ This variable is keyboard-local. */); | |||
| 12120 | Function key definitions that apply to all terminal devices should go | 12120 | Function key definitions that apply to all terminal devices should go |
| 12121 | here. If a mapping is defined in both the current | 12121 | here. If a mapping is defined in both the current |
| 12122 | `local-function-key-map' binding and this variable, then the local | 12122 | `local-function-key-map' binding and this variable, then the local |
| 12123 | definition will take precendence. */); | 12123 | definition will take precedence. */); |
| 12124 | Vfunction_key_map = Fmake_sparse_keymap (Qnil); | 12124 | Vfunction_key_map = Fmake_sparse_keymap (Qnil); |
| 12125 | 12125 | ||
| 12126 | DEFVAR_LISP ("key-translation-map", Vkey_translation_map, | 12126 | DEFVAR_LISP ("key-translation-map", Vkey_translation_map, |
diff --git a/src/keymap.c b/src/keymap.c index 6f9cf288f6d..b429ca968d7 100644 --- a/src/keymap.c +++ b/src/keymap.c | |||
| @@ -2624,11 +2624,11 @@ remapped command in the returned list. */) | |||
| 2624 | /* We have a list of advertised bindings. */ | 2624 | /* We have a list of advertised bindings. */ |
| 2625 | while (CONSP (tem)) | 2625 | while (CONSP (tem)) |
| 2626 | if (EQ (shadow_lookup (keymaps, XCAR (tem), Qnil, 0), definition)) | 2626 | if (EQ (shadow_lookup (keymaps, XCAR (tem), Qnil, 0), definition)) |
| 2627 | return XCAR (tem); | 2627 | RETURN_UNGCPRO (XCAR (tem)); |
| 2628 | else | 2628 | else |
| 2629 | tem = XCDR (tem); | 2629 | tem = XCDR (tem); |
| 2630 | if (EQ (shadow_lookup (keymaps, tem, Qnil, 0), definition)) | 2630 | if (EQ (shadow_lookup (keymaps, tem, Qnil, 0), definition)) |
| 2631 | return tem; | 2631 | RETURN_UNGCPRO (tem); |
| 2632 | } | 2632 | } |
| 2633 | 2633 | ||
| 2634 | sequences = Freverse (where_is_internal (definition, keymaps, | 2634 | sequences = Freverse (where_is_internal (definition, keymaps, |
diff --git a/src/lisp.h b/src/lisp.h index 5407956c202..2056b7caff8 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -947,7 +947,7 @@ struct Lisp_Vector | |||
| 947 | 947 | ||
| 948 | /* Compute A OP B, using the unsigned comparison operator OP. A and B | 948 | /* Compute A OP B, using the unsigned comparison operator OP. A and B |
| 949 | should be integer expressions. This is not the same as | 949 | should be integer expressions. This is not the same as |
| 950 | mathemeatical comparison; for example, UNSIGNED_CMP (0, <, -1) | 950 | mathematical comparison; for example, UNSIGNED_CMP (0, <, -1) |
| 951 | returns 1. For efficiency, prefer plain unsigned comparison if A | 951 | returns 1. For efficiency, prefer plain unsigned comparison if A |
| 952 | and B's sizes both fit (after integer promotion). */ | 952 | and B's sizes both fit (after integer promotion). */ |
| 953 | #define UNSIGNED_CMP(a, op, b) \ | 953 | #define UNSIGNED_CMP(a, op, b) \ |
| @@ -1881,9 +1881,6 @@ typedef struct { | |||
| 1881 | CHECK_NATNUM (tmp); \ | 1881 | CHECK_NATNUM (tmp); \ |
| 1882 | XSETCDR ((x), tmp); \ | 1882 | XSETCDR ((x), tmp); \ |
| 1883 | } while (0) | 1883 | } while (0) |
| 1884 | |||
| 1885 | /* Cast pointers to this type to compare them. */ | ||
| 1886 | #define PNTR_COMPARISON_TYPE uintptr_t | ||
| 1887 | 1884 | ||
| 1888 | /* Define a built-in function for calling from Lisp. | 1885 | /* Define a built-in function for calling from Lisp. |
| 1889 | `lname' should be the name to give the function in Lisp, | 1886 | `lname' should be the name to give the function in Lisp, |
diff --git a/src/lread.c b/src/lread.c index 110f3e62f71..f1f6f0cbd78 100644 --- a/src/lread.c +++ b/src/lread.c | |||
| @@ -3984,7 +3984,7 @@ init_obarray (void) | |||
| 3984 | Qnil = intern_c_string ("nil"); | 3984 | Qnil = intern_c_string ("nil"); |
| 3985 | 3985 | ||
| 3986 | /* Fmake_symbol inits fields of new symbols with Qunbound and Qnil, | 3986 | /* Fmake_symbol inits fields of new symbols with Qunbound and Qnil, |
| 3987 | so those two need to be fixed manally. */ | 3987 | so those two need to be fixed manually. */ |
| 3988 | SET_SYMBOL_VAL (XSYMBOL (Qunbound), Qunbound); | 3988 | SET_SYMBOL_VAL (XSYMBOL (Qunbound), Qunbound); |
| 3989 | XSYMBOL (Qunbound)->function = Qunbound; | 3989 | XSYMBOL (Qunbound)->function = Qunbound; |
| 3990 | XSYMBOL (Qunbound)->plist = Qnil; | 3990 | XSYMBOL (Qunbound)->plist = Qnil; |
diff --git a/src/m/ibms390.h b/src/m/ibms390.h deleted file mode 100644 index c309035dc5c..00000000000 --- a/src/m/ibms390.h +++ /dev/null | |||
| @@ -1,27 +0,0 @@ | |||
| 1 | /* Machine description file for IBM S390 in 32-bit mode | ||
| 2 | |||
| 3 | Copyright (C) 1985-1986, 2001-2011 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | GNU Emacs is free software: you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation, either version 3 of the License, or | ||
| 10 | (at your option) any later version. | ||
| 11 | |||
| 12 | GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | ||
| 19 | |||
| 20 | |||
| 21 | /* Define VIRT_ADDR_VARIES if the virtual addresses of | ||
| 22 | pure and impure space as loaded can vary, and even their | ||
| 23 | relative order cannot be relied on. | ||
| 24 | |||
| 25 | Otherwise Emacs assumes that text space precedes data space, | ||
| 26 | numerically. */ | ||
| 27 | #define VIRT_ADDR_VARIES | ||
diff --git a/src/m/ibms390x.h b/src/m/ibms390x.h index 04092d6e1ac..5ea7974b052 100644 --- a/src/m/ibms390x.h +++ b/src/m/ibms390x.h | |||
| @@ -17,8 +17,6 @@ GNU General Public License for more details. | |||
| 17 | You should have received a copy of the GNU General Public License | 17 | You should have received a copy of the GNU General Public License |
| 18 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | 18 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ |
| 19 | 19 | ||
| 20 | #include "ibms390.h" | ||
| 21 | |||
| 22 | #define BITS_PER_LONG 64 | 20 | #define BITS_PER_LONG 64 |
| 23 | #define BITS_PER_EMACS_INT 64 | 21 | #define BITS_PER_EMACS_INT 64 |
| 24 | 22 | ||
diff --git a/src/m/intel386.h b/src/m/intel386.h index 16f0645715c..114b7fef963 100644 --- a/src/m/intel386.h +++ b/src/m/intel386.h | |||
| @@ -19,7 +19,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 19 | 19 | ||
| 20 | 20 | ||
| 21 | #ifdef WINDOWSNT | 21 | #ifdef WINDOWSNT |
| 22 | #define VIRT_ADDR_VARIES | ||
| 23 | #define DATA_START get_data_start () | 22 | #define DATA_START get_data_start () |
| 24 | #endif | 23 | #endif |
| 25 | 24 | ||
| @@ -28,4 +27,3 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 28 | /* we cannot get the maximum address for brk */ | 27 | /* we cannot get the maximum address for brk */ |
| 29 | #define ULIMIT_BREAK_VALUE (32*1024*1024) | 28 | #define ULIMIT_BREAK_VALUE (32*1024*1024) |
| 30 | #endif | 29 | #endif |
| 31 | |||
diff --git a/src/m/template.h b/src/m/template.h index 54fb0da9521..38649e8ac6d 100644 --- a/src/m/template.h +++ b/src/m/template.h | |||
| @@ -21,14 +21,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 21 | does not define it automatically. | 21 | does not define it automatically. |
| 22 | Ones defined so far include m68k and many others */ | 22 | Ones defined so far include m68k and many others */ |
| 23 | 23 | ||
| 24 | /* Define VIRT_ADDR_VARIES if the virtual addresses of | ||
| 25 | pure and impure space as loaded can vary, and even their | ||
| 26 | relative order cannot be relied on. | ||
| 27 | |||
| 28 | Otherwise Emacs assumes that text space precedes data space, | ||
| 29 | numerically. */ | ||
| 30 | #define VIRT_ADDR_VARIES | ||
| 31 | |||
| 32 | /* After adding support for a new machine, modify the large case | 24 | /* After adding support for a new machine, modify the large case |
| 33 | statement in configure.in to recognize reasonable | 25 | statement in configure.in to recognize reasonable |
| 34 | configuration names, and add a description of the system to | 26 | configuration names, and add a description of the system to |
diff --git a/src/msdos.c b/src/msdos.c index 6b6e365a165..4c08c5b29e0 100644 --- a/src/msdos.c +++ b/src/msdos.c | |||
| @@ -1342,7 +1342,7 @@ static void | |||
| 1342 | IT_copy_glyphs (int xfrom, int xto, size_t len, int ypos) | 1342 | IT_copy_glyphs (int xfrom, int xto, size_t len, int ypos) |
| 1343 | { | 1343 | { |
| 1344 | /* The offsets of source and destination relative to the | 1344 | /* The offsets of source and destination relative to the |
| 1345 | conventional memorty selector. */ | 1345 | conventional memory selector. */ |
| 1346 | int from = 2 * (xfrom + screen_size_X * ypos) + ScreenPrimary; | 1346 | int from = 2 * (xfrom + screen_size_X * ypos) + ScreenPrimary; |
| 1347 | int to = 2 * (xto + screen_size_X * ypos) + ScreenPrimary; | 1347 | int to = 2 * (xto + screen_size_X * ypos) + ScreenPrimary; |
| 1348 | 1348 | ||
diff --git a/src/nsfont.m b/src/nsfont.m index c4d9123faef..7d691ced6e1 100644 --- a/src/nsfont.m +++ b/src/nsfont.m | |||
| @@ -256,7 +256,7 @@ ns_char_width (NSFont *sfont, int c) | |||
| 256 | 256 | ||
| 257 | 257 | ||
| 258 | /* Return whether set1 covers set2 to a reasonable extent given by pct. | 258 | /* Return whether set1 covers set2 to a reasonable extent given by pct. |
| 259 | We check, out of each 16 unicode char range containing chars in set2, | 259 | We check, out of each 16 Unicode char range containing chars in set2, |
| 260 | whether at least one character is present in set1. | 260 | whether at least one character is present in set1. |
| 261 | This must be true for pct of the pairs to consider it covering. */ | 261 | This must be true for pct of the pairs to consider it covering. */ |
| 262 | static BOOL | 262 | static BOOL |
| @@ -297,7 +297,7 @@ static NSString | |||
| 297 | 297 | ||
| 298 | 298 | ||
| 299 | /* Convert OTF 4-letter script code to emacs script name. (Why can't | 299 | /* Convert OTF 4-letter script code to emacs script name. (Why can't |
| 300 | everyone just use some standard unicode names for these?) */ | 300 | everyone just use some standard Unicode names for these?) */ |
| 301 | static NSString | 301 | static NSString |
| 302 | *ns_otf_to_script (Lisp_Object otf) | 302 | *ns_otf_to_script (Lisp_Object otf) |
| 303 | { | 303 | { |
| @@ -329,7 +329,7 @@ static NSString | |||
| 329 | 329 | ||
| 330 | /* Searches the :script, :lang, and :otf extra-bundle properties of the spec, | 330 | /* Searches the :script, :lang, and :otf extra-bundle properties of the spec, |
| 331 | plus registry regular property, for something that can be mapped to a | 331 | plus registry regular property, for something that can be mapped to a |
| 332 | unicode script. Empty string returned if no script spec found. */ | 332 | Unicode script. Empty string returned if no script spec found. */ |
| 333 | static NSString | 333 | static NSString |
| 334 | *ns_get_req_script (Lisp_Object font_spec) | 334 | *ns_get_req_script (Lisp_Object font_spec) |
| 335 | { | 335 | { |
| @@ -385,7 +385,7 @@ accumulate_script_ranges (Lisp_Object arg, Lisp_Object range, Lisp_Object val) | |||
| 385 | } | 385 | } |
| 386 | 386 | ||
| 387 | 387 | ||
| 388 | /* Use the unicode range information in Vchar_script_table to convert a script | 388 | /* Use the Unicode range information in Vchar_script_table to convert a script |
| 389 | name into an NSCharacterSet. */ | 389 | name into an NSCharacterSet. */ |
| 390 | static NSCharacterSet | 390 | static NSCharacterSet |
| 391 | *ns_script_to_charset (NSString *scriptName) | 391 | *ns_script_to_charset (NSString *scriptName) |
| @@ -426,7 +426,7 @@ static NSCharacterSet | |||
| 426 | If none are found, we reduce the percentage and try again, until 5%. | 426 | If none are found, we reduce the percentage and try again, until 5%. |
| 427 | This provides a font with at least some characters if such can be found. | 427 | This provides a font with at least some characters if such can be found. |
| 428 | We don't use isSupersetOfSet: because (a) it doesn't work on Tiger, and | 428 | We don't use isSupersetOfSet: because (a) it doesn't work on Tiger, and |
| 429 | (b) need approximate match as fonts covering full unicode ranges are rare. */ | 429 | (b) need approximate match as fonts covering full Unicode ranges are rare. */ |
| 430 | static NSSet | 430 | static NSSet |
| 431 | *ns_get_covering_families (NSString *script, float pct) | 431 | *ns_get_covering_families (NSString *script, float pct) |
| 432 | { | 432 | { |
| @@ -1292,7 +1292,7 @@ ns_uni_to_glyphs (struct nsfont_info *font_info, unsigned char block) | |||
| 1292 | if (!unichars || !(font_info->glyphs[block])) | 1292 | if (!unichars || !(font_info->glyphs[block])) |
| 1293 | abort (); | 1293 | abort (); |
| 1294 | 1294 | ||
| 1295 | /* create a string containing all unicode characters in this block */ | 1295 | /* create a string containing all Unicode characters in this block */ |
| 1296 | for (idx = block<<8, i =0; i<0x100; idx++, i++) | 1296 | for (idx = block<<8, i =0; i<0x100; idx++, i++) |
| 1297 | if (idx < 0xD800 || idx > 0xDFFF) | 1297 | if (idx < 0xD800 || idx > 0xDFFF) |
| 1298 | unichars[i] = idx; | 1298 | unichars[i] = idx; |
| @@ -1487,5 +1487,5 @@ syms_of_nsfont (void) | |||
| 1487 | DEFSYM (Qroman, "roman"); | 1487 | DEFSYM (Qroman, "roman"); |
| 1488 | DEFSYM (Qmedium, "medium"); | 1488 | DEFSYM (Qmedium, "medium"); |
| 1489 | DEFVAR_LISP ("ns-reg-to-script", Vns_reg_to_script, | 1489 | DEFVAR_LISP ("ns-reg-to-script", Vns_reg_to_script, |
| 1490 | doc: /* Internal use: maps font registry to unicode script. */); | 1490 | doc: /* Internal use: maps font registry to Unicode script. */); |
| 1491 | } | 1491 | } |
diff --git a/src/nsterm.h b/src/nsterm.h index 574d31c962a..52246caac84 100644 --- a/src/nsterm.h +++ b/src/nsterm.h | |||
| @@ -470,7 +470,7 @@ struct nsfont_info | |||
| 470 | XCharStruct max_bounds; | 470 | XCharStruct max_bounds; |
| 471 | /* we compute glyph codes and metrics on-demand in blocks of 256 indexed | 471 | /* we compute glyph codes and metrics on-demand in blocks of 256 indexed |
| 472 | by hibyte, lobyte */ | 472 | by hibyte, lobyte */ |
| 473 | unsigned short **glyphs; /* map unicode index to glyph */ | 473 | unsigned short **glyphs; /* map Unicode index to glyph */ |
| 474 | struct font_metrics **metrics; | 474 | struct font_metrics **metrics; |
| 475 | }; | 475 | }; |
| 476 | 476 | ||
diff --git a/src/print.c b/src/print.c index 1d6998d8f1a..0fdb750f370 100644 --- a/src/print.c +++ b/src/print.c | |||
| @@ -1637,7 +1637,7 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag | |||
| 1637 | /* Detect circular list. */ | 1637 | /* Detect circular list. */ |
| 1638 | if (NILP (Vprint_circle)) | 1638 | if (NILP (Vprint_circle)) |
| 1639 | { | 1639 | { |
| 1640 | /* Simple but imcomplete way. */ | 1640 | /* Simple but incomplete way. */ |
| 1641 | if (i != 0 && EQ (obj, halftail)) | 1641 | if (i != 0 && EQ (obj, halftail)) |
| 1642 | { | 1642 | { |
| 1643 | sprintf (buf, " . #%"pMd, i / 2); | 1643 | sprintf (buf, " . #%"pMd, i / 2); |
diff --git a/src/process.c b/src/process.c index 53382d804f2..a02ba44ae71 100644 --- a/src/process.c +++ b/src/process.c | |||
| @@ -1414,7 +1414,7 @@ usage: (start-process NAME BUFFER PROGRAM &rest PROGRAM-ARGS) */) | |||
| 1414 | val = XCDR (Vdefault_process_coding_system); | 1414 | val = XCDR (Vdefault_process_coding_system); |
| 1415 | } | 1415 | } |
| 1416 | XPROCESS (proc)->encode_coding_system = val; | 1416 | XPROCESS (proc)->encode_coding_system = val; |
| 1417 | /* Note: At this momemnt, the above coding system may leave | 1417 | /* Note: At this moment, the above coding system may leave |
| 1418 | text-conversion or eol-conversion unspecified. They will be | 1418 | text-conversion or eol-conversion unspecified. They will be |
| 1419 | decided after we read output from the process and decode it by | 1419 | decided after we read output from the process and decode it by |
| 1420 | some coding system, or just before we actually send a text to | 1420 | some coding system, or just before we actually send a text to |
| @@ -4620,15 +4620,43 @@ wait_reading_process_output (int time_limit, int microsecs, int read_kbd, | |||
| 4620 | some data in the TCP buffers so that select works, but | 4620 | some data in the TCP buffers so that select works, but |
| 4621 | with custom pull/push functions we need to check if some | 4621 | with custom pull/push functions we need to check if some |
| 4622 | data is available in the buffers manually. */ | 4622 | data is available in the buffers manually. */ |
| 4623 | if (nfds == 0 && | 4623 | if (nfds == 0) |
| 4624 | wait_proc && wait_proc->gnutls_p /* Check for valid process. */ | 4624 | { |
| 4625 | /* Do we have pending data? */ | 4625 | if (! wait_proc) |
| 4626 | && emacs_gnutls_record_check_pending (wait_proc->gnutls_state) > 0) | 4626 | { |
| 4627 | { | 4627 | /* We're not waiting on a specific process, so loop |
| 4628 | nfds = 1; | 4628 | through all the channels and check for data. |
| 4629 | /* Set to Available. */ | 4629 | This is a workaround needed for some versions of |
| 4630 | FD_SET (wait_proc->infd, &Available); | 4630 | the gnutls library -- 2.12.14 has been confirmed |
| 4631 | } | 4631 | to need it. See |
| 4632 | http://comments.gmane.org/gmane.emacs.devel/145074 */ | ||
| 4633 | struct Lisp_Process *proc; | ||
| 4634 | for (channel = 0; channel < MAXDESC; ++channel) | ||
| 4635 | { | ||
| 4636 | if (! NILP (chan_process[channel]) && | ||
| 4637 | (proc = XPROCESS (chan_process[channel])) != NULL && | ||
| 4638 | proc->gnutls_p && | ||
| 4639 | proc->infd && | ||
| 4640 | emacs_gnutls_record_check_pending (proc->gnutls_state) > 0) | ||
| 4641 | { | ||
| 4642 | nfds++; | ||
| 4643 | FD_SET (proc->infd, &Available); | ||
| 4644 | } | ||
| 4645 | } | ||
| 4646 | } | ||
| 4647 | else | ||
| 4648 | { | ||
| 4649 | /* Check this specific channel. */ | ||
| 4650 | if (wait_proc->gnutls_p && /* Check for valid process. */ | ||
| 4651 | /* Do we have pending data? */ | ||
| 4652 | emacs_gnutls_record_check_pending (wait_proc->gnutls_state) > 0) | ||
| 4653 | { | ||
| 4654 | nfds = 1; | ||
| 4655 | /* Set to Available. */ | ||
| 4656 | FD_SET (wait_proc->infd, &Available); | ||
| 4657 | } | ||
| 4658 | } | ||
| 4659 | } | ||
| 4632 | #endif | 4660 | #endif |
| 4633 | } | 4661 | } |
| 4634 | 4662 | ||
diff --git a/src/puresize.h b/src/puresize.h index c26c496a757..4290c30c68d 100644 --- a/src/puresize.h +++ b/src/puresize.h | |||
| @@ -75,21 +75,7 @@ extern void pure_write_error (void) NO_RETURN; | |||
| 75 | 75 | ||
| 76 | /* Define PURE_P. */ | 76 | /* Define PURE_P. */ |
| 77 | 77 | ||
| 78 | #ifdef VIRT_ADDR_VARIES | ||
| 79 | /* For machines where text and data can go anywhere | ||
| 80 | in virtual memory. */ | ||
| 81 | |||
| 82 | extern EMACS_INT pure[]; | 78 | extern EMACS_INT pure[]; |
| 83 | 79 | ||
| 84 | #define PURE_P(obj) \ | 80 | #define PURE_P(obj) \ |
| 85 | ((PNTR_COMPARISON_TYPE) XPNTR (obj) < (PNTR_COMPARISON_TYPE) ((char *) pure + PURESIZE) \ | 81 | ((uintptr_t) XPNTR (obj) - (uintptr_t) pure <= PURESIZE) |
| 86 | && (PNTR_COMPARISON_TYPE) XPNTR (obj) >= (PNTR_COMPARISON_TYPE) pure) | ||
| 87 | |||
| 88 | #else /* not VIRT_ADDR_VARIES */ | ||
| 89 | |||
| 90 | extern char my_edata[]; | ||
| 91 | |||
| 92 | #define PURE_P(obj) \ | ||
| 93 | ((PNTR_COMPARISON_TYPE) XPNTR (obj) < (PNTR_COMPARISON_TYPE) my_edata) | ||
| 94 | |||
| 95 | #endif /* VIRT_ADDRESS_VARIES */ | ||
diff --git a/src/s/cygwin.h b/src/s/cygwin.h index af5308ff7bb..8f5a0ab1fc7 100644 --- a/src/s/cygwin.h +++ b/src/s/cygwin.h | |||
| @@ -91,9 +91,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 91 | why it needed to be changed. */ | 91 | why it needed to be changed. */ |
| 92 | #define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS | 92 | #define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS |
| 93 | 93 | ||
| 94 | /* Virtual addresses of pure and impure space can vary, as on Windows. */ | ||
| 95 | #define VIRT_ADDR_VARIES | ||
| 96 | |||
| 97 | /* Emacs supplies its own malloc, but glib (part of Gtk+) calls | 94 | /* Emacs supplies its own malloc, but glib (part of Gtk+) calls |
| 98 | memalign and on Cygwin, that becomes the Cygwin-supplied memalign. | 95 | memalign and on Cygwin, that becomes the Cygwin-supplied memalign. |
| 99 | As malloc is not the Cygwin malloc, the Cygwin memalign always | 96 | As malloc is not the Cygwin malloc, the Cygwin memalign always |
diff --git a/src/s/hpux10-20.h b/src/s/hpux10-20.h index 37199bcc29b..be457498add 100644 --- a/src/s/hpux10-20.h +++ b/src/s/hpux10-20.h | |||
| @@ -100,14 +100,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 100 | header sections which lose when `static' is defined away, as it is | 100 | header sections which lose when `static' is defined away, as it is |
| 101 | on HP-UX. (You get duplicate symbol errors on linking). */ | 101 | on HP-UX. (You get duplicate symbol errors on linking). */ |
| 102 | #undef _FILE_OFFSET_BITS | 102 | #undef _FILE_OFFSET_BITS |
| 103 | |||
| 104 | /* Define VIRT_ADDR_VARIES if the virtual addresses of | ||
| 105 | pure and impure space as loaded can vary, and even their | ||
| 106 | relative order cannot be relied on. | ||
| 107 | |||
| 108 | Otherwise Emacs assumes that text space precedes data space, | ||
| 109 | numerically. */ | ||
| 110 | #define VIRT_ADDR_VARIES | ||
| 111 | 103 | ||
| 112 | /* The data segment on this machine always starts at address 0x40000000. */ | 104 | /* The data segment on this machine always starts at address 0x40000000. */ |
| 113 | #define DATA_SEG_BITS 0x40000000 | 105 | #define DATA_SEG_BITS 0x40000000 |
diff --git a/src/search.c b/src/search.c index a3b4e1dcbce..a6a0fddb137 100644 --- a/src/search.c +++ b/src/search.c | |||
| @@ -1892,7 +1892,7 @@ boyer_moore (EMACS_INT n, unsigned char *base_pat, | |||
| 1892 | || CHAR_HEAD_P (cursor[1])) | 1892 | || CHAR_HEAD_P (cursor[1])) |
| 1893 | && (CHAR_HEAD_P (cursor[0]) | 1893 | && (CHAR_HEAD_P (cursor[0]) |
| 1894 | /* Check if this is the last byte of | 1894 | /* Check if this is the last byte of |
| 1895 | a translable character. */ | 1895 | a translatable character. */ |
| 1896 | || (translate_prev_byte1 == cursor[-1] | 1896 | || (translate_prev_byte1 == cursor[-1] |
| 1897 | && (CHAR_HEAD_P (translate_prev_byte1) | 1897 | && (CHAR_HEAD_P (translate_prev_byte1) |
| 1898 | || (translate_prev_byte2 == cursor[-2] | 1898 | || (translate_prev_byte2 == cursor[-2] |
| @@ -1991,7 +1991,7 @@ boyer_moore (EMACS_INT n, unsigned char *base_pat, | |||
| 1991 | || CHAR_HEAD_P (ptr[1])) | 1991 | || CHAR_HEAD_P (ptr[1])) |
| 1992 | && (CHAR_HEAD_P (ptr[0]) | 1992 | && (CHAR_HEAD_P (ptr[0]) |
| 1993 | /* Check if this is the last byte of a | 1993 | /* Check if this is the last byte of a |
| 1994 | translable character. */ | 1994 | translatable character. */ |
| 1995 | || (translate_prev_byte1 == ptr[-1] | 1995 | || (translate_prev_byte1 == ptr[-1] |
| 1996 | && (CHAR_HEAD_P (translate_prev_byte1) | 1996 | && (CHAR_HEAD_P (translate_prev_byte1) |
| 1997 | || (translate_prev_byte2 == ptr[-2] | 1997 | || (translate_prev_byte2 == ptr[-2] |
diff --git a/src/sound.c b/src/sound.c index 39007574afc..4e9758d27df 100644 --- a/src/sound.c +++ b/src/sound.c | |||
| @@ -267,7 +267,7 @@ struct sound | |||
| 267 | read from the start of a sound file. */ | 267 | read from the start of a sound file. */ |
| 268 | char *header; | 268 | char *header; |
| 269 | 269 | ||
| 270 | /* Number of bytes raed from sound file. This is always <= | 270 | /* Number of bytes read from sound file. This is always <= |
| 271 | MAX_SOUND_HEADER_BYTES. */ | 271 | MAX_SOUND_HEADER_BYTES. */ |
| 272 | int header_size; | 272 | int header_size; |
| 273 | 273 | ||
diff --git a/src/sysdep.c b/src/sysdep.c index d666f8dbb79..ae200308bf3 100644 --- a/src/sysdep.c +++ b/src/sysdep.c | |||
| @@ -1663,7 +1663,7 @@ init_signals (void) | |||
| 1663 | sys_siglist[SIGQUIT] = "Quit"; | 1663 | sys_siglist[SIGQUIT] = "Quit"; |
| 1664 | # endif | 1664 | # endif |
| 1665 | # ifdef SIGRETRACT | 1665 | # ifdef SIGRETRACT |
| 1666 | sys_siglist[SIGRETRACT] = "Need to relinguish monitor mode"; | 1666 | sys_siglist[SIGRETRACT] = "Need to relinquish monitor mode"; |
| 1667 | # endif | 1667 | # endif |
| 1668 | # ifdef SIGSAK | 1668 | # ifdef SIGSAK |
| 1669 | sys_siglist[SIGSAK] = "Secure attention"; | 1669 | sys_siglist[SIGSAK] = "Secure attention"; |
| @@ -3057,7 +3057,7 @@ generate_inode_val (const char * name) | |||
| 3057 | unsigned hash; | 3057 | unsigned hash; |
| 3058 | 3058 | ||
| 3059 | /* Get the truly canonical filename, if it exists. (Note: this | 3059 | /* Get the truly canonical filename, if it exists. (Note: this |
| 3060 | doesn't resolve aliasing due to subst commands, or recognise hard | 3060 | doesn't resolve aliasing due to subst commands, or recognize hard |
| 3061 | links. */ | 3061 | links. */ |
| 3062 | if (!w32_get_long_filename ((char *)name, fullname, MAX_PATH)) | 3062 | if (!w32_get_long_filename ((char *)name, fullname, MAX_PATH)) |
| 3063 | abort (); | 3063 | abort (); |
| @@ -3403,7 +3403,7 @@ stat (const char * path, struct stat * buf) | |||
| 3403 | FILE_FLAG_BACKUP_SEMANTICS, NULL)) | 3403 | FILE_FLAG_BACKUP_SEMANTICS, NULL)) |
| 3404 | != INVALID_HANDLE_VALUE) | 3404 | != INVALID_HANDLE_VALUE) |
| 3405 | { | 3405 | { |
| 3406 | /* This is more accurate in terms of gettting the correct number | 3406 | /* This is more accurate in terms of getting the correct number |
| 3407 | of links, but is quite slow (it is noticeable when Emacs is | 3407 | of links, but is quite slow (it is noticeable when Emacs is |
| 3408 | making a list of file name completions). */ | 3408 | making a list of file name completions). */ |
| 3409 | BY_HANDLE_FILE_INFORMATION info; | 3409 | BY_HANDLE_FILE_INFORMATION info; |
| @@ -5845,7 +5845,7 @@ term_ntproc (void) | |||
| 5845 | void | 5845 | void |
| 5846 | init_ntproc (void) | 5846 | init_ntproc (void) |
| 5847 | { | 5847 | { |
| 5848 | /* Initialise the socket interface now if available and requested by | 5848 | /* Initialize the socket interface now if available and requested by |
| 5849 | the user by defining PRELOAD_WINSOCK; otherwise loading will be | 5849 | the user by defining PRELOAD_WINSOCK; otherwise loading will be |
| 5850 | delayed until open-network-stream is called (w32-has-winsock can | 5850 | delayed until open-network-stream is called (w32-has-winsock can |
| 5851 | also be used to dynamically load or reload winsock). | 5851 | also be used to dynamically load or reload winsock). |
diff --git a/src/w32console.c b/src/w32console.c index 49bf56ddee9..30c71f1c276 100644 --- a/src/w32console.c +++ b/src/w32console.c | |||
| @@ -748,7 +748,7 @@ syms_of_ntterm (void) | |||
| 748 | doc: /* Non-nil means make terminal frames use the full screen buffer dimensions. | 748 | doc: /* Non-nil means make terminal frames use the full screen buffer dimensions. |
| 749 | This is desirable when running Emacs over telnet. | 749 | This is desirable when running Emacs over telnet. |
| 750 | A value of nil means use the current console window dimensions; this | 750 | A value of nil means use the current console window dimensions; this |
| 751 | may be preferrable when working directly at the console with a large | 751 | may be preferable when working directly at the console with a large |
| 752 | scroll-back buffer. */); | 752 | scroll-back buffer. */); |
| 753 | w32_use_full_screen_buffer = 0; | 753 | w32_use_full_screen_buffer = 0; |
| 754 | 754 | ||
| @@ -757,4 +757,3 @@ scroll-back buffer. */); | |||
| 757 | defsubr (&Sset_cursor_size); | 757 | defsubr (&Sset_cursor_size); |
| 758 | defsubr (&Sset_message_beep); | 758 | defsubr (&Sset_message_beep); |
| 759 | } | 759 | } |
| 760 | |||
diff --git a/src/w32fns.c b/src/w32fns.c index 4a6da46141c..434861320a5 100644 --- a/src/w32fns.c +++ b/src/w32fns.c | |||
| @@ -2262,7 +2262,7 @@ w32_msg_pump (deferred_msg * msg_buf) | |||
| 2262 | some third party shell extensions can cause it to be used in | 2262 | some third party shell extensions can cause it to be used in |
| 2263 | system dialogs, which causes a crash if it is not initialized. | 2263 | system dialogs, which causes a crash if it is not initialized. |
| 2264 | This is a known bug in Windows, which was fixed long ago, but | 2264 | This is a known bug in Windows, which was fixed long ago, but |
| 2265 | the patch for XP is not publically available until XP SP3, | 2265 | the patch for XP is not publicly available until XP SP3, |
| 2266 | and older versions will never be patched. */ | 2266 | and older versions will never be patched. */ |
| 2267 | CoInitialize (NULL); | 2267 | CoInitialize (NULL); |
| 2268 | w32_createwindow ((struct frame *) msg.wParam); | 2268 | w32_createwindow ((struct frame *) msg.wParam); |
| @@ -2880,7 +2880,7 @@ w32_wnd_proc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) | |||
| 2880 | key.dwControlKeyState = modifiers; | 2880 | key.dwControlKeyState = modifiers; |
| 2881 | 2881 | ||
| 2882 | add = w32_kbd_patch_key (&key); | 2882 | add = w32_kbd_patch_key (&key); |
| 2883 | /* 0 means an unrecognised keycode, negative means | 2883 | /* 0 means an unrecognized keycode, negative means |
| 2884 | dead key. Ignore both. */ | 2884 | dead key. Ignore both. */ |
| 2885 | while (--add >= 0) | 2885 | while (--add >= 0) |
| 2886 | { | 2886 | { |
| @@ -2943,7 +2943,7 @@ w32_wnd_proc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) | |||
| 2943 | break; | 2943 | break; |
| 2944 | 2944 | ||
| 2945 | case WM_IME_CHAR: | 2945 | case WM_IME_CHAR: |
| 2946 | /* If we can't get the IME result as unicode, use default processing, | 2946 | /* If we can't get the IME result as Unicode, use default processing, |
| 2947 | which will at least allow characters decodable in the system locale | 2947 | which will at least allow characters decodable in the system locale |
| 2948 | get through. */ | 2948 | get through. */ |
| 2949 | if (!get_composition_string_fn) | 2949 | if (!get_composition_string_fn) |
diff --git a/src/w32font.c b/src/w32font.c index bd58e7e757b..5cc37c0e74f 100644 --- a/src/w32font.c +++ b/src/w32font.c | |||
| @@ -462,7 +462,7 @@ w32font_has_char (Lisp_Object entity, int c) | |||
| 462 | Return a glyph code of FONT for character C (Unicode code point). | 462 | Return a glyph code of FONT for character C (Unicode code point). |
| 463 | If FONT doesn't have such a glyph, return FONT_INVALID_CODE. | 463 | If FONT doesn't have such a glyph, return FONT_INVALID_CODE. |
| 464 | 464 | ||
| 465 | For speed, the gdi backend uses unicode (Emacs calls encode_char | 465 | For speed, the gdi backend uses Unicode (Emacs calls encode_char |
| 466 | far too often for it to be efficient). But we still need to detect | 466 | far too often for it to be efficient). But we still need to detect |
| 467 | which characters are not supported by the font. | 467 | which characters are not supported by the font. |
| 468 | */ | 468 | */ |
| @@ -620,7 +620,7 @@ w32font_text_extents (struct font *font, unsigned *code, | |||
| 620 | total_width = size.cx; | 620 | total_width = size.cx; |
| 621 | } | 621 | } |
| 622 | 622 | ||
| 623 | /* On 95/98/ME, only some unicode functions are available, so fallback | 623 | /* On 95/98/ME, only some Unicode functions are available, so fallback |
| 624 | on doing a dummy draw to find the total width. */ | 624 | on doing a dummy draw to find the total width. */ |
| 625 | if (!total_width) | 625 | if (!total_width) |
| 626 | { | 626 | { |
| @@ -1153,7 +1153,7 @@ w32_enumfont_pattern_entity (Lisp_Object frame, | |||
| 1153 | else | 1153 | else |
| 1154 | ASET (entity, FONT_SIZE_INDEX, make_number (0)); | 1154 | ASET (entity, FONT_SIZE_INDEX, make_number (0)); |
| 1155 | 1155 | ||
| 1156 | /* Cache unicode codepoints covered by this font, as there is no other way | 1156 | /* Cache Unicode codepoints covered by this font, as there is no other way |
| 1157 | of getting this information easily. */ | 1157 | of getting this information easily. */ |
| 1158 | if (font_type & TRUETYPE_FONTTYPE) | 1158 | if (font_type & TRUETYPE_FONTTYPE) |
| 1159 | { | 1159 | { |
| @@ -1514,7 +1514,7 @@ add_font_entity_to_list (ENUMLOGFONTEX *logical_font, | |||
| 1514 | /* Skip non matching fonts. */ | 1514 | /* Skip non matching fonts. */ |
| 1515 | 1515 | ||
| 1516 | /* For uniscribe backend, consider only truetype or opentype fonts | 1516 | /* For uniscribe backend, consider only truetype or opentype fonts |
| 1517 | that have some unicode coverage. */ | 1517 | that have some Unicode coverage. */ |
| 1518 | if (match_data->opentype_only | 1518 | if (match_data->opentype_only |
| 1519 | && ((!(physical_font->ntmTm.ntmFlags & NTMFLAGS_OPENTYPE) | 1519 | && ((!(physical_font->ntmTm.ntmFlags & NTMFLAGS_OPENTYPE) |
| 1520 | && !(font_type & TRUETYPE_FONTTYPE)) | 1520 | && !(font_type & TRUETYPE_FONTTYPE)) |
| @@ -1557,7 +1557,7 @@ add_font_entity_to_list (ENUMLOGFONTEX *logical_font, | |||
| 1557 | Lisp_Object spec_charset = AREF (match_data->orig_font_spec, | 1557 | Lisp_Object spec_charset = AREF (match_data->orig_font_spec, |
| 1558 | FONT_REGISTRY_INDEX); | 1558 | FONT_REGISTRY_INDEX); |
| 1559 | 1559 | ||
| 1560 | /* iso10646-1 fonts must contain unicode mapping tables. */ | 1560 | /* iso10646-1 fonts must contain Unicode mapping tables. */ |
| 1561 | if (EQ (spec_charset, Qiso10646_1)) | 1561 | if (EQ (spec_charset, Qiso10646_1)) |
| 1562 | { | 1562 | { |
| 1563 | if (!is_unicode) | 1563 | if (!is_unicode) |
| @@ -1572,7 +1572,7 @@ add_font_entity_to_list (ENUMLOGFONTEX *logical_font, | |||
| 1572 | && !(physical_font->ntmFontSig.fsUsb[0] & 0x007F001F)) | 1572 | && !(physical_font->ntmFontSig.fsUsb[0] & 0x007F001F)) |
| 1573 | return 1; | 1573 | return 1; |
| 1574 | } | 1574 | } |
| 1575 | /* unicode-sip fonts must contain characters in unicode plane 2. | 1575 | /* unicode-sip fonts must contain characters in Unicode plane 2. |
| 1576 | so look for bit 57 (surrogates) in the Unicode subranges, plus | 1576 | so look for bit 57 (surrogates) in the Unicode subranges, plus |
| 1577 | the bits for CJK ranges that include those characters. */ | 1577 | the bits for CJK ranges that include those characters. */ |
| 1578 | else if (EQ (spec_charset, Qunicode_sip)) | 1578 | else if (EQ (spec_charset, Qunicode_sip)) |
| @@ -1597,7 +1597,7 @@ add_font_entity_to_list (ENUMLOGFONTEX *logical_font, | |||
| 1597 | ASET (entity, FONT_REGISTRY_INDEX, spec_charset); | 1597 | ASET (entity, FONT_REGISTRY_INDEX, spec_charset); |
| 1598 | } | 1598 | } |
| 1599 | /* Otherwise if using the uniscribe backend, report ANSI and DEFAULT | 1599 | /* Otherwise if using the uniscribe backend, report ANSI and DEFAULT |
| 1600 | fonts as unicode and skip other charsets. */ | 1600 | fonts as Unicode and skip other charsets. */ |
| 1601 | else if (match_data->opentype_only) | 1601 | else if (match_data->opentype_only) |
| 1602 | { | 1602 | { |
| 1603 | if (logical_font->elfLogFont.lfCharSet == ANSI_CHARSET | 1603 | if (logical_font->elfLogFont.lfCharSet == ANSI_CHARSET |
| @@ -1640,7 +1640,7 @@ x_to_w32_charset (char * lpcs) | |||
| 1640 | if (strncmp (lpcs, "*-#", 3) == 0) | 1640 | if (strncmp (lpcs, "*-#", 3) == 0) |
| 1641 | return atoi (lpcs + 3); | 1641 | return atoi (lpcs + 3); |
| 1642 | 1642 | ||
| 1643 | /* All Windows fonts qualify as unicode. */ | 1643 | /* All Windows fonts qualify as Unicode. */ |
| 1644 | if (!strncmp (lpcs, "iso10646", 8)) | 1644 | if (!strncmp (lpcs, "iso10646", 8)) |
| 1645 | return DEFAULT_CHARSET; | 1645 | return DEFAULT_CHARSET; |
| 1646 | 1646 | ||
| @@ -1925,7 +1925,7 @@ w32_registry (LONG w32_charset, DWORD font_type) | |||
| 1925 | { | 1925 | { |
| 1926 | char *charset; | 1926 | char *charset; |
| 1927 | 1927 | ||
| 1928 | /* If charset is defaulted, charset is unicode or unknown, depending on | 1928 | /* If charset is defaulted, charset is Unicode or unknown, depending on |
| 1929 | font type. */ | 1929 | font type. */ |
| 1930 | if (w32_charset == DEFAULT_CHARSET) | 1930 | if (w32_charset == DEFAULT_CHARSET) |
| 1931 | return font_type == TRUETYPE_FONTTYPE ? Qiso10646_1 : Qunknown; | 1931 | return font_type == TRUETYPE_FONTTYPE ? Qiso10646_1 : Qunknown; |
| @@ -2080,7 +2080,7 @@ fill_in_logfont (FRAME_PTR f, LOGFONT *logfont, Lisp_Object font_spec) | |||
| 2080 | { | 2080 | { |
| 2081 | Lisp_Object key, val; | 2081 | Lisp_Object key, val; |
| 2082 | key = XCAR (tmp), val = XCDR (tmp); | 2082 | key = XCAR (tmp), val = XCDR (tmp); |
| 2083 | /* Only use QCscript if charset is not provided, or is unicode | 2083 | /* Only use QCscript if charset is not provided, or is Unicode |
| 2084 | and a single script is specified. This is rather crude, | 2084 | and a single script is specified. This is rather crude, |
| 2085 | and is only used to narrow down the fonts returned where | 2085 | and is only used to narrow down the fonts returned where |
| 2086 | there is a definite match. Some scripts, such as latin, han, | 2086 | there is a definite match. Some scripts, such as latin, han, |
diff --git a/src/w32menu.c b/src/w32menu.c index 39d101e7bd5..9b2d014cd58 100644 --- a/src/w32menu.c +++ b/src/w32menu.c | |||
| @@ -1219,7 +1219,7 @@ simple_dialog_show (FRAME_PTR f, Lisp_Object contents, Lisp_Object header) | |||
| 1219 | is_simple_dialog, we don't need to worry about checking contents | 1219 | is_simple_dialog, we don't need to worry about checking contents |
| 1220 | to see what type of dialog to use. */ | 1220 | to see what type of dialog to use. */ |
| 1221 | 1221 | ||
| 1222 | /* Use unicode if possible, so any language can be displayed. */ | 1222 | /* Use Unicode if possible, so any language can be displayed. */ |
| 1223 | if (unicode_message_box) | 1223 | if (unicode_message_box) |
| 1224 | { | 1224 | { |
| 1225 | WCHAR *text, *title; | 1225 | WCHAR *text, *title; |
| @@ -1476,7 +1476,7 @@ add_menu_item (HMENU menu, widget_value *wv, HMENU item) | |||
| 1476 | utf16_string); | 1476 | utf16_string); |
| 1477 | if (!return_value) | 1477 | if (!return_value) |
| 1478 | { | 1478 | { |
| 1479 | /* On W9x/ME, unicode menus are not supported, though AppendMenuW | 1479 | /* On W9x/ME, Unicode menus are not supported, though AppendMenuW |
| 1480 | apparently does exist at least in some cases and appears to be | 1480 | apparently does exist at least in some cases and appears to be |
| 1481 | stubbed out to do nothing. out_string is UTF-8, but since | 1481 | stubbed out to do nothing. out_string is UTF-8, but since |
| 1482 | our standard menus are in English and this is only going to | 1482 | our standard menus are in English and this is only going to |
| @@ -1486,7 +1486,7 @@ add_menu_item (HMENU menu, widget_value *wv, HMENU item) | |||
| 1486 | AppendMenu (menu, fuFlags, | 1486 | AppendMenu (menu, fuFlags, |
| 1487 | item != NULL ? (UINT) item: (UINT) wv->call_data, | 1487 | item != NULL ? (UINT) item: (UINT) wv->call_data, |
| 1488 | out_string); | 1488 | out_string); |
| 1489 | /* Don't use unicode menus in future. */ | 1489 | /* Don't use Unicode menus in future. */ |
| 1490 | unicode_append_menu = NULL; | 1490 | unicode_append_menu = NULL; |
| 1491 | } | 1491 | } |
| 1492 | 1492 | ||
diff --git a/src/w32proc.c b/src/w32proc.c index 279816bcc3e..254a32503c4 100644 --- a/src/w32proc.c +++ b/src/w32proc.c | |||
| @@ -122,12 +122,12 @@ new_child (void) | |||
| 122 | 122 | ||
| 123 | for (cp = child_procs + (child_proc_count-1); cp >= child_procs; cp--) | 123 | for (cp = child_procs + (child_proc_count-1); cp >= child_procs; cp--) |
| 124 | if (!CHILD_ACTIVE (cp)) | 124 | if (!CHILD_ACTIVE (cp)) |
| 125 | goto Initialise; | 125 | goto Initialize; |
| 126 | if (child_proc_count == MAX_CHILDREN) | 126 | if (child_proc_count == MAX_CHILDREN) |
| 127 | return NULL; | 127 | return NULL; |
| 128 | cp = &child_procs[child_proc_count++]; | 128 | cp = &child_procs[child_proc_count++]; |
| 129 | 129 | ||
| 130 | Initialise: | 130 | Initialize: |
| 131 | memset (cp, 0, sizeof (*cp)); | 131 | memset (cp, 0, sizeof (*cp)); |
| 132 | cp->fd = -1; | 132 | cp->fd = -1; |
| 133 | cp->pid = -1; | 133 | cp->pid = -1; |
| @@ -821,7 +821,7 @@ sys_spawnve (int mode, char *cmdname, char **argv, char **envp) | |||
| 821 | 821 | ||
| 822 | The w32 GNU-based library from Cygnus doubles quotes to escape | 822 | The w32 GNU-based library from Cygnus doubles quotes to escape |
| 823 | them, while MSVC uses backslash for escaping. (Actually the MSVC | 823 | them, while MSVC uses backslash for escaping. (Actually the MSVC |
| 824 | startup code does attempt to recognise doubled quotes and accept | 824 | startup code does attempt to recognize doubled quotes and accept |
| 825 | them, but gets it wrong and ends up requiring three quotes to get a | 825 | them, but gets it wrong and ends up requiring three quotes to get a |
| 826 | single embedded quote!) So by default we decide whether to use | 826 | single embedded quote!) So by default we decide whether to use |
| 827 | quote or backslash as the escape character based on whether the | 827 | quote or backslash as the escape character based on whether the |
diff --git a/src/w32term.c b/src/w32term.c index e9fa16ba325..a2ccdd21f7d 100644 --- a/src/w32term.c +++ b/src/w32term.c | |||
| @@ -4506,7 +4506,7 @@ w32_read_socket (struct terminal *terminal, int expected, | |||
| 4506 | } | 4506 | } |
| 4507 | 4507 | ||
| 4508 | /* If window has been obscured or exposed by another window | 4508 | /* If window has been obscured or exposed by another window |
| 4509 | being maximised or minimised/restored, then recheck | 4509 | being maximized or minimized/restored, then recheck |
| 4510 | visibility of all frames. Direct changes to our own | 4510 | visibility of all frames. Direct changes to our own |
| 4511 | windows get handled by WM_SIZE. */ | 4511 | windows get handled by WM_SIZE. */ |
| 4512 | #if 0 | 4512 | #if 0 |
| @@ -5576,7 +5576,7 @@ x_raise_frame (struct frame *f) | |||
| 5576 | input focus anyway (so the window with focus will never be | 5576 | input focus anyway (so the window with focus will never be |
| 5577 | completely obscured) - if not, then just moving the mouse over it | 5577 | completely obscured) - if not, then just moving the mouse over it |
| 5578 | is sufficient to give it focus. On Windows, the user must actually | 5578 | is sufficient to give it focus. On Windows, the user must actually |
| 5579 | click on the frame (preferrably the title bar so as not to move | 5579 | click on the frame (preferably the title bar so as not to move |
| 5580 | point), which is more awkward. Also, no other Windows program | 5580 | point), which is more awkward. Also, no other Windows program |
| 5581 | raises a window to the top but leaves another window (possibly now | 5581 | raises a window to the top but leaves another window (possibly now |
| 5582 | completely obscured) with input focus. | 5582 | completely obscured) with input focus. |
| @@ -5692,10 +5692,10 @@ x_make_frame_visible (struct frame *f) | |||
| 5692 | 5692 | ||
| 5693 | /* According to a report in emacs-devel 2008-06-03, SW_SHOWNORMAL | 5693 | /* According to a report in emacs-devel 2008-06-03, SW_SHOWNORMAL |
| 5694 | causes unexpected behavior when unminimizing frames that were | 5694 | causes unexpected behavior when unminimizing frames that were |
| 5695 | previously maximised. But only SW_SHOWNORMAL works properly for | 5695 | previously maximized. But only SW_SHOWNORMAL works properly for |
| 5696 | frames that were truely hidden (using make-frame-invisible), so | 5696 | frames that were truely hidden (using make-frame-invisible), so |
| 5697 | we need it to avoid Bug#5482. It seems that async_iconified | 5697 | we need it to avoid Bug#5482. It seems that async_iconified |
| 5698 | is only set for minimised windows that are still visible, so | 5698 | is only set for minimized windows that are still visible, so |
| 5699 | use that to determine the appropriate flag to pass ShowWindow. */ | 5699 | use that to determine the appropriate flag to pass ShowWindow. */ |
| 5700 | my_show_window (f, FRAME_W32_WINDOW (f), | 5700 | my_show_window (f, FRAME_W32_WINDOW (f), |
| 5701 | f->async_iconified ? SW_RESTORE : SW_SHOWNORMAL); | 5701 | f->async_iconified ? SW_RESTORE : SW_SHOWNORMAL); |
| @@ -6164,7 +6164,7 @@ w32_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name) | |||
| 6164 | dpyinfo->has_palette = GetDeviceCaps (hdc, RASTERCAPS) & RC_PALETTE; | 6164 | dpyinfo->has_palette = GetDeviceCaps (hdc, RASTERCAPS) & RC_PALETTE; |
| 6165 | ReleaseDC (NULL, hdc); | 6165 | ReleaseDC (NULL, hdc); |
| 6166 | 6166 | ||
| 6167 | /* initialise palette with white and black */ | 6167 | /* initialize palette with white and black */ |
| 6168 | { | 6168 | { |
| 6169 | XColor color; | 6169 | XColor color; |
| 6170 | w32_defined_color (0, "white", &color, 1); | 6170 | w32_defined_color (0, "white", &color, 1); |
diff --git a/src/w32uniscribe.c b/src/w32uniscribe.c index 36197b3b28a..63da3b9e962 100644 --- a/src/w32uniscribe.c +++ b/src/w32uniscribe.c | |||
| @@ -469,7 +469,7 @@ uniscribe_encode_char (struct font *font, int c) | |||
| 469 | 469 | ||
| 470 | /* Non BMP characters must be handled by the uniscribe shaping | 470 | /* Non BMP characters must be handled by the uniscribe shaping |
| 471 | engine as GDI functions (except blindly displaying lines of | 471 | engine as GDI functions (except blindly displaying lines of |
| 472 | unicode text) and the promising looking ScriptGetCMap do not | 472 | Unicode text) and the promising looking ScriptGetCMap do not |
| 473 | convert surrogate pairs to glyph indexes correctly. */ | 473 | convert surrogate pairs to glyph indexes correctly. */ |
| 474 | { | 474 | { |
| 475 | items = (SCRIPT_ITEM *) alloca (sizeof (SCRIPT_ITEM) * 2 + 1); | 475 | items = (SCRIPT_ITEM *) alloca (sizeof (SCRIPT_ITEM) * 2 + 1); |
| @@ -581,7 +581,7 @@ add_opentype_font_name_to_list (ENUMLOGFONTEX *logical_font, | |||
| 581 | && font_type != TRUETYPE_FONTTYPE) | 581 | && font_type != TRUETYPE_FONTTYPE) |
| 582 | return 1; | 582 | return 1; |
| 583 | 583 | ||
| 584 | /* Skip fonts that have no unicode coverage. */ | 584 | /* Skip fonts that have no Unicode coverage. */ |
| 585 | if (!physical_font->ntmFontSig.fsUsb[3] | 585 | if (!physical_font->ntmFontSig.fsUsb[3] |
| 586 | && !physical_font->ntmFontSig.fsUsb[2] | 586 | && !physical_font->ntmFontSig.fsUsb[2] |
| 587 | && !physical_font->ntmFontSig.fsUsb[1] | 587 | && !physical_font->ntmFontSig.fsUsb[1] |
diff --git a/src/w32xfns.c b/src/w32xfns.c index fbbf11bd65c..fc2d5904d67 100644 --- a/src/w32xfns.c +++ b/src/w32xfns.c | |||
| @@ -188,7 +188,7 @@ get_next_msg (W32Msg * lpmsg, BOOL bWait) | |||
| 188 | } | 188 | } |
| 189 | 189 | ||
| 190 | nQueue--; | 190 | nQueue--; |
| 191 | /* Consolidate WM_PAINT messages to optimise redrawing. */ | 191 | /* Consolidate WM_PAINT messages to optimize redrawing. */ |
| 192 | if (lpmsg->msg.message == WM_PAINT && nQueue) | 192 | if (lpmsg->msg.message == WM_PAINT && nQueue) |
| 193 | { | 193 | { |
| 194 | int_msg * lpCur = lpHead; | 194 | int_msg * lpCur = lpHead; |
| @@ -441,4 +441,3 @@ void | |||
| 441 | x_sync (void *f) | 441 | x_sync (void *f) |
| 442 | { | 442 | { |
| 443 | } | 443 | } |
| 444 | |||
diff --git a/src/window.c b/src/window.c index a7daa1353bd..728e811f304 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -467,10 +467,8 @@ Return nil if WINDOW has no previous sibling. */) | |||
| 467 | return decode_any_window (window)->prev; | 467 | return decode_any_window (window)->prev; |
| 468 | } | 468 | } |
| 469 | 469 | ||
| 470 | DEFUN ("window-combination-limit", Fwindow_combination_limit, Swindow_combination_limit, 0, 1, 0, | 470 | DEFUN ("window-combination-limit", Fwindow_combination_limit, Swindow_combination_limit, 1, 1, 0, |
| 471 | doc: /* Return combination limit of window WINDOW. | 471 | doc: /* Return combination limit of window WINDOW. |
| 472 | If WINDOW is omitted or nil, it defaults to the selected window. | ||
| 473 | |||
| 474 | If the return value is nil, child windows of WINDOW can be recombined with | 472 | If the return value is nil, child windows of WINDOW can be recombined with |
| 475 | WINDOW's siblings. A return value of t means that child windows of | 473 | WINDOW's siblings. A return value of t means that child windows of |
| 476 | WINDOW are never \(re-)combined with WINDOW's siblings. */) | 474 | WINDOW are never \(re-)combined with WINDOW's siblings. */) |
| @@ -480,18 +478,16 @@ WINDOW are never \(re-)combined with WINDOW's siblings. */) | |||
| 480 | } | 478 | } |
| 481 | 479 | ||
| 482 | DEFUN ("set-window-combination-limit", Fset_window_combination_limit, Sset_window_combination_limit, 2, 2, 0, | 480 | DEFUN ("set-window-combination-limit", Fset_window_combination_limit, Sset_window_combination_limit, 2, 2, 0, |
| 483 | doc: /* Set combination limit of window WINDOW to STATUS; return STATUS. | 481 | doc: /* Set combination limit of window WINDOW to LIMIT; return LIMIT. |
| 484 | If WINDOW is omitted or nil, it defaults to the selected window. | 482 | If LIMIT is nil, child windows of WINDOW can be recombined with |
| 485 | 483 | WINDOW's siblings. LIMIT t means that child windows of WINDOW are | |
| 486 | If STATUS is nil, child windows of WINDOW can be recombined with | ||
| 487 | WINDOW's siblings. STATUS t means that child windows of WINDOW are | ||
| 488 | never \(re-)combined with WINDOW's siblings. Other values are reserved | 484 | never \(re-)combined with WINDOW's siblings. Other values are reserved |
| 489 | for future use. */) | 485 | for future use. */) |
| 490 | (Lisp_Object window, Lisp_Object status) | 486 | (Lisp_Object window, Lisp_Object limit) |
| 491 | { | 487 | { |
| 492 | register struct window *w = decode_any_window (window); | 488 | register struct window *w = decode_any_window (window); |
| 493 | 489 | ||
| 494 | w->combination_limit = status; | 490 | w->combination_limit = limit; |
| 495 | 491 | ||
| 496 | return w->combination_limit; | 492 | return w->combination_limit; |
| 497 | } | 493 | } |
| @@ -2187,7 +2183,7 @@ next_window (Lisp_Object window, Lisp_Object minibuf, Lisp_Object all_frames, in | |||
| 2187 | 2183 | ||
| 2188 | 2184 | ||
| 2189 | DEFUN ("next-window", Fnext_window, Snext_window, 0, 3, 0, | 2185 | DEFUN ("next-window", Fnext_window, Snext_window, 0, 3, 0, |
| 2190 | doc: /* Return window following WINDOW in cyclic ordering of windows. | 2186 | doc: /* Return live window after WINDOW in the cyclic ordering of windows. |
| 2191 | WINDOW must be a live window and defaults to the selected one. The | 2187 | WINDOW must be a live window and defaults to the selected one. The |
| 2192 | optional arguments MINIBUF and ALL-FRAMES specify the set of windows to | 2188 | optional arguments MINIBUF and ALL-FRAMES specify the set of windows to |
| 2193 | consider. | 2189 | consider. |
| @@ -2226,7 +2222,7 @@ windows, eventually ending up back at the window you started with. | |||
| 2226 | 2222 | ||
| 2227 | 2223 | ||
| 2228 | DEFUN ("previous-window", Fprevious_window, Sprevious_window, 0, 3, 0, | 2224 | DEFUN ("previous-window", Fprevious_window, Sprevious_window, 0, 3, 0, |
| 2229 | doc: /* Return window preceding WINDOW in cyclic ordering of windows. | 2225 | doc: /* Return live window before WINDOW in the cyclic ordering of windows. |
| 2230 | WINDOW must be a live window and defaults to the selected one. The | 2226 | WINDOW must be a live window and defaults to the selected one. The |
| 2231 | optional arguments MINIBUF and ALL-FRAMES specify the set of windows to | 2227 | optional arguments MINIBUF and ALL-FRAMES specify the set of windows to |
| 2232 | consider. | 2228 | consider. |
| @@ -5782,13 +5778,30 @@ get_phys_cursor_glyph (struct window *w) | |||
| 5782 | { | 5778 | { |
| 5783 | struct glyph_row *row; | 5779 | struct glyph_row *row; |
| 5784 | struct glyph *glyph; | 5780 | struct glyph *glyph; |
| 5781 | int hpos = w->phys_cursor.hpos; | ||
| 5782 | |||
| 5783 | if (!(w->phys_cursor.vpos >= 0 | ||
| 5784 | && w->phys_cursor.vpos < w->current_matrix->nrows)) | ||
| 5785 | return NULL; | ||
| 5786 | |||
| 5787 | row = MATRIX_ROW (w->current_matrix, w->phys_cursor.vpos); | ||
| 5788 | if (!row->enabled_p) | ||
| 5789 | return NULL; | ||
| 5790 | |||
| 5791 | if (XINT (w->hscroll)) | ||
| 5792 | { | ||
| 5793 | /* When the window is hscrolled, cursor hpos can legitimately be | ||
| 5794 | out of bounds, but we draw the cursor at the corresponding | ||
| 5795 | window margin in that case. */ | ||
| 5796 | if (!row->reversed_p && hpos < 0) | ||
| 5797 | hpos = 0; | ||
| 5798 | if (row->reversed_p && hpos >= row->used[TEXT_AREA]) | ||
| 5799 | hpos = row->used[TEXT_AREA] - 1; | ||
| 5800 | } | ||
| 5785 | 5801 | ||
| 5786 | if (w->phys_cursor.vpos >= 0 | 5802 | if (row->used[TEXT_AREA] > hpos |
| 5787 | && w->phys_cursor.vpos < w->current_matrix->nrows | 5803 | && 0 <= hpos) |
| 5788 | && (row = MATRIX_ROW (w->current_matrix, w->phys_cursor.vpos), | 5804 | glyph = row->glyphs[TEXT_AREA] + hpos; |
| 5789 | row->enabled_p) | ||
| 5790 | && row->used[TEXT_AREA] > w->phys_cursor.hpos) | ||
| 5791 | glyph = row->glyphs[TEXT_AREA] + w->phys_cursor.hpos; | ||
| 5792 | else | 5805 | else |
| 5793 | glyph = NULL; | 5806 | glyph = NULL; |
| 5794 | 5807 | ||
| @@ -6524,10 +6537,10 @@ sibling. | |||
| 6524 | 6537 | ||
| 6525 | Other values are reserved for future use. | 6538 | Other values are reserved for future use. |
| 6526 | 6539 | ||
| 6527 | The value of this variable is also assigned to the combination-limit | 6540 | The value of this variable is also assigned to the combination limit of |
| 6528 | status of the new parent window. The combination-limit status of a | 6541 | the new parent window. The combination limit of a window can be |
| 6529 | window can be retrieved via the function `window-combination-limit' and | 6542 | retrieved via the function `window-combination-limit' and altered by the |
| 6530 | altered by the function `set-window-combination-limit'. */); | 6543 | function `set-window-combination-limit'. */); |
| 6531 | Vwindow_combination_limit = Qnil; | 6544 | Vwindow_combination_limit = Qnil; |
| 6532 | 6545 | ||
| 6533 | defsubr (&Sselected_window); | 6546 | defsubr (&Sselected_window); |
diff --git a/src/window.h b/src/window.h index de0f7307a51..df29ca1368f 100644 --- a/src/window.h +++ b/src/window.h | |||
| @@ -268,7 +268,7 @@ struct window | |||
| 268 | /* List of buffers re-shown in this window. */ | 268 | /* List of buffers re-shown in this window. */ |
| 269 | Lisp_Object next_buffers; | 269 | Lisp_Object next_buffers; |
| 270 | 270 | ||
| 271 | /* An alist with parameteres. */ | 271 | /* An alist with parameters. */ |
| 272 | Lisp_Object window_parameters; | 272 | Lisp_Object window_parameters; |
| 273 | 273 | ||
| 274 | /* No Lisp data may follow below this point without changing | 274 | /* No Lisp data may follow below this point without changing |
diff --git a/src/xdisp.c b/src/xdisp.c index 747b91fa4ab..7c415e485b5 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -1450,7 +1450,7 @@ pos_visible_p (struct window *w, EMACS_INT charpos, int *x, int *y, | |||
| 1450 | position is CHARPOS. For the contingency that we | 1450 | position is CHARPOS. For the contingency that we |
| 1451 | didn't, and stopped at the first newline from the | 1451 | didn't, and stopped at the first newline from the |
| 1452 | display string, move back over the glyphs | 1452 | display string, move back over the glyphs |
| 1453 | prfoduced from the string, until we find the | 1453 | produced from the string, until we find the |
| 1454 | rightmost glyph not from the string. */ | 1454 | rightmost glyph not from the string. */ |
| 1455 | if (IT_CHARPOS (it3) != charpos && EQ (it3.object, string)) | 1455 | if (IT_CHARPOS (it3) != charpos && EQ (it3.object, string)) |
| 1456 | { | 1456 | { |
| @@ -14170,7 +14170,7 @@ set_cursor_from_row (struct window *w, struct glyph_row *row, | |||
| 14170 | || (STRINGP (g1->object) | 14170 | || (STRINGP (g1->object) |
| 14171 | && (!NILP (Fget_char_property (make_number (g1->charpos), | 14171 | && (!NILP (Fget_char_property (make_number (g1->charpos), |
| 14172 | Qcursor, g1->object)) | 14172 | Qcursor, g1->object)) |
| 14173 | /* pevious candidate is from the same display | 14173 | /* previous candidate is from the same display |
| 14174 | string as this one, and the display string | 14174 | string as this one, and the display string |
| 14175 | came from a text property */ | 14175 | came from a text property */ |
| 14176 | || (EQ (g1->object, glyph->object) | 14176 | || (EQ (g1->object, glyph->object) |
| @@ -15092,7 +15092,7 @@ redisplay_window (Lisp_Object window, int just_this_one_p) | |||
| 15092 | int current_matrix_up_to_date_p = 0; | 15092 | int current_matrix_up_to_date_p = 0; |
| 15093 | int used_current_matrix_p = 0; | 15093 | int used_current_matrix_p = 0; |
| 15094 | /* This is less strict than current_matrix_up_to_date_p. | 15094 | /* This is less strict than current_matrix_up_to_date_p. |
| 15095 | It indictes that the buffer contents and narrowing are unchanged. */ | 15095 | It indicates that the buffer contents and narrowing are unchanged. */ |
| 15096 | int buffer_unchanged_p = 0; | 15096 | int buffer_unchanged_p = 0; |
| 15097 | int temp_scroll_step = 0; | 15097 | int temp_scroll_step = 0; |
| 15098 | int count = SPECPDL_INDEX (); | 15098 | int count = SPECPDL_INDEX (); |
| @@ -17102,7 +17102,7 @@ try_window_id (struct window *w) | |||
| 17102 | last_unchanged_at_beg_row = find_last_unchanged_at_beg_row (w); | 17102 | last_unchanged_at_beg_row = find_last_unchanged_at_beg_row (w); |
| 17103 | if (last_unchanged_at_beg_row) | 17103 | if (last_unchanged_at_beg_row) |
| 17104 | { | 17104 | { |
| 17105 | /* Avoid starting to display in the moddle of a character, a TAB | 17105 | /* Avoid starting to display in the middle of a character, a TAB |
| 17106 | for instance. This is easier than to set up the iterator | 17106 | for instance. This is easier than to set up the iterator |
| 17107 | exactly, and it's not a frequent case, so the additional | 17107 | exactly, and it's not a frequent case, so the additional |
| 17108 | effort wouldn't really pay off. */ | 17108 | effort wouldn't really pay off. */ |
| @@ -18054,6 +18054,23 @@ insert_left_trunc_glyphs (struct it *it) | |||
| 18054 | } | 18054 | } |
| 18055 | } | 18055 | } |
| 18056 | 18056 | ||
| 18057 | /* Compute the hash code for ROW. */ | ||
| 18058 | unsigned | ||
| 18059 | row_hash (struct glyph_row *row) | ||
| 18060 | { | ||
| 18061 | int area, k; | ||
| 18062 | unsigned hashval = 0; | ||
| 18063 | |||
| 18064 | for (area = LEFT_MARGIN_AREA; area < LAST_AREA; ++area) | ||
| 18065 | for (k = 0; k < row->used[area]; ++k) | ||
| 18066 | hashval = ((((hashval << 4) + (hashval >> 24)) & 0x0fffffff) | ||
| 18067 | + row->glyphs[area][k].u.val | ||
| 18068 | + row->glyphs[area][k].face_id | ||
| 18069 | + row->glyphs[area][k].padding_p | ||
| 18070 | + (row->glyphs[area][k].type << 2)); | ||
| 18071 | |||
| 18072 | return hashval; | ||
| 18073 | } | ||
| 18057 | 18074 | ||
| 18058 | /* Compute the pixel height and width of IT->glyph_row. | 18075 | /* Compute the pixel height and width of IT->glyph_row. |
| 18059 | 18076 | ||
| @@ -18140,17 +18157,7 @@ compute_line_metrics (struct it *it) | |||
| 18140 | } | 18157 | } |
| 18141 | 18158 | ||
| 18142 | /* Compute a hash code for this row. */ | 18159 | /* Compute a hash code for this row. */ |
| 18143 | { | 18160 | row->hash = row_hash (row); |
| 18144 | int area, i; | ||
| 18145 | row->hash = 0; | ||
| 18146 | for (area = LEFT_MARGIN_AREA; area < LAST_AREA; ++area) | ||
| 18147 | for (i = 0; i < row->used[area]; ++i) | ||
| 18148 | row->hash = ((((row->hash << 4) + (row->hash >> 24)) & 0x0fffffff) | ||
| 18149 | + row->glyphs[area][i].u.val | ||
| 18150 | + row->glyphs[area][i].face_id | ||
| 18151 | + row->glyphs[area][i].padding_p | ||
| 18152 | + (row->glyphs[area][i].type << 2)); | ||
| 18153 | } | ||
| 18154 | 18161 | ||
| 18155 | it->max_ascent = it->max_descent = 0; | 18162 | it->max_ascent = it->max_descent = 0; |
| 18156 | it->max_phys_ascent = it->max_phys_descent = 0; | 18163 | it->max_phys_ascent = it->max_phys_descent = 0; |
| @@ -24895,9 +24902,17 @@ x_produce_glyphs (struct it *it) | |||
| 24895 | void | 24902 | void |
| 24896 | x_write_glyphs (struct glyph *start, int len) | 24903 | x_write_glyphs (struct glyph *start, int len) |
| 24897 | { | 24904 | { |
| 24898 | int x, hpos; | 24905 | int x, hpos, chpos = updated_window->phys_cursor.hpos; |
| 24899 | 24906 | ||
| 24900 | xassert (updated_window && updated_row); | 24907 | xassert (updated_window && updated_row); |
| 24908 | /* When the window is hscrolled, cursor hpos can legitimately be out | ||
| 24909 | of bounds, but we draw the cursor at the corresponding window | ||
| 24910 | margin in that case. */ | ||
| 24911 | if (!updated_row->reversed_p && chpos < 0) | ||
| 24912 | chpos = 0; | ||
| 24913 | if (updated_row->reversed_p && chpos >= updated_row->used[TEXT_AREA]) | ||
| 24914 | chpos = updated_row->used[TEXT_AREA] - 1; | ||
| 24915 | |||
| 24901 | BLOCK_INPUT; | 24916 | BLOCK_INPUT; |
| 24902 | 24917 | ||
| 24903 | /* Write glyphs. */ | 24918 | /* Write glyphs. */ |
| @@ -24912,8 +24927,8 @@ x_write_glyphs (struct glyph *start, int len) | |||
| 24912 | if (updated_area == TEXT_AREA | 24927 | if (updated_area == TEXT_AREA |
| 24913 | && updated_window->phys_cursor_on_p | 24928 | && updated_window->phys_cursor_on_p |
| 24914 | && updated_window->phys_cursor.vpos == output_cursor.vpos | 24929 | && updated_window->phys_cursor.vpos == output_cursor.vpos |
| 24915 | && updated_window->phys_cursor.hpos >= hpos | 24930 | && chpos >= hpos |
| 24916 | && updated_window->phys_cursor.hpos < hpos + len) | 24931 | && chpos < hpos + len) |
| 24917 | updated_window->phys_cursor_on_p = 0; | 24932 | updated_window->phys_cursor_on_p = 0; |
| 24918 | 24933 | ||
| 24919 | UNBLOCK_INPUT; | 24934 | UNBLOCK_INPUT; |
| @@ -25430,8 +25445,17 @@ draw_phys_cursor_glyph (struct window *w, struct glyph_row *row, | |||
| 25430 | { | 25445 | { |
| 25431 | int on_p = w->phys_cursor_on_p; | 25446 | int on_p = w->phys_cursor_on_p; |
| 25432 | int x1; | 25447 | int x1; |
| 25433 | x1 = draw_glyphs (w, w->phys_cursor.x, row, TEXT_AREA, | 25448 | int hpos = w->phys_cursor.hpos; |
| 25434 | w->phys_cursor.hpos, w->phys_cursor.hpos + 1, | 25449 | |
| 25450 | /* When the window is hscrolled, cursor hpos can legitimately be | ||
| 25451 | out of bounds, but we draw the cursor at the corresponding | ||
| 25452 | window margin in that case. */ | ||
| 25453 | if (!row->reversed_p && hpos < 0) | ||
| 25454 | hpos = 0; | ||
| 25455 | if (row->reversed_p && hpos >= row->used[TEXT_AREA]) | ||
| 25456 | hpos = row->used[TEXT_AREA] - 1; | ||
| 25457 | |||
| 25458 | x1 = draw_glyphs (w, w->phys_cursor.x, row, TEXT_AREA, hpos, hpos + 1, | ||
| 25435 | hl, 0); | 25459 | hl, 0); |
| 25436 | w->phys_cursor_on_p = on_p; | 25460 | w->phys_cursor_on_p = on_p; |
| 25437 | 25461 | ||
| @@ -25519,6 +25543,14 @@ erase_phys_cursor (struct window *w) | |||
| 25519 | : (w->phys_cursor.hpos >= cursor_row->used[TEXT_AREA]))) | 25543 | : (w->phys_cursor.hpos >= cursor_row->used[TEXT_AREA]))) |
| 25520 | goto mark_cursor_off; | 25544 | goto mark_cursor_off; |
| 25521 | 25545 | ||
| 25546 | /* When the window is hscrolled, cursor hpos can legitimately be out | ||
| 25547 | of bounds, but we draw the cursor at the corresponding window | ||
| 25548 | margin in that case. */ | ||
| 25549 | if (!cursor_row->reversed_p && hpos < 0) | ||
| 25550 | hpos = 0; | ||
| 25551 | if (cursor_row->reversed_p && hpos >= cursor_row->used[TEXT_AREA]) | ||
| 25552 | hpos = cursor_row->used[TEXT_AREA] - 1; | ||
| 25553 | |||
| 25522 | /* If the cursor is in the mouse face area, redisplay that when | 25554 | /* If the cursor is in the mouse face area, redisplay that when |
| 25523 | we clear the cursor. */ | 25555 | we clear the cursor. */ |
| 25524 | if (! NILP (hlinfo->mouse_face_window) | 25556 | if (! NILP (hlinfo->mouse_face_window) |
| @@ -25662,8 +25694,26 @@ update_window_cursor (struct window *w, int on) | |||
| 25662 | of being deleted. */ | 25694 | of being deleted. */ |
| 25663 | if (w->current_matrix) | 25695 | if (w->current_matrix) |
| 25664 | { | 25696 | { |
| 25697 | int hpos = w->phys_cursor.hpos; | ||
| 25698 | int vpos = w->phys_cursor.vpos; | ||
| 25699 | struct glyph_row *row; | ||
| 25700 | |||
| 25701 | if (vpos >= w->current_matrix->nrows | ||
| 25702 | || hpos >= w->current_matrix->matrix_w) | ||
| 25703 | return; | ||
| 25704 | |||
| 25705 | row = MATRIX_ROW (w->current_matrix, vpos); | ||
| 25706 | |||
| 25707 | /* When the window is hscrolled, cursor hpos can legitimately be | ||
| 25708 | out of bounds, but we draw the cursor at the corresponding | ||
| 25709 | window margin in that case. */ | ||
| 25710 | if (!row->reversed_p && hpos < 0) | ||
| 25711 | hpos = 0; | ||
| 25712 | if (row->reversed_p && hpos >= row->used[TEXT_AREA]) | ||
| 25713 | hpos = row->used[TEXT_AREA] - 1; | ||
| 25714 | |||
| 25665 | BLOCK_INPUT; | 25715 | BLOCK_INPUT; |
| 25666 | display_and_set_cursor (w, on, w->phys_cursor.hpos, w->phys_cursor.vpos, | 25716 | display_and_set_cursor (w, on, hpos, vpos, |
| 25667 | w->phys_cursor.x, w->phys_cursor.y); | 25717 | w->phys_cursor.x, w->phys_cursor.y); |
| 25668 | UNBLOCK_INPUT; | 25718 | UNBLOCK_INPUT; |
| 25669 | } | 25719 | } |
| @@ -25833,9 +25883,18 @@ show_mouse_face (Mouse_HLInfo *hlinfo, enum draw_glyphs_face draw) | |||
| 25833 | if (FRAME_WINDOW_P (f) | 25883 | if (FRAME_WINDOW_P (f) |
| 25834 | && phys_cursor_on_p && !w->phys_cursor_on_p) | 25884 | && phys_cursor_on_p && !w->phys_cursor_on_p) |
| 25835 | { | 25885 | { |
| 25886 | int hpos = w->phys_cursor.hpos; | ||
| 25887 | |||
| 25888 | /* When the window is hscrolled, cursor hpos can legitimately be | ||
| 25889 | out of bounds, but we draw the cursor at the corresponding | ||
| 25890 | window margin in that case. */ | ||
| 25891 | if (!row->reversed_p && hpos < 0) | ||
| 25892 | hpos = 0; | ||
| 25893 | if (row->reversed_p && hpos >= row->used[TEXT_AREA]) | ||
| 25894 | hpos = row->used[TEXT_AREA] - 1; | ||
| 25895 | |||
| 25836 | BLOCK_INPUT; | 25896 | BLOCK_INPUT; |
| 25837 | display_and_set_cursor (w, 1, | 25897 | display_and_set_cursor (w, 1, hpos, w->phys_cursor.vpos, |
| 25838 | w->phys_cursor.hpos, w->phys_cursor.vpos, | ||
| 25839 | w->phys_cursor.x, w->phys_cursor.y); | 25898 | w->phys_cursor.x, w->phys_cursor.y); |
| 25840 | UNBLOCK_INPUT; | 25899 | UNBLOCK_INPUT; |
| 25841 | } | 25900 | } |
| @@ -25934,7 +25993,19 @@ coords_in_mouse_face_p (struct window *w, int hpos, int vpos) | |||
| 25934 | int | 25993 | int |
| 25935 | cursor_in_mouse_face_p (struct window *w) | 25994 | cursor_in_mouse_face_p (struct window *w) |
| 25936 | { | 25995 | { |
| 25937 | return coords_in_mouse_face_p (w, w->phys_cursor.hpos, w->phys_cursor.vpos); | 25996 | int hpos = w->phys_cursor.hpos; |
| 25997 | int vpos = w->phys_cursor.vpos; | ||
| 25998 | struct glyph_row *row = MATRIX_ROW (w->current_matrix, vpos); | ||
| 25999 | |||
| 26000 | /* When the window is hscrolled, cursor hpos can legitimately be out | ||
| 26001 | of bounds, but we draw the cursor at the corresponding window | ||
| 26002 | margin in that case. */ | ||
| 26003 | if (!row->reversed_p && hpos < 0) | ||
| 26004 | hpos = 0; | ||
| 26005 | if (row->reversed_p && hpos >= row->used[TEXT_AREA]) | ||
| 26006 | hpos = row->used[TEXT_AREA] - 1; | ||
| 26007 | |||
| 26008 | return coords_in_mouse_face_p (w, hpos, vpos); | ||
| 25938 | } | 26009 | } |
| 25939 | 26010 | ||
| 25940 | 26011 | ||
diff --git a/src/xfns.c b/src/xfns.c index 6de412c4e68..c68149cce11 100644 --- a/src/xfns.c +++ b/src/xfns.c | |||
| @@ -2962,7 +2962,7 @@ x_default_font_parameter (struct frame *f, Lisp_Object parms) | |||
| 2962 | 2962 | ||
| 2963 | if (NILP (font_param)) | 2963 | if (NILP (font_param)) |
| 2964 | { | 2964 | { |
| 2965 | /* System font should take precedendce over X resources. We suggest this | 2965 | /* System font should take precedence over X resources. We suggest this |
| 2966 | regardless of font-use-system-font because .emacs may not have been | 2966 | regardless of font-use-system-font because .emacs may not have been |
| 2967 | read yet. */ | 2967 | read yet. */ |
| 2968 | const char *system_font = xsettings_get_system_font (); | 2968 | const char *system_font = xsettings_get_system_font (); |
| @@ -5914,7 +5914,7 @@ the tool bar buttons. */); | |||
| 5914 | x_gtk_whole_detached_tool_bar = 0; | 5914 | x_gtk_whole_detached_tool_bar = 0; |
| 5915 | 5915 | ||
| 5916 | DEFVAR_BOOL ("x-gtk-use-system-tooltips", x_gtk_use_system_tooltips, | 5916 | DEFVAR_BOOL ("x-gtk-use-system-tooltips", x_gtk_use_system_tooltips, |
| 5917 | doc: /* *If non-nil with a Gtk+ built Emacs, the Gtk+ toolip is used. | 5917 | doc: /* *If non-nil with a Gtk+ built Emacs, the Gtk+ tooltip is used. |
| 5918 | Otherwise use Emacs own tooltip implementation. | 5918 | Otherwise use Emacs own tooltip implementation. |
| 5919 | When using Gtk+ tooltips, the tooltip face is not used. */); | 5919 | When using Gtk+ tooltips, the tooltip face is not used. */); |
| 5920 | x_gtk_use_system_tooltips = 1; | 5920 | x_gtk_use_system_tooltips = 1; |
diff --git a/src/xmenu.c b/src/xmenu.c index 0dd652b566d..4b7bbfd73dc 100644 --- a/src/xmenu.c +++ b/src/xmenu.c | |||
| @@ -1304,7 +1304,7 @@ free_frame_menubar (FRAME_PTR f) | |||
| 1304 | #ifdef USE_MOTIF | 1304 | #ifdef USE_MOTIF |
| 1305 | /* Removing the menu bar magically changes the shell widget's x | 1305 | /* Removing the menu bar magically changes the shell widget's x |
| 1306 | and y position of (0, 0) which, when the menu bar is turned | 1306 | and y position of (0, 0) which, when the menu bar is turned |
| 1307 | on again, leads to pull-down menuss appearing in strange | 1307 | on again, leads to pull-down menus appearing in strange |
| 1308 | positions near the upper-left corner of the display. This | 1308 | positions near the upper-left corner of the display. This |
| 1309 | happens only with some window managers like twm and ctwm, | 1309 | happens only with some window managers like twm and ctwm, |
| 1310 | but not with other like Motif's mwm or kwm, because the | 1310 | but not with other like Motif's mwm or kwm, because the |
diff --git a/src/xterm.c b/src/xterm.c index f8af8ae3df0..f750c00cea0 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -2972,9 +2972,7 @@ x_clear_frame (struct frame *f) | |||
| 2972 | follow an explicit cursor_to. */ | 2972 | follow an explicit cursor_to. */ |
| 2973 | BLOCK_INPUT; | 2973 | BLOCK_INPUT; |
| 2974 | 2974 | ||
| 2975 | /* The following call is commented out because it does not seem to accomplish | 2975 | XClearWindow (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f)); |
| 2976 | anything, apart from causing flickering during window resize. */ | ||
| 2977 | /* XClearWindow (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f)); */ | ||
| 2978 | 2976 | ||
| 2979 | /* We have to clear the scroll bars. If we have changed colors or | 2977 | /* We have to clear the scroll bars. If we have changed colors or |
| 2980 | something like that, then they should be notified. */ | 2978 | something like that, then they should be notified. */ |
| @@ -4193,7 +4191,7 @@ static Boolean xaw3d_arrow_scroll; | |||
| 4193 | 4191 | ||
| 4194 | /* Whether the drag scrolling maintains the mouse at the top of the | 4192 | /* Whether the drag scrolling maintains the mouse at the top of the |
| 4195 | thumb. If not, resizing the thumb needs to be done more carefully | 4193 | thumb. If not, resizing the thumb needs to be done more carefully |
| 4196 | to avoid jerkyness. */ | 4194 | to avoid jerkiness. */ |
| 4197 | 4195 | ||
| 4198 | static Boolean xaw3d_pick_top; | 4196 | static Boolean xaw3d_pick_top; |
| 4199 | 4197 | ||
| @@ -8779,7 +8777,7 @@ x_wait_for_event (struct frame *f, int eventtype) | |||
| 8779 | pending_event_wait.f = f; | 8777 | pending_event_wait.f = f; |
| 8780 | pending_event_wait.eventtype = eventtype; | 8778 | pending_event_wait.eventtype = eventtype; |
| 8781 | 8779 | ||
| 8782 | /* Set timeout to 0.1 second. Hopefully not noticable. | 8780 | /* Set timeout to 0.1 second. Hopefully not noticeable. |
| 8783 | Maybe it should be configurable. */ | 8781 | Maybe it should be configurable. */ |
| 8784 | EMACS_SET_SECS_USECS (tmo, 0, 100000); | 8782 | EMACS_SET_SECS_USECS (tmo, 0, 100000); |
| 8785 | EMACS_GET_TIME (tmo_at); | 8783 | EMACS_GET_TIME (tmo_at); |
diff --git a/test/ChangeLog b/test/ChangeLog index 9afed6f5f90..04a70737d61 100644 --- a/test/ChangeLog +++ b/test/ChangeLog | |||
| @@ -1,3 +1,11 @@ | |||
| 1 | 2011-11-22 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * rmailmm.el: New file, split from lisp/mail/rmailmm.el. | ||
| 4 | |||
| 5 | 2011-11-20 Juanma Barranquero <lekktu@gmail.com> | ||
| 6 | |||
| 7 | * cedet/semantic-utest-c.el (semantic-utest-c-comparisons): Fix typo. | ||
| 8 | |||
| 1 | 2011-11-16 Juanma Barranquero <lekktu@gmail.com> | 9 | 2011-11-16 Juanma Barranquero <lekktu@gmail.com> |
| 2 | 10 | ||
| 3 | * automated/icalendar-tests.el (icalendar-tests--get-ical-event) | 11 | * automated/icalendar-tests.el (icalendar-tests--get-ical-event) |
diff --git a/test/cedet/semantic-utest-c.el b/test/cedet/semantic-utest-c.el index 946a818e70e..3fbd180290c 100644 --- a/test/cedet/semantic-utest-c.el +++ b/test/cedet/semantic-utest-c.el | |||
| @@ -28,7 +28,7 @@ | |||
| 28 | (defvar semantic-utest-c-comparisons | 28 | (defvar semantic-utest-c-comparisons |
| 29 | '( ("testsppreplace.c" . "testsppreplaced.c") | 29 | '( ("testsppreplace.c" . "testsppreplaced.c") |
| 30 | ) | 30 | ) |
| 31 | "List of files to parse and compare against eachother.") | 31 | "List of files to parse and compare against each other.") |
| 32 | 32 | ||
| 33 | ;;; Code: | 33 | ;;; Code: |
| 34 | ;;;###autoload | 34 | ;;;###autoload |
diff --git a/test/cedet/semantic-utest.el b/test/cedet/semantic-utest.el index db737b60c6f..ff62040129d 100644 --- a/test/cedet/semantic-utest.el +++ b/test/cedet/semantic-utest.el | |||
| @@ -170,7 +170,7 @@ def fun2(a,b,c): #1 | |||
| 170 | 170 | ||
| 171 | 171 | ||
| 172 | ) | 172 | ) |
| 173 | ; "pyhon test case. notice that python is indentation sensitive | 173 | ; "python test case. notice that python is indentation sensitive |
| 174 | 174 | ||
| 175 | 175 | ||
| 176 | (defvar semantic-utest-Python-name-contents | 176 | (defvar semantic-utest-Python-name-contents |
| @@ -622,7 +622,7 @@ INSERTME is the text to be inserted after the deletion." | |||
| 622 | ) | 622 | ) |
| 623 | 623 | ||
| 624 | ;look at http://mfgames.com/linux/csharp-mode | 624 | ;look at http://mfgames.com/linux/csharp-mode |
| 625 | (defun semantic-utest-Csharp() ;; hmm i dont even know how to edit a scharp file. need a csharp mode implementation i suppose | 625 | (defun semantic-utest-Csharp() ;; hmm i don't even know how to edit a scharp file. need a csharp mode implementation i suppose |
| 626 | (interactive) | 626 | (interactive) |
| 627 | (if (fboundp 'csharp-mode) | 627 | (if (fboundp 'csharp-mode) |
| 628 | (semantic-utest-generic "C#" (semantic-utest-fname "csharptest.cs") semantic-utest-Csharp-buffer-contents semantic-utest-Csharp-name-contents '("fun2") "//1" "//deleted line") | 628 | (semantic-utest-generic "C#" (semantic-utest-fname "csharptest.cs") semantic-utest-Csharp-buffer-contents semantic-utest-Csharp-name-contents '("fun2") "//1" "//deleted line") |
diff --git a/test/cedet/tests/testsppreplaced.c b/test/cedet/tests/testsppreplaced.c index 5098715081f..58d1ac2b684 100644 --- a/test/cedet/tests/testsppreplaced.c +++ b/test/cedet/tests/testsppreplaced.c | |||
| @@ -69,7 +69,7 @@ int continuation_symbol () { }; | |||
| 69 | 69 | ||
| 70 | int tail (int q) {} | 70 | int tail (int q) {} |
| 71 | 71 | ||
| 72 | /* TEST: macros used impropertly. */ | 72 | /* TEST: macros used improperly */ |
| 73 | 73 | ||
| 74 | int tail_fcn(int q); | 74 | int tail_fcn(int q); |
| 75 | 75 | ||
| @@ -98,7 +98,7 @@ namespace foo { namespace bar { | |||
| 98 | 98 | ||
| 99 | int foo_bar_func(int a) { } | 99 | int foo_bar_func(int a) { } |
| 100 | 100 | ||
| 101 | } | 101 | } |
| 102 | } | 102 | } |
| 103 | 103 | ||
| 104 | /* TEST: The VC++ macro hack. */ | 104 | /* TEST: The VC++ macro hack. */ |
| @@ -115,4 +115,3 @@ int MACROA () { | |||
| 115 | 115 | ||
| 116 | 116 | ||
| 117 | /* End */ | 117 | /* End */ |
| 118 | |||
diff --git a/test/rmailmm.el b/test/rmailmm.el new file mode 100644 index 00000000000..97577ee35cb --- /dev/null +++ b/test/rmailmm.el | |||
| @@ -0,0 +1,93 @@ | |||
| 1 | ;;; rmailmm.el --- tests for mail/rmailmm.el | ||
| 2 | |||
| 3 | ;; Copyright (C) 2006-2011 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | ;; This file is part of GNU Emacs. | ||
| 6 | |||
| 7 | ;; GNU Emacs is free software: you can redistribute it and/or modify | ||
| 8 | ;; it under the terms of the GNU General Public License as published by | ||
| 9 | ;; the Free Software Foundation, either version 3 of the License, or | ||
| 10 | ;; (at your option) any later version. | ||
| 11 | |||
| 12 | ;; GNU Emacs is distributed in the hope that it will be useful, | ||
| 13 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | ;; GNU General Public License for more details. | ||
| 16 | |||
| 17 | ;; You should have received a copy of the GNU General Public License | ||
| 18 | ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. | ||
| 19 | |||
| 20 | ;;; Commentary: | ||
| 21 | |||
| 22 | ;;; Code: | ||
| 23 | |||
| 24 | (require 'rmailmm) | ||
| 25 | |||
| 26 | (defun rmailmm-test-handler () | ||
| 27 | "Test of a mail using no MIME parts at all." | ||
| 28 | (let ((mail "To: alex@gnu.org | ||
| 29 | Content-Type: text/plain; charset=koi8-r | ||
| 30 | Content-Transfer-Encoding: 8bit | ||
| 31 | MIME-Version: 1.0 | ||
| 32 | |||
| 33 | \372\304\322\301\327\323\324\327\325\312\324\305\41")) | ||
| 34 | (switch-to-buffer (get-buffer-create "*test*")) | ||
| 35 | (erase-buffer) | ||
| 36 | (set-buffer-multibyte nil) | ||
| 37 | (insert mail) | ||
| 38 | (rmail-mime-show t) | ||
| 39 | (set-buffer-multibyte t))) | ||
| 40 | |||
| 41 | (defun rmailmm-test-bulk-handler () | ||
| 42 | "Test of a mail used as an example in RFC 2183." | ||
| 43 | (let ((mail "Content-Type: image/jpeg | ||
| 44 | Content-Disposition: attachment; filename=genome.jpeg; | ||
| 45 | modification-date=\"Wed, 12 Feb 1997 16:29:51 -0500\"; | ||
| 46 | Content-Description: a complete map of the human genome | ||
| 47 | Content-Transfer-Encoding: base64 | ||
| 48 | |||
| 49 | iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAABGdBTUEAALGPC/xhBQAAAAZQ | ||
| 50 | TFRF////AAAAVcLTfgAAAPZJREFUeNq9ldsOwzAIQ+3//+l1WlvA5ZLsoUiTto4TB+ISoAjy | ||
| 51 | +ITfRBfcAmgRFFeAm+J6uhdKdFhFWUgDkFsK0oUp/9G2//Kj7Jx+5tSKOdBscgUYiKHRS/me | ||
| 52 | WATQdRUvAK0Bnmshmtn79PpaLBbbOZkjKvRnjRZoRswOkG1wFchKew2g9wXVJVZL/m4+B+vv | ||
| 53 | 9AxQQR2Q33SgAYJzzVACdAWjAfRYzYFO9n6SLnydtQHSMxYDMAKqZ/8FS/lTK+zuq3CtK64L | ||
| 54 | UDwbgUEAUmk2Zyg101d6PhCDySgAvTvDgKiuOrc4dLxUb7UMnhGIexyI+d6U+ABuNAP4Simx | ||
| 55 | lgAAAABJRU5ErkJggg== | ||
| 56 | ")) | ||
| 57 | (switch-to-buffer (get-buffer-create "*test*")) | ||
| 58 | (erase-buffer) | ||
| 59 | (insert mail) | ||
| 60 | (rmail-mime-show))) | ||
| 61 | |||
| 62 | (defun rmailmm-test-multipart-handler () | ||
| 63 | "Test of a mail used as an example in RFC 2046." | ||
| 64 | (let ((mail "From: Nathaniel Borenstein <nsb@bellcore.com> | ||
| 65 | To: Ned Freed <ned@innosoft.com> | ||
| 66 | Date: Sun, 21 Mar 1993 23:56:48 -0800 (PST) | ||
| 67 | Subject: Sample message | ||
| 68 | MIME-Version: 1.0 | ||
| 69 | Content-type: multipart/mixed; boundary=\"simple boundary\" | ||
| 70 | |||
| 71 | This is the preamble. It is to be ignored, though it | ||
| 72 | is a handy place for composition agents to include an | ||
| 73 | explanatory note to non-MIME conformant readers. | ||
| 74 | |||
| 75 | --simple boundary | ||
| 76 | |||
| 77 | This is implicitly typed plain US-ASCII text. | ||
| 78 | It does NOT end with a linebreak. | ||
| 79 | --simple boundary | ||
| 80 | Content-type: text/plain; charset=us-ascii | ||
| 81 | |||
| 82 | This is explicitly typed plain US-ASCII text. | ||
| 83 | It DOES end with a linebreak. | ||
| 84 | |||
| 85 | --simple boundary-- | ||
| 86 | |||
| 87 | This is the epilogue. It is also to be ignored.")) | ||
| 88 | (switch-to-buffer (get-buffer-create "*test*")) | ||
| 89 | (erase-buffer) | ||
| 90 | (insert mail) | ||
| 91 | (rmail-mime-show t))) | ||
| 92 | |||
| 93 | ;;; rmailmm.el ends here | ||