diff options
| author | Kenichi Handa | 2012-10-17 22:33:48 +0900 |
|---|---|---|
| committer | Kenichi Handa | 2012-10-17 22:33:48 +0900 |
| commit | 596846525bf5f515541ab1ca9a459f4842d55d1d (patch) | |
| tree | e1e4f64ebb40daf0d9ee16b84ef824da30cfbffc | |
| parent | fe0b1ec40988638025db569a936b09f0295749a1 (diff) | |
| parent | 1f9f395d8063fd633ba73f6cc025ded953bab502 (diff) | |
| download | emacs-596846525bf5f515541ab1ca9a459f4842d55d1d.tar.gz emacs-596846525bf5f515541ab1ca9a459f4842d55d1d.zip | |
merge trunk
42 files changed, 469 insertions, 249 deletions
| @@ -1,3 +1,9 @@ | |||
| 1 | 2012-10-15 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * Makefile.in (install-man, install-etc): | ||
| 4 | Apply $TRANSFORM. (Bug#12536#34) | ||
| 5 | (clean): Delete etc/emacs.tmpdesktop. | ||
| 6 | |||
| 1 | 2012-10-11 Kenichi Handa <handa@gnu.org> | 7 | 2012-10-11 Kenichi Handa <handa@gnu.org> |
| 2 | 8 | ||
| 3 | * .bzrignore: Add several files under admin/charsets. | 9 | * .bzrignore: Add several files under admin/charsets. |
| @@ -758,7 +764,7 @@ | |||
| 758 | 764 | ||
| 759 | 2012-06-28 Dmitry Antipov <dmantipov@yandex.ru> | 765 | 2012-06-28 Dmitry Antipov <dmantipov@yandex.ru> |
| 760 | 766 | ||
| 761 | * configure.in: Fix previous change. Remove --enable-asserts. | 767 | * configure.in: Fix previous change. Remove --enable-asserts. |
| 762 | (CPPFLAGS): Remove conditional -DXASSERTS=1. | 768 | (CPPFLAGS): Remove conditional -DXASSERTS=1. |
| 763 | Add --enable-link-time-optimization. | 769 | Add --enable-link-time-optimization. |
| 764 | * INSTALL: Mention this. | 770 | * INSTALL: Mention this. |
| @@ -936,7 +942,7 @@ | |||
| 936 | 942 | ||
| 937 | 2012-06-03 Ulrich Müller <ulm@gentoo.org> | 943 | 2012-06-03 Ulrich Müller <ulm@gentoo.org> |
| 938 | 944 | ||
| 939 | * configure.in (PAXCTL): Check for paxctl. (Bug#11398) | 945 | * configure.in (PAXCTL): Check for paxctl. (Bug#11398) |
| 940 | 946 | ||
| 941 | 2012-06-01 Paul Eggert <eggert@cs.ucla.edu> | 947 | 2012-06-01 Paul Eggert <eggert@cs.ucla.edu> |
| 942 | 948 | ||
| @@ -1388,7 +1394,7 @@ | |||
| 1388 | 2012-04-17 Dmitry Antipov <dmantipov@yandex.ru> | 1394 | 2012-04-17 Dmitry Antipov <dmantipov@yandex.ru> |
| 1389 | 1395 | ||
| 1390 | * configure.in (AC_CHECK_FUNCS): | 1396 | * configure.in (AC_CHECK_FUNCS): |
| 1391 | Add getpwent, endpwent, getgrent, endgrent. (Bug#7900) | 1397 | Add getpwent, endpwent, getgrent, endgrent. (Bug#7900) |
| 1392 | 1398 | ||
| 1393 | 2012-04-16 Glenn Morris <rgm@gnu.org> | 1399 | 2012-04-16 Glenn Morris <rgm@gnu.org> |
| 1394 | 1400 | ||
| @@ -1565,7 +1571,7 @@ | |||
| 1565 | 1571 | ||
| 1566 | 2011-11-04 Glenn Morris <rgm@gnu.org> | 1572 | 2011-11-04 Glenn Morris <rgm@gnu.org> |
| 1567 | 1573 | ||
| 1568 | * configure.in: Increase minimum GnuTLS version to 2.6.6. (Bug#9929) | 1574 | * configure.in: Increase minimum GnuTLS version to 2.6.6. (Bug#9929) |
| 1569 | Do not include GnuTLS version info in final summary message. | 1575 | Do not include GnuTLS version info in final summary message. |
| 1570 | 1576 | ||
| 1571 | 2011-10-31 Eli Zaretskii <eliz@gnu.org> | 1577 | 2011-10-31 Eli Zaretskii <eliz@gnu.org> |
diff --git a/Makefile.in b/Makefile.in index 571013e3244..d929160c597 100644 --- a/Makefile.in +++ b/Makefile.in | |||
| @@ -622,18 +622,24 @@ install-man: | |||
| 622 | thisdir=`/bin/pwd`; \ | 622 | thisdir=`/bin/pwd`; \ |
| 623 | cd ${mansrcdir}; \ | 623 | cd ${mansrcdir}; \ |
| 624 | for page in *.1; do \ | 624 | for page in *.1; do \ |
| 625 | dest=`echo "$${page}" | sed '$(TRANSFORM)'`; \ | ||
| 625 | (cd $${thisdir}; \ | 626 | (cd $${thisdir}; \ |
| 626 | ${INSTALL_DATA} ${mansrcdir}/$${page} $(DESTDIR)${man1dir}/$${page}); \ | 627 | ${INSTALL_DATA} ${mansrcdir}/$${page} $(DESTDIR)${man1dir}/$${dest}); \ |
| 627 | ( [ -n "${GZIP_INFO}" ] && [ -n "${GZIP_PROG}" ] ) || continue ; \ | 628 | ( [ -n "${GZIP_INFO}" ] && [ -n "${GZIP_PROG}" ] ) || continue ; \ |
| 628 | rm -f $(DESTDIR)${man1dir}/$${page}.gz; \ | 629 | rm -f $(DESTDIR)${man1dir}/$${dest}.gz; \ |
| 629 | ${GZIP_PROG} -9n $(DESTDIR)${man1dir}/$${page}; \ | 630 | ${GZIP_PROG} -9n $(DESTDIR)${man1dir}/$${dest}; \ |
| 630 | done | 631 | done |
| 631 | 632 | ||
| 632 | ## Install those items from etc/ that need to end up elsewhere. | 633 | ## Install those items from etc/ that need to end up elsewhere. |
| 633 | install-etc: | 634 | install-etc: |
| 634 | umask 022; ${MKDIR_P} $(DESTDIR)${desktopdir} | 635 | umask 022; ${MKDIR_P} $(DESTDIR)${desktopdir} |
| 635 | ${INSTALL_DATA} ${srcdir}/etc/emacs.desktop \ | 636 | dest=`echo emacs | sed '$(TRANSFORM)'`; \ |
| 636 | $(DESTDIR)${desktopdir}/emacs.desktop | 637 | tmp=etc/emacs.tmpdesktop; rm -f $${tmp}; \ |
| 638 | sed -e "/^Exec=emacs/ s/emacs/$${dest}/" \ | ||
| 639 | -e "/^Icon=emacs/ s/emacs/$${dest}/" \ | ||
| 640 | ${srcdir}/etc/emacs.desktop > $${tmp}; \ | ||
| 641 | ${INSTALL_DATA} $${tmp} $(DESTDIR)${desktopdir}/$${dest}.desktop; \ | ||
| 642 | rm -f $${tmp} | ||
| 637 | thisdir=`/bin/pwd`; \ | 643 | thisdir=`/bin/pwd`; \ |
| 638 | cd ${iconsrcdir} || exit 1; umask 022 ; \ | 644 | cd ${iconsrcdir} || exit 1; umask 022 ; \ |
| 639 | for dir in */*/apps */*/mimetypes; do \ | 645 | for dir in */*/apps */*/mimetypes; do \ |
| @@ -641,8 +647,9 @@ install-etc: | |||
| 641 | ( cd $${thisdir}; ${MKDIR_P} $(DESTDIR)${icondir}/$${dir} ) ; \ | 647 | ( cd $${thisdir}; ${MKDIR_P} $(DESTDIR)${icondir}/$${dir} ) ; \ |
| 642 | for icon in $${dir}/*.*; do \ | 648 | for icon in $${dir}/*.*; do \ |
| 643 | [ -r $${icon} ] || continue ; \ | 649 | [ -r $${icon} ] || continue ; \ |
| 650 | dest=`echo "$${icon}" | sed -e 's|.*/||' -e '$(TRANSFORM)'` ; \ | ||
| 644 | ( cd $${thisdir}; \ | 651 | ( cd $${thisdir}; \ |
| 645 | ${INSTALL_DATA} ${iconsrcdir}/$${icon} $(DESTDIR)${icondir}/$${icon} ) \ | 652 | ${INSTALL_DATA} ${iconsrcdir}/$${icon} $(DESTDIR)${icondir}/$${dir}/$${dest} ) \ |
| 646 | || exit 1; \ | 653 | || exit 1; \ |
| 647 | done ; \ | 654 | done ; \ |
| 648 | done | 655 | done |
| @@ -729,6 +736,7 @@ mostlyclean: FRC | |||
| 729 | ### | 736 | ### |
| 730 | ### Delete `.dvi' files here if they are not part of the distribution. | 737 | ### Delete `.dvi' files here if they are not part of the distribution. |
| 731 | clean: FRC | 738 | clean: FRC |
| 739 | -rm -f etc/emacs.tmpdesktop | ||
| 732 | (cd src; $(MAKE) $(MFLAGS) clean) | 740 | (cd src; $(MAKE) $(MFLAGS) clean) |
| 733 | (cd oldXMenu; $(MAKE) $(MFLAGS) clean) | 741 | (cd oldXMenu; $(MAKE) $(MFLAGS) clean) |
| 734 | (cd lwlib; $(MAKE) $(MFLAGS) clean) | 742 | (cd lwlib; $(MAKE) $(MFLAGS) clean) |
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 47a4c8da522..5ab3c1ab5b8 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog | |||
| @@ -1,3 +1,11 @@ | |||
| 1 | 2012-10-16 Juri Linkov <juri@jurta.org> | ||
| 2 | |||
| 3 | * search.texi (Query Replace): Document multi-buffer replacement | ||
| 4 | keys. (Bug#12655) | ||
| 5 | |||
| 6 | * maintaining.texi (Tags Search): Change link "Replace" to | ||
| 7 | "Query Replace". | ||
| 8 | |||
| 1 | 2012-10-13 Chong Yidong <cyd@gnu.org> | 9 | 2012-10-13 Chong Yidong <cyd@gnu.org> |
| 2 | 10 | ||
| 3 | * files.texi (File Conveniences): ImageMagick enabled by default. | 11 | * files.texi (File Conveniences): ImageMagick enabled by default. |
diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi index d21e3af83dd..67214bde22c 100644 --- a/doc/emacs/maintaining.texi +++ b/doc/emacs/maintaining.texi | |||
| @@ -2221,7 +2221,7 @@ the current buffer, followed by the remaining files of the tags table. | |||
| 2221 | reads a regexp to search for and a string to replace with, just like | 2221 | reads a regexp to search for and a string to replace with, just like |
| 2222 | ordinary @kbd{M-x query-replace-regexp}. It searches much like @kbd{M-x | 2222 | ordinary @kbd{M-x query-replace-regexp}. It searches much like @kbd{M-x |
| 2223 | tags-search}, but repeatedly, processing matches according to your | 2223 | tags-search}, but repeatedly, processing matches according to your |
| 2224 | input. @xref{Replace}, for more information on query replace. | 2224 | input. @xref{Query Replace}, for more information on query replace. |
| 2225 | 2225 | ||
| 2226 | @vindex tags-case-fold-search | 2226 | @vindex tags-case-fold-search |
| 2227 | @cindex case-sensitivity and tags search | 2227 | @cindex case-sensitivity and tags search |
diff --git a/doc/emacs/search.texi b/doc/emacs/search.texi index 21db02c8ab8..7e46e416219 100644 --- a/doc/emacs/search.texi +++ b/doc/emacs/search.texi | |||
| @@ -1239,6 +1239,19 @@ occurrences. | |||
| 1239 | @item ! | 1239 | @item ! |
| 1240 | to replace all remaining occurrences without asking again. | 1240 | to replace all remaining occurrences without asking again. |
| 1241 | 1241 | ||
| 1242 | @item Y @r{(Upper-case)} | ||
| 1243 | to replace all remaining occurrences in all remaining buffers in | ||
| 1244 | multi-buffer replacements (like the Dired `Q' command which performs | ||
| 1245 | query replace on selected files). It answers this question and all | ||
| 1246 | subsequent questions in the series with "yes", without further | ||
| 1247 | user interaction. | ||
| 1248 | |||
| 1249 | @item N @r{(Upper-case)} | ||
| 1250 | to skip to the next buffer in multi-buffer replacements without | ||
| 1251 | replacing remaining occurrences in the current buffer. It answers | ||
| 1252 | this question "no", gives up on the questions for the current buffer, | ||
| 1253 | and continues to the next buffer in the sequence. | ||
| 1254 | |||
| 1242 | @item ^ | 1255 | @item ^ |
| 1243 | to go back to the position of the previous occurrence (or what used to | 1256 | to go back to the position of the previous occurrence (or what used to |
| 1244 | be an occurrence), in case you changed it by mistake or want to | 1257 | be an occurrence), in case you changed it by mistake or want to |
diff --git a/doc/lispintro/ChangeLog b/doc/lispintro/ChangeLog index 11eacf25c96..6c524f5a0ae 100644 --- a/doc/lispintro/ChangeLog +++ b/doc/lispintro/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2012-10-17 Gregor Zattler <grfz@gmx.de> (tiny change) | ||
| 2 | |||
| 3 | * emacs-lisp-intro.texi (Narrowing advantages): | ||
| 4 | Minor update for changed what-line implementation. (Bug#12629) | ||
| 5 | |||
| 1 | 2012-06-21 Glenn Morris <rgm@gnu.org> | 6 | 2012-06-21 Glenn Morris <rgm@gnu.org> |
| 2 | 7 | ||
| 3 | * Makefile.in: Rename infodir to buildinfodir throughout. (Bug#11737) | 8 | * Makefile.in: Rename infodir to buildinfodir throughout. (Bug#11737) |
diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi index 04e3e0c8649..55c3ef4e09e 100644 --- a/doc/lispintro/emacs-lisp-intro.texi +++ b/doc/lispintro/emacs-lisp-intro.texi | |||
| @@ -6600,8 +6600,8 @@ buffer; or conversely, an Emacs Lisp function needs to work on all of a | |||
| 6600 | buffer that has been narrowed. The @code{what-line} function, for | 6600 | buffer that has been narrowed. The @code{what-line} function, for |
| 6601 | example, removes the narrowing from a buffer, if it has any narrowing | 6601 | example, removes the narrowing from a buffer, if it has any narrowing |
| 6602 | and when it has finished its job, restores the narrowing to what it was. | 6602 | and when it has finished its job, restores the narrowing to what it was. |
| 6603 | On the other hand, the @code{count-lines} function, which is called by | 6603 | On the other hand, the @code{count-lines} function |
| 6604 | @code{what-line}, uses narrowing to restrict itself to just that portion | 6604 | uses narrowing to restrict itself to just that portion |
| 6605 | of the buffer in which it is interested and then restores the previous | 6605 | of the buffer in which it is interested and then restores the previous |
| 6606 | situation. | 6606 | situation. |
| 6607 | 6607 | ||
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 40c457ffe07..acf6f8a51ff 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog | |||
| @@ -1,3 +1,14 @@ | |||
| 1 | 2012-10-15 Chong Yidong <cyd@gnu.org> | ||
| 2 | |||
| 3 | * macros.texi (Defining Macros): defmacro is now a macro. | ||
| 4 | Explicitly list the docstring and declare arguments. | ||
| 5 | |||
| 6 | * functions.texi (Anonymous Functions): Explicitly list the | ||
| 7 | docstring, declare, and interactive arguments to lambda. | ||
| 8 | (Defining Functions): Likewise for defun. | ||
| 9 | (Inline Functions): Likewise for defsubst. | ||
| 10 | (Declare Form): Tweak description. | ||
| 11 | |||
| 1 | 2012-10-13 Chong Yidong <cyd@gnu.org> | 12 | 2012-10-13 Chong Yidong <cyd@gnu.org> |
| 2 | 13 | ||
| 3 | * display.texi (ImageMagick Images): ImageMagick enabled by default. | 14 | * display.texi (ImageMagick Images): ImageMagick enabled by default. |
diff --git a/doc/lispref/functions.texi b/doc/lispref/functions.texi index 845561f91ec..c94e46dad18 100644 --- a/doc/lispref/functions.texi +++ b/doc/lispref/functions.texi | |||
| @@ -522,21 +522,20 @@ Scheme.) | |||
| 522 | is called @dfn{defining a function}, and it is done with the | 522 | is called @dfn{defining a function}, and it is done with the |
| 523 | @code{defun} special form. | 523 | @code{defun} special form. |
| 524 | 524 | ||
| 525 | @defmac defun name argument-list body-forms... | 525 | @defmac defun name args [doc] [declare] [interactive] body@dots{} |
| 526 | @code{defun} is the usual way to define new Lisp functions. It | 526 | @code{defun} is the usual way to define new Lisp functions. It |
| 527 | defines the symbol @var{name} as a function that looks like this: | 527 | defines the symbol @var{name} as a function with argument list |
| 528 | @var{args} and body forms given by @var{body}. Neither @var{name} nor | ||
| 529 | @var{args} should be quoted. | ||
| 528 | 530 | ||
| 529 | @example | 531 | @var{doc}, if present, should be a string specifying the function's |
| 530 | (lambda @var{argument-list} . @var{body-forms}) | 532 | documentation string (@pxref{Function Documentation}). @var{declare}, |
| 531 | @end example | 533 | if present, should be a @code{declare} form specifying function |
| 534 | metadata (@pxref{Declare Form}). @var{interactive}, if present, | ||
| 535 | should be an @code{interactive} form specifying how the function is to | ||
| 536 | be called interactively (@pxref{Interactive Call}). | ||
| 532 | 537 | ||
| 533 | @code{defun} stores this lambda expression in the function cell of | 538 | The return value of @code{defun} is undefined. |
| 534 | @var{name}. Its return value is @emph{undefined}. | ||
| 535 | |||
| 536 | As described previously, @var{argument-list} is a list of argument | ||
| 537 | names and may include the keywords @code{&optional} and @code{&rest}. | ||
| 538 | Also, the first two of the @var{body-forms} may be a documentation | ||
| 539 | string and an interactive declaration. @xref{Lambda Components}. | ||
| 540 | 539 | ||
| 541 | Here are some examples: | 540 | Here are some examples: |
| 542 | 541 | ||
| @@ -582,14 +581,14 @@ redefinition from unintentional redefinition. | |||
| 582 | @end defmac | 581 | @end defmac |
| 583 | 582 | ||
| 584 | @cindex function aliases | 583 | @cindex function aliases |
| 585 | @defun defalias name definition &optional docstring | 584 | @defun defalias name definition &optional doc |
| 586 | @anchor{Definition of defalias} | 585 | @anchor{Definition of defalias} |
| 587 | This special form defines the symbol @var{name} as a function, with | 586 | This special form defines the symbol @var{name} as a function, with |
| 588 | definition @var{definition} (which can be any valid Lisp function). | 587 | definition @var{definition} (which can be any valid Lisp function). |
| 589 | Its return value is @emph{undefined}. | 588 | Its return value is @emph{undefined}. |
| 590 | 589 | ||
| 591 | If @var{docstring} is non-@code{nil}, it becomes the function | 590 | If @var{doc} is non-@code{nil}, it becomes the function documentation |
| 592 | documentation of @var{name}. Otherwise, any documentation provided by | 591 | of @var{name}. Otherwise, any documentation provided by |
| 593 | @var{definition} is used. | 592 | @var{definition} is used. |
| 594 | 593 | ||
| 595 | The proper place to use @code{defalias} is where a specific function | 594 | The proper place to use @code{defalias} is where a specific function |
| @@ -902,11 +901,14 @@ function, you can in principle use any method to construct the list. | |||
| 902 | But typically you should use the @code{lambda} macro, or the | 901 | But typically you should use the @code{lambda} macro, or the |
| 903 | @code{function} special form, or the @code{#'} read syntax: | 902 | @code{function} special form, or the @code{#'} read syntax: |
| 904 | 903 | ||
| 905 | @defmac lambda args body... | 904 | @defmac lambda args [doc] [interactive] body@dots{} |
| 906 | This macro returns an anonymous function with argument list @var{args} | 905 | This macro returns an anonymous function with argument list |
| 907 | and body forms given by @var{body}. In effect, this macro makes | 906 | @var{args}, documentation string @var{doc} (if any), interactive spec |
| 908 | @code{lambda} forms ``self-quoting'': evaluating a form whose @sc{car} | 907 | @var{interactive} (if any), and body forms given by @var{body}. |
| 909 | is @code{lambda} yields the form itself: | 908 | |
| 909 | In effect, this macro makes @code{lambda} forms ``self-quoting'': | ||
| 910 | evaluating a form whose @sc{car} is @code{lambda} yields the form | ||
| 911 | itself: | ||
| 910 | 912 | ||
| 911 | @example | 913 | @example |
| 912 | (lambda (x) (* x x)) | 914 | (lambda (x) (* x x)) |
| @@ -1169,13 +1171,13 @@ If provided, @var{when} should be a string indicating when the function | |||
| 1169 | was first made obsolete---for example, a date or a release number. | 1171 | was first made obsolete---for example, a date or a release number. |
| 1170 | @end defun | 1172 | @end defun |
| 1171 | 1173 | ||
| 1172 | @defmac define-obsolete-function-alias obsolete-name current-name &optional when docstring | 1174 | @defmac define-obsolete-function-alias obsolete-name current-name &optional when doc |
| 1173 | This convenience macro marks the function @var{obsolete-name} obsolete | 1175 | This convenience macro marks the function @var{obsolete-name} obsolete |
| 1174 | and also defines it as an alias for the function @var{current-name}. | 1176 | and also defines it as an alias for the function @var{current-name}. |
| 1175 | It is equivalent to the following: | 1177 | It is equivalent to the following: |
| 1176 | 1178 | ||
| 1177 | @example | 1179 | @example |
| 1178 | (defalias @var{obsolete-name} @var{current-name} @var{docstring}) | 1180 | (defalias @var{obsolete-name} @var{current-name} @var{doc}) |
| 1179 | (make-obsolete @var{obsolete-name} @var{current-name} @var{when}) | 1181 | (make-obsolete @var{obsolete-name} @var{current-name} @var{when}) |
| 1180 | @end example | 1182 | @end example |
| 1181 | @end defmac | 1183 | @end defmac |
| @@ -1213,16 +1215,16 @@ this: | |||
| 1213 | @section Inline Functions | 1215 | @section Inline Functions |
| 1214 | @cindex inline functions | 1216 | @cindex inline functions |
| 1215 | 1217 | ||
| 1216 | @defmac defsubst name argument-list body-forms... | 1218 | An @dfn{inline function} is a function that works just like an |
| 1217 | Define an inline function. The syntax is exactly the same as | 1219 | ordinary function, except for one thing: when you byte-compile a call |
| 1218 | @code{defun} (@pxref{Defining Functions}). | ||
| 1219 | @end defmac | ||
| 1220 | |||
| 1221 | You can define an @dfn{inline function} by using @code{defsubst} | ||
| 1222 | instead of @code{defun}. An inline function works just like an | ||
| 1223 | ordinary function except for one thing: when you byte-compile a call | ||
| 1224 | to the function (@pxref{Byte Compilation}), the function's definition | 1220 | to the function (@pxref{Byte Compilation}), the function's definition |
| 1225 | is expanded into the caller. | 1221 | is expanded into the caller. To define an inline function, use |
| 1222 | @code{defsubst} instead of @code{defun}. | ||
| 1223 | |||
| 1224 | @defmac defsubst name args [doc] [declare] [interactive] body@dots{} | ||
| 1225 | This macro defines an inline function. Its syntax is exactly the same | ||
| 1226 | as @code{defun} (@pxref{Defining Functions}). | ||
| 1227 | @end defmac | ||
| 1226 | 1228 | ||
| 1227 | Making a function inline often makes its function calls run faster. | 1229 | Making a function inline often makes its function calls run faster. |
| 1228 | But it also has disadvantages. For one thing, it reduces flexibility; | 1230 | But it also has disadvantages. For one thing, it reduces flexibility; |
| @@ -1266,16 +1268,13 @@ convention in Emacs Lisp mode. | |||
| 1266 | @anchor{Definition of declare} | 1268 | @anchor{Definition of declare} |
| 1267 | @defmac declare @var{specs}@dots{} | 1269 | @defmac declare @var{specs}@dots{} |
| 1268 | This macro ignores its arguments and evaluates to @code{nil}; it has | 1270 | This macro ignores its arguments and evaluates to @code{nil}; it has |
| 1269 | no run-time effect. However, when a @code{declare} form occurs as the | 1271 | no run-time effect. However, when a @code{declare} form occurs in the |
| 1270 | @emph{very first form} in the body of a @code{defun} function | 1272 | @var{declare} argument of a @code{defun} or @code{defsubst} function |
| 1271 | definition or a @code{defmacro} macro definition (@pxref{Defining | 1273 | definition (@pxref{Defining Functions}) or a @code{defmacro} macro |
| 1272 | Macros}, for a description of @code{defmacro}), it appends the | 1274 | definition (@pxref{Defining Macros}), it appends the properties |
| 1273 | properties specified by @var{specs} to the function or macro. This | 1275 | specified by @var{specs} to the function or macro. This work is |
| 1274 | work is specially performed by the @code{defun} and @code{defmacro} | 1276 | specially performed by @code{defun}, @code{defsubst}, and |
| 1275 | macros. | 1277 | @code{defmacro}. |
| 1276 | |||
| 1277 | Note that if you put a @code{declare} form in an interactive function, | ||
| 1278 | it should go before the @code{interactive} form. | ||
| 1279 | 1278 | ||
| 1280 | Each element in @var{specs} should have the form @code{(@var{property} | 1279 | Each element in @var{specs} should have the form @code{(@var{property} |
| 1281 | @var{args}@dots{})}, which should not be quoted. These have the | 1280 | @var{args}@dots{})}, which should not be quoted. These have the |
diff --git a/doc/lispref/macros.texi b/doc/lispref/macros.texi index 0a5152a43a1..8be6a3fbcde 100644 --- a/doc/lispref/macros.texi +++ b/doc/lispref/macros.texi | |||
| @@ -185,35 +185,38 @@ During Compile}). | |||
| 185 | @node Defining Macros | 185 | @node Defining Macros |
| 186 | @section Defining Macros | 186 | @section Defining Macros |
| 187 | 187 | ||
| 188 | A Lisp macro is a list whose @sc{car} is @code{macro}. Its @sc{cdr} should | 188 | A Lisp macro object is a list whose @sc{car} is @code{macro}, and |
| 189 | be a function; expansion of the macro works by applying the function | 189 | whose @sc{cdr} is a lambda expression. Expansion of the macro works |
| 190 | (with @code{apply}) to the list of unevaluated argument-expressions | 190 | by applying the lambda expression (with @code{apply}) to the list of |
| 191 | from the macro call. | 191 | @emph{unevaluated} arguments from the macro call. |
| 192 | 192 | ||
| 193 | It is possible to use an anonymous Lisp macro just like an anonymous | 193 | It is possible to use an anonymous Lisp macro just like an anonymous |
| 194 | function, but this is never done, because it does not make sense to pass | 194 | function, but this is never done, because it does not make sense to |
| 195 | an anonymous macro to functionals such as @code{mapcar}. In practice, | 195 | pass an anonymous macro to functionals such as @code{mapcar}. In |
| 196 | all Lisp macros have names, and they are usually defined with the | 196 | practice, all Lisp macros have names, and they are almost always |
| 197 | special form @code{defmacro}. | 197 | defined with the @code{defmacro} macro. |
| 198 | 198 | ||
| 199 | @defspec defmacro name argument-list body-forms@dots{} | 199 | @defmac defmacro name args [doc] [declare] body@dots{} |
| 200 | @code{defmacro} defines the symbol @var{name} as a macro that looks | 200 | @code{defmacro} defines the symbol @var{name} (which should not be |
| 201 | like this: | 201 | quoted) as a macro that looks like this: |
| 202 | 202 | ||
| 203 | @example | 203 | @example |
| 204 | (macro lambda @var{argument-list} . @var{body-forms}) | 204 | (macro lambda @var{args} . @var{body}) |
| 205 | @end example | 205 | @end example |
| 206 | 206 | ||
| 207 | (Note that the @sc{cdr} of this list is a function---a lambda expression.) | 207 | (Note that the @sc{cdr} of this list is a lambda expression.) This |
| 208 | This macro object is stored in the function cell of @var{name}. Its return | 208 | macro object is stored in the function cell of @var{name}. The |
| 209 | value is @emph{undefined}. | 209 | meaning of @var{args} is the same as in a function, and the keywords |
| 210 | 210 | @code{&rest} and @code{&optional} may be used (@pxref{Argument List}). | |
| 211 | The shape and meaning of @var{argument-list} is the same as in a | 211 | Neither @var{name} nor @var{args} should be quoted. The return value |
| 212 | function, and the keywords @code{&rest} and @code{&optional} may be used | 212 | of @code{defmacro} is undefined. |
| 213 | (@pxref{Argument List}). Macros may have a documentation string, but | 213 | |
| 214 | any @code{interactive} declaration is ignored since macros cannot be | 214 | @var{doc}, if present, should be a string specifying the macro's |
| 215 | called interactively. | 215 | documentation string. @var{declare}, if present, should be a |
| 216 | @end defspec | 216 | @code{declare} form specifying metadata for the macro (@pxref{Declare |
| 217 | Form}). Note that macros cannot have interactive declarations, since | ||
| 218 | they cannot be called interactively. | ||
| 219 | @end defmac | ||
| 217 | 220 | ||
| 218 | Macros often need to construct large list structures from a mixture | 221 | Macros often need to construct large list structures from a mixture |
| 219 | of constants and nonconstant parts. To make this easier, use the | 222 | of constants and nonconstant parts. To make this easier, use the |
| @@ -47,7 +47,7 @@ no warnings; on older and on non-GNU systems the generated warnings | |||
| 47 | may be useful. | 47 | may be useful. |
| 48 | 48 | ||
| 49 | --- | 49 | --- |
| 50 | ** The configuration option '--enable-use-lisp-union-type' has been | 50 | ** The configure option '--enable-use-lisp-union-type' has been |
| 51 | renamed to '--enable-check-lisp-object-type', as the resulting | 51 | renamed to '--enable-check-lisp-object-type', as the resulting |
| 52 | Lisp_Object type no longer uses a union to implement the compile time | 52 | Lisp_Object type no longer uses a union to implement the compile time |
| 53 | check that this option enables. | 53 | check that this option enables. |
| @@ -62,6 +62,13 @@ overwriting "emacs" in the installation bin/ directory with a link | |||
| 62 | to emacs-VERSION. | 62 | to emacs-VERSION. |
| 63 | 63 | ||
| 64 | --- | 64 | --- |
| 65 | ** The configure options `--program-prefix', `--program-suffix', and | ||
| 66 | `--program-transform-name' apply to more than just the installed | ||
| 67 | binaries. Now they also affect the man pages, icons, and the | ||
| 68 | etc/emacs.desktop file; but not the info pages, since this would break | ||
| 69 | links between the various manuals. | ||
| 70 | |||
| 71 | --- | ||
| 65 | ** Emacs uses libtinfo in preference to libncurses, if available. | 72 | ** Emacs uses libtinfo in preference to libncurses, if available. |
| 66 | 73 | ||
| 67 | --- | 74 | --- |
| @@ -203,7 +210,9 @@ The PCL-CVS commands are still available via the keyboard. | |||
| 203 | --- | 210 | --- |
| 204 | *** Fullscreen and frame parameter fullscreen is supported. | 211 | *** Fullscreen and frame parameter fullscreen is supported. |
| 205 | --- | 212 | --- |
| 206 | *** A file dialog is used when open/saved is done from the menu/toolbar. | 213 | *** A file dialog is used for open/save operations initiated from the |
| 214 | menu/toolbar. | ||
| 215 | |||
| 207 | 216 | ||
| 208 | * Editing Changes in Emacs 24.3 | 217 | * Editing Changes in Emacs 24.3 |
| 209 | 218 | ||
| @@ -415,8 +424,8 @@ The global binding for `M-=', `count-words-region' is in effect. | |||
| 415 | channel keys found, if any. | 424 | channel keys found, if any. |
| 416 | 425 | ||
| 417 | ** Flymake uses fringe bitmaps to indicate errors and warnings. | 426 | ** Flymake uses fringe bitmaps to indicate errors and warnings. |
| 418 | See flymake-fringe-indicator-position, flymake-error-bitmap and | 427 | See `flymake-fringe-indicator-position', `flymake-error-bitmap' and |
| 419 | flymake-warning-bitmap. | 428 | `flymake-warning-bitmap'. |
| 420 | 429 | ||
| 421 | ** Follow mode | 430 | ** Follow mode |
| 422 | 431 | ||
| @@ -634,6 +643,10 @@ inefficiency, and not namespace-clean. | |||
| 634 | 643 | ||
| 635 | 644 | ||
| 636 | * New Modes and Packages in Emacs 24.3 | 645 | * New Modes and Packages in Emacs 24.3 |
| 646 | |||
| 647 | FIXME? erc-desktop-notifications.el, gv.el, profiler.el, | ||
| 648 | gnus-notifications.el, mm-archive.el | ||
| 649 | |||
| 637 | 650 | ||
| 638 | * Incompatible Lisp Changes in Emacs 24.3 | 651 | * Incompatible Lisp Changes in Emacs 24.3 |
| 639 | 652 | ||
| @@ -848,7 +861,7 @@ describing the cycle. | |||
| 848 | ** Miscellaneous new functions: | 861 | ** Miscellaneous new functions: |
| 849 | 862 | ||
| 850 | *** `autoloadp' | 863 | *** `autoloadp' |
| 851 | *** `autoload-do-load'. | 864 | *** `autoload-do-load' |
| 852 | +++ | 865 | +++ |
| 853 | *** `buffer-narrowed-p' tests if the buffer is narrowed. | 866 | *** `buffer-narrowed-p' tests if the buffer is narrowed. |
| 854 | *** `file-name-base' returns a file name sans directory and extension. | 867 | *** `file-name-base' returns a file name sans directory and extension. |
| @@ -873,7 +886,7 @@ See the "Face Attributes" section of the Elisp manual. | |||
| 873 | 886 | ||
| 874 | *** `automount-dir-prefix' | 887 | *** `automount-dir-prefix' |
| 875 | *** `buffer-has-markers-at' | 888 | *** `buffer-has-markers-at' |
| 876 | *** `macro-declaration-function' (use `macro-declarations-alist'). | 889 | *** `macro-declaration-function' (use `macro-declarations-alist') |
| 877 | *** `window-system-version' | 890 | *** `window-system-version' |
| 878 | *** `dired-pop-to-buffer' (use `dired-mark-pop-up') | 891 | *** `dired-pop-to-buffer' (use `dired-mark-pop-up') |
| 879 | *** `query-replace-interactive' | 892 | *** `query-replace-interactive' |
| @@ -881,21 +894,20 @@ See the "Face Attributes" section of the Elisp manual. | |||
| 881 | 894 | ||
| 882 | * Changes in Emacs 24.3 on non-free operating systems | 895 | * Changes in Emacs 24.3 on non-free operating systems |
| 883 | 896 | ||
| 884 | ** New configure.bat options on MS-Windows: | 897 | +++ |
| 885 | 898 | ** On MS Windows, you can pass --without-libxml2 to configure.bat to omit | |
| 886 | *** --without-libxml2 omits support for libxml2, even if its presence | 899 | support for libxml2, even if its presence is detected. |
| 887 | is detected. | ||
| 888 | 900 | ||
| 889 | ** When invoked with the -nw switch to run on the Windows text-mode terminal, | 901 | ** When invoked with the -nw switch to run on the Windows text-mode terminal, |
| 890 | Emacs now supports mouse highlight, help-echo (in the echo area), and | 902 | Emacs now supports mouse highlight, help-echo (in the echo area), and |
| 891 | mouse-autoselect-window. | 903 | `mouse-autoselect-window'. |
| 892 | 904 | ||
| 893 | ** Two new functions are available in Cygwin builds of Emacs: | 905 | ** Two new functions are available in Cygwin builds: |
| 894 | cygwin-convert-path-from-windows and cygwin-convert-path-to-windows. | 906 | `cygwin-convert-path-from-windows' and `cygwin-convert-path-to-windows'. |
| 895 | These functions allow Lisp code to access the Cygwin file-name mapping | 907 | These functions allow Lisp code to access the Cygwin file-name mapping |
| 896 | machinery to convert between Cygwin and Windows-native file names. | 908 | machinery to convert between Cygwin and Windows-native file names. |
| 897 | 909 | ||
| 898 | ** On MS-Windows Vista and later Emacs now supports symbolic links. | 910 | ** On MS Windows Vista and later Emacs now supports symbolic links. |
| 899 | 911 | ||
| 900 | * Changes in Emacs 24.2 | 912 | * Changes in Emacs 24.2 |
| 901 | 913 | ||
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 7393bbc2845..9b1929eae6b 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,5 +1,23 @@ | |||
| 1 | 2012-10-17 Michael Heerdegen <michael_heerdegen@web.de> (tiny change) | ||
| 2 | |||
| 3 | * wdired.el (wdired-old-marks): New variable. | ||
| 4 | (wdired-change-to-wdired-mode): Locally set wdired-old-marks. | ||
| 5 | (wdired-do-renames): Move point with renamed file and don't lose | ||
| 6 | mark status (Bug#11795). | ||
| 7 | |||
| 8 | 2012-10-16 Juri Linkov <juri@jurta.org> | ||
| 9 | |||
| 10 | * replace.el (query-replace-help): Mention multi-buffer replacement | ||
| 11 | keys in the Help message. (Bug#12655) | ||
| 12 | |||
| 13 | 2012-10-15 Chong Yidong <cyd@gnu.org> | ||
| 14 | |||
| 15 | * emacs-lisp/byte-run.el (defsubst): Doc fix. | ||
| 16 | |||
| 1 | 2012-10-14 Eli Zaretskii <eliz@gnu.org> | 17 | 2012-10-14 Eli Zaretskii <eliz@gnu.org> |
| 2 | 18 | ||
| 19 | * window.el (display-buffer): Doc fix. | ||
| 20 | |||
| 3 | * progmodes/compile.el (compilation-error-regexp-alist-alist): | 21 | * progmodes/compile.el (compilation-error-regexp-alist-alist): |
| 4 | Adjust the msft regexp to the output of Studio 2010, and move msft | 22 | Adjust the msft regexp to the output of Studio 2010, and move msft |
| 5 | before edg-1. See the discussion on emacs-devel, | 23 | before edg-1. See the discussion on emacs-devel, |
| @@ -593,9 +611,9 @@ | |||
| 593 | * emacs-lisp/eieio-base.el (eieio-persistent-read): New input args | 611 | * emacs-lisp/eieio-base.el (eieio-persistent-read): New input args |
| 594 | specifying the expected class, and whether subclassing is allowed. | 612 | specifying the expected class, and whether subclassing is allowed. |
| 595 | (eieio-persistent-convert-list-to-object): | 613 | (eieio-persistent-convert-list-to-object): |
| 596 | (eieio-persistent-validate/fix-slot-value) | 614 | (eieio-persistent-validate/fix-slot-value) |
| 597 | (eieio-persistent-slot-type-is-class-p): New functions. | 615 | (eieio-persistent-slot-type-is-class-p): New functions. |
| 598 | (eieio-named::slot-missing): Doc fix. | 616 | (eieio-named::slot-missing): Doc fix. |
| 599 | 617 | ||
| 600 | * emacs-lisp/eieio-datadebug.el (data-debug/eieio-insert-slots): | 618 | * emacs-lisp/eieio-datadebug.el (data-debug/eieio-insert-slots): |
| 601 | Stop using unused publd variable. | 619 | Stop using unused publd variable. |
| @@ -2038,7 +2056,7 @@ | |||
| 2038 | 2056 | ||
| 2039 | * ses.el (ses-widen): | 2057 | * ses.el (ses-widen): |
| 2040 | * simple.el (count-words--buffer-message): | 2058 | * simple.el (count-words--buffer-message): |
| 2041 | * net/browse-url.el (browse-url-of-buffer): Use it | 2059 | * net/browse-url.el (browse-url-of-buffer): Use it. |
| 2042 | 2060 | ||
| 2043 | * simple.el (count-words-region): Don't signal an error if there | 2061 | * simple.el (count-words-region): Don't signal an error if there |
| 2044 | is a non-nil prefix arg and the mark is not set. | 2062 | is a non-nil prefix arg and the mark is not set. |
| @@ -16320,7 +16338,7 @@ | |||
| 16320 | 2011-06-22 Leo Liu <sdl.web@gmail.com> | 16338 | 2011-06-22 Leo Liu <sdl.web@gmail.com> |
| 16321 | 16339 | ||
| 16322 | * minibuffer.el (completing-read-function) | 16340 | * minibuffer.el (completing-read-function) |
| 16323 | (completing-read-default): Move from minibuf.c | 16341 | (completing-read-default): Move from minibuf.c. |
| 16324 | 16342 | ||
| 16325 | 2011-06-22 Richard Stallman <rms@gnu.org> | 16343 | 2011-06-22 Richard Stallman <rms@gnu.org> |
| 16326 | 16344 | ||
| @@ -18177,7 +18195,7 @@ | |||
| 18177 | Remove unnecessary and incorrect declarations. | 18195 | Remove unnecessary and incorrect declarations. |
| 18178 | 18196 | ||
| 18179 | * emacs-lisp/check-declare.el (check-declare-scan): | 18197 | * emacs-lisp/check-declare.el (check-declare-scan): |
| 18180 | Handle byte-compile-initial-macro-environment in bytecomp.el | 18198 | Handle byte-compile-initial-macro-environment in bytecomp.el. |
| 18181 | 18199 | ||
| 18182 | 2011-05-05 Stefan Monnier <monnier@iro.umontreal.ca> | 18200 | 2011-05-05 Stefan Monnier <monnier@iro.umontreal.ca> |
| 18183 | 18201 | ||
diff --git a/lisp/cedet/ChangeLog b/lisp/cedet/ChangeLog index 14e8d6c1d64..e89e8ed258b 100644 --- a/lisp/cedet/ChangeLog +++ b/lisp/cedet/ChangeLog | |||
| @@ -1,4 +1,32 @@ | |||
| 1 | 2012-10-08 David Engster <deng@randomsample.de>> | 1 | 2012-10-14 David Engster <deng@randomsample.de> |
| 2 | |||
| 3 | * semantic.el (semantic-error-if-unparsed): New function. Raise | ||
| 4 | error if buffer was not parsed by Semantic (bug #12045). | ||
| 5 | (navigate-menu, edit-menu, cedet-menu-map): Enable Semantic items | ||
| 6 | only if buffer was parsed. Also, replace ':active' with ':enable' | ||
| 7 | where necessary. | ||
| 8 | |||
| 9 | * semantic/wisent/python.el | ||
| 10 | (semantic-python-get-system-include-path): Use | ||
| 11 | `python-shell-internal-send-string' if available to query Python | ||
| 12 | for system paths. | ||
| 13 | |||
| 14 | * semantic/senator.el (senator-next-tag, senator-previous-tag) | ||
| 15 | (senator-go-to-up-reference): Use `semantic-error-if-unparsed'. | ||
| 16 | |||
| 17 | * semantic/complete.el (semantic-complete-jump-local) | ||
| 18 | (semantic-complete-jump, semantic-complete-jump-local-members) | ||
| 19 | (semantic-complete-self-insert): Use `semantic-error-if-unparsed'. | ||
| 20 | (semantic-complete-inline-project): Fix autoload cookie. | ||
| 21 | |||
| 22 | * semantic/analyze/complete.el | ||
| 23 | (semantic-analyze-possible-completions): Check if buffer was | ||
| 24 | parsed. Only raise an error if function was called interactively, | ||
| 25 | otherwise silently return nil. | ||
| 26 | |||
| 27 | * cedet.el (cedet-menu-map): Fix copy&paste typo in menu creation. | ||
| 28 | |||
| 29 | 2012-10-08 David Engster <deng@randomsample.de> | ||
| 2 | 30 | ||
| 3 | * semantic/bovine/el.el: Add `semantic-default-elisp-setup' to | 31 | * semantic/bovine/el.el: Add `semantic-default-elisp-setup' to |
| 4 | `emacs-lisp-mode-hook'. This was accidentally removed during the | 32 | `emacs-lisp-mode-hook'. This was accidentally removed during the |
diff --git a/lisp/cedet/cedet.el b/lisp/cedet/cedet.el index 5c21e4ab538..327a72f9dc7 100644 --- a/lisp/cedet/cedet.el +++ b/lisp/cedet/cedet.el | |||
| @@ -59,7 +59,7 @@ | |||
| 59 | (define-key map [navigate-menu] 'undefined) | 59 | (define-key map [navigate-menu] 'undefined) |
| 60 | (define-key map [semantic-options-separator] 'undefined) | 60 | (define-key map [semantic-options-separator] 'undefined) |
| 61 | (define-key map [global-semantic-highlight-func-mode] 'undefined) | 61 | (define-key map [global-semantic-highlight-func-mode] 'undefined) |
| 62 | (define-key map [global-semantic-highlight-func-mode] 'undefined) | 62 | (define-key map [global-semantic-stickyfunc-mode] 'undefined) |
| 63 | (define-key map [global-semantic-decoration-mode] 'undefined) | 63 | (define-key map [global-semantic-decoration-mode] 'undefined) |
| 64 | (define-key map [global-semantic-idle-completions-mode] 'undefined) | 64 | (define-key map [global-semantic-idle-completions-mode] 'undefined) |
| 65 | (define-key map [global-semantic-idle-summary-mode] 'undefined) | 65 | (define-key map [global-semantic-idle-summary-mode] 'undefined) |
diff --git a/lisp/cedet/semantic.el b/lisp/cedet/semantic.el index e02790cbfa8..373864a43d5 100644 --- a/lisp/cedet/semantic.el +++ b/lisp/cedet/semantic.el | |||
| @@ -319,6 +319,11 @@ a parse of the buffer.") | |||
| 319 | "Return non-nil if the current buffer was set up for parsing." | 319 | "Return non-nil if the current buffer was set up for parsing." |
| 320 | semantic-new-buffer-fcn-was-run) | 320 | semantic-new-buffer-fcn-was-run) |
| 321 | 321 | ||
| 322 | (defsubst semantic-error-if-unparsed () | ||
| 323 | "Raise an error if current buffer was not parsed by Semantic." | ||
| 324 | (unless semantic-new-buffer-fcn-was-run | ||
| 325 | (error "Buffer was not parsed by Semantic."))) | ||
| 326 | |||
| 322 | (defsubst semantic--umatched-syntax-needs-refresh-p () | 327 | (defsubst semantic--umatched-syntax-needs-refresh-p () |
| 323 | "Return non-nil if the unmatched syntax cache needs a refresh. | 328 | "Return non-nil if the unmatched syntax cache needs a refresh. |
| 324 | That is, if it is dirty or if the current parse tree isn't up to date." | 329 | That is, if it is dirty or if the current parse tree isn't up to date." |
| @@ -907,75 +912,91 @@ Throw away all the old tags, and recreate the tag database." | |||
| 907 | ;; Edit Tags submenu: | 912 | ;; Edit Tags submenu: |
| 908 | (define-key edit-menu [semantic-analyze-possible-completions] | 913 | (define-key edit-menu [semantic-analyze-possible-completions] |
| 909 | '(menu-item "List Completions" semantic-analyze-possible-completions | 914 | '(menu-item "List Completions" semantic-analyze-possible-completions |
| 915 | :enable (semantic-active-p) | ||
| 910 | :help "Display a list of completions for the tag at point")) | 916 | :help "Display a list of completions for the tag at point")) |
| 911 | (define-key edit-menu [semantic-complete-analyze-inline] | 917 | (define-key edit-menu [semantic-complete-analyze-inline] |
| 912 | '(menu-item "Complete Tag Inline" semantic-complete-analyze-inline | 918 | '(menu-item "Complete Tag Inline" semantic-complete-analyze-inline |
| 919 | :enable (semantic-active-p) | ||
| 913 | :help "Display inline completion for the tag at point")) | 920 | :help "Display inline completion for the tag at point")) |
| 914 | (define-key edit-menu [semantic-completion-separator] | 921 | (define-key edit-menu [semantic-completion-separator] |
| 915 | '("--")) | 922 | '("--")) |
| 916 | (define-key edit-menu [senator-transpose-tags-down] | 923 | (define-key edit-menu [senator-transpose-tags-down] |
| 917 | '(menu-item "Transpose Tags Down" senator-transpose-tags-down | 924 | '(menu-item "Transpose Tags Down" senator-transpose-tags-down |
| 918 | :active (semantic-current-tag) | 925 | :enable (and (semantic-active-p) |
| 926 | (semantic-current-tag)) | ||
| 919 | :help "Transpose the current tag and the next tag")) | 927 | :help "Transpose the current tag and the next tag")) |
| 920 | (define-key edit-menu [senator-transpose-tags-up] | 928 | (define-key edit-menu [senator-transpose-tags-up] |
| 921 | '(menu-item "Transpose Tags Up" senator-transpose-tags-up | 929 | '(menu-item "Transpose Tags Up" senator-transpose-tags-up |
| 922 | :active (semantic-current-tag) | 930 | :enable (and (semantic-active-p) |
| 931 | (semantic-current-tag)) | ||
| 923 | :help "Transpose the current tag and the previous tag")) | 932 | :help "Transpose the current tag and the previous tag")) |
| 924 | (define-key edit-menu [semantic-edit-separator] | 933 | (define-key edit-menu [semantic-edit-separator] |
| 925 | '("--")) | 934 | '("--")) |
| 926 | (define-key edit-menu [senator-yank-tag] | 935 | (define-key edit-menu [senator-yank-tag] |
| 927 | '(menu-item "Yank Tag" senator-yank-tag | 936 | '(menu-item "Yank Tag" senator-yank-tag |
| 928 | :active (not (ring-empty-p senator-tag-ring)) | 937 | :enable (not (ring-empty-p senator-tag-ring)) |
| 929 | :help "Yank the head of the tag ring into the buffer")) | 938 | :help "Yank the head of the tag ring into the buffer")) |
| 930 | (define-key edit-menu [senator-copy-tag-to-register] | 939 | (define-key edit-menu [senator-copy-tag-to-register] |
| 931 | '(menu-item "Copy Tag To Register" senator-copy-tag-to-register | 940 | '(menu-item "Copy Tag To Register" senator-copy-tag-to-register |
| 932 | :active (semantic-current-tag) | 941 | :enable (and (semantic-active-p) |
| 942 | (semantic-current-tag)) | ||
| 933 | :help "Yank the head of the tag ring into the buffer")) | 943 | :help "Yank the head of the tag ring into the buffer")) |
| 934 | (define-key edit-menu [senator-copy-tag] | 944 | (define-key edit-menu [senator-copy-tag] |
| 935 | '(menu-item "Copy Tag" senator-copy-tag | 945 | '(menu-item "Copy Tag" senator-copy-tag |
| 936 | :active (semantic-current-tag) | 946 | :enable (and (semantic-active-p) |
| 947 | (semantic-current-tag)) | ||
| 937 | :help "Copy the current tag to the tag ring")) | 948 | :help "Copy the current tag to the tag ring")) |
| 938 | (define-key edit-menu [senator-kill-tag] | 949 | (define-key edit-menu [senator-kill-tag] |
| 939 | '(menu-item "Kill Tag" senator-kill-tag | 950 | '(menu-item "Kill Tag" senator-kill-tag |
| 940 | :active (semantic-current-tag) | 951 | :enable (and (semantic-active-p) |
| 952 | (semantic-current-tag)) | ||
| 941 | :help "Kill the current tag, and copy it to the tag ring")) | 953 | :help "Kill the current tag, and copy it to the tag ring")) |
| 942 | 954 | ||
| 943 | ;; Navigate Tags submenu: | 955 | ;; Navigate Tags submenu: |
| 944 | (define-key navigate-menu [senator-narrow-to-defun] | 956 | (define-key navigate-menu [senator-narrow-to-defun] |
| 945 | '(menu-item "Narrow to Tag" senator-narrow-to-defun | 957 | '(menu-item "Narrow to Tag" senator-narrow-to-defun |
| 946 | :active (semantic-current-tag) | 958 | :enable (and (semantic-active-p) |
| 959 | (semantic-current-tag)) | ||
| 947 | :help "Narrow the buffer to the bounds of the current tag")) | 960 | :help "Narrow the buffer to the bounds of the current tag")) |
| 948 | (define-key navigate-menu [semantic-narrow-to-defun-separator] | 961 | (define-key navigate-menu [semantic-narrow-to-defun-separator] |
| 949 | '("--")) | 962 | '("--")) |
| 950 | (define-key navigate-menu [semantic-symref-symbol] | 963 | (define-key navigate-menu [semantic-symref-symbol] |
| 951 | '(menu-item "Find Tag References..." semantic-symref-symbol | 964 | '(menu-item "Find Tag References..." semantic-symref-symbol |
| 965 | :enable (semantic-active-p) | ||
| 952 | :help "Read a tag and list the references to it")) | 966 | :help "Read a tag and list the references to it")) |
| 953 | (define-key navigate-menu [semantic-complete-jump] | 967 | (define-key navigate-menu [semantic-complete-jump] |
| 954 | '(menu-item "Find Tag Globally..." semantic-complete-jump | 968 | '(menu-item "Find Tag Globally..." semantic-complete-jump |
| 969 | :enable (semantic-active-p) | ||
| 955 | :help "Read a tag name and find it in the current project")) | 970 | :help "Read a tag name and find it in the current project")) |
| 956 | (define-key navigate-menu [semantic-complete-jump-local-members] | 971 | (define-key navigate-menu [semantic-complete-jump-local-members] |
| 957 | '(menu-item "Find Local Members ..." semantic-complete-jump-local-members | 972 | '(menu-item "Find Local Members ..." semantic-complete-jump-local-members |
| 973 | :enable (semantic-active-p) | ||
| 958 | :help "Read a tag name and find a local member with that name")) | 974 | :help "Read a tag name and find a local member with that name")) |
| 959 | (define-key navigate-menu [semantic-complete-jump-local] | 975 | (define-key navigate-menu [semantic-complete-jump-local] |
| 960 | '(menu-item "Find Tag in This Buffer..." semantic-complete-jump-local | 976 | '(menu-item "Find Tag in This Buffer..." semantic-complete-jump-local |
| 977 | :enable (semantic-active-p) | ||
| 961 | :help "Read a tag name and find it in this buffer")) | 978 | :help "Read a tag name and find it in this buffer")) |
| 962 | (define-key navigate-menu [semantic-navigation-separator] | 979 | (define-key navigate-menu [semantic-navigation-separator] |
| 963 | '("--")) | 980 | '("--")) |
| 964 | (define-key navigate-menu [senator-go-to-up-reference] | 981 | (define-key navigate-menu [senator-go-to-up-reference] |
| 965 | '(menu-item "Parent Tag" senator-go-to-up-reference | 982 | '(menu-item "Parent Tag" senator-go-to-up-reference |
| 983 | :enable (semantic-active-p) | ||
| 966 | :help "Navigate up one reference by tag")) | 984 | :help "Navigate up one reference by tag")) |
| 967 | (define-key navigate-menu [senator-next-tag] | 985 | (define-key navigate-menu [senator-next-tag] |
| 968 | '(menu-item "Next Tag" senator-next-tag | 986 | '(menu-item "Next Tag" senator-next-tag |
| 987 | :enable (semantic-active-p) | ||
| 969 | :help "Go to the next tag")) | 988 | :help "Go to the next tag")) |
| 970 | (define-key navigate-menu [senator-previous-tag] | 989 | (define-key navigate-menu [senator-previous-tag] |
| 971 | '(menu-item "Previous Tag" senator-previous-tag | 990 | '(menu-item "Previous Tag" senator-previous-tag |
| 991 | :enable (semantic-active-p) | ||
| 972 | :help "Go to the previous tag")) | 992 | :help "Go to the previous tag")) |
| 973 | 993 | ||
| 974 | ;; Top level menu items: | 994 | ;; Top level menu items: |
| 975 | (define-key cedet-menu-map [semantic-force-refresh] | 995 | (define-key cedet-menu-map [semantic-force-refresh] |
| 976 | '(menu-item "Reparse Buffer" semantic-force-refresh | 996 | '(menu-item "Reparse Buffer" semantic-force-refresh |
| 977 | :help "Force a full reparse of the current buffer" | 997 | :help "Force a full reparse of the current buffer" |
| 978 | :visible semantic-mode)) | 998 | :visible semantic-mode |
| 999 | :enable (semantic-active-p))) | ||
| 979 | (define-key cedet-menu-map [semantic-edit-menu] | 1000 | (define-key cedet-menu-map [semantic-edit-menu] |
| 980 | `(menu-item "Edit Tags" ,edit-menu | 1001 | `(menu-item "Edit Tags" ,edit-menu |
| 981 | :visible semantic-mode)) | 1002 | :visible semantic-mode)) |
diff --git a/lisp/cedet/semantic/analyze/complete.el b/lisp/cedet/semantic/analyze/complete.el index edc3cdc230c..a83f4ff0ac8 100644 --- a/lisp/cedet/semantic/analyze/complete.el +++ b/lisp/cedet/semantic/analyze/complete.el | |||
| @@ -87,20 +87,25 @@ in a buffer." | |||
| 87 | ;; In theory, we don't need the below since the context will | 87 | ;; In theory, we don't need the below since the context will |
| 88 | ;; do it for us. | 88 | ;; do it for us. |
| 89 | ;;(semantic-refresh-tags-safe) | 89 | ;;(semantic-refresh-tags-safe) |
| 90 | (with-syntax-table semantic-lex-syntax-table | 90 | (if (semantic-active-p) |
| 91 | (let* ((context (if (semantic-analyze-context-child-p context) | 91 | (with-syntax-table semantic-lex-syntax-table |
| 92 | context | 92 | (let* ((context (if (semantic-analyze-context-child-p context) |
| 93 | (semantic-analyze-current-context context))) | 93 | context |
| 94 | (ans (if (not context) | 94 | (semantic-analyze-current-context context))) |
| 95 | (error "Nothing to complete") | 95 | (ans (if (not context) |
| 96 | (:override)))) | 96 | (error "Nothing to complete") |
| 97 | ;; If interactive, display them. | 97 | (:override)))) |
| 98 | (when (called-interactively-p 'any) | 98 | ;; If interactive, display them. |
| 99 | (with-output-to-temp-buffer "*Possible Completions*" | 99 | (when (called-interactively-p 'any) |
| 100 | (semantic-analyze-princ-sequence ans "" (current-buffer))) | 100 | (with-output-to-temp-buffer "*Possible Completions*" |
| 101 | (shrink-window-if-larger-than-buffer | 101 | (semantic-analyze-princ-sequence ans "" (current-buffer))) |
| 102 | (get-buffer-window "*Possible Completions*"))) | 102 | (shrink-window-if-larger-than-buffer |
| 103 | ans))) | 103 | (get-buffer-window "*Possible Completions*"))) |
| 104 | ans)) | ||
| 105 | ;; Buffer was not parsed by Semantic. | ||
| 106 | ;; Raise error if called interactively. | ||
| 107 | (when (called-interactively-p 'any) | ||
| 108 | (error "Buffer was not parsed by Semantic.")))) | ||
| 104 | 109 | ||
| 105 | (defun semantic-analyze-possible-completions-default (context &optional flags) | 110 | (defun semantic-analyze-possible-completions-default (context &optional flags) |
| 106 | "Default method for producing smart completions. | 111 | "Default method for producing smart completions. |
diff --git a/lisp/cedet/semantic/complete.el b/lisp/cedet/semantic/complete.el index 9c2da9faefa..59d17f2f8bb 100644 --- a/lisp/cedet/semantic/complete.el +++ b/lisp/cedet/semantic/complete.el | |||
| @@ -2088,6 +2088,7 @@ completion works." | |||
| 2088 | (defun semantic-complete-jump-local () | 2088 | (defun semantic-complete-jump-local () |
| 2089 | "Jump to a local semantic symbol." | 2089 | "Jump to a local semantic symbol." |
| 2090 | (interactive) | 2090 | (interactive) |
| 2091 | (semantic-error-if-unparsed) | ||
| 2091 | (let ((tag (semantic-complete-read-tag-buffer-deep "Jump to symbol: "))) | 2092 | (let ((tag (semantic-complete-read-tag-buffer-deep "Jump to symbol: "))) |
| 2092 | (when (semantic-tag-p tag) | 2093 | (when (semantic-tag-p tag) |
| 2093 | (push-mark) | 2094 | (push-mark) |
| @@ -2101,6 +2102,7 @@ completion works." | |||
| 2101 | (defun semantic-complete-jump () | 2102 | (defun semantic-complete-jump () |
| 2102 | "Jump to a semantic symbol." | 2103 | "Jump to a semantic symbol." |
| 2103 | (interactive) | 2104 | (interactive) |
| 2105 | (semantic-error-if-unparsed) | ||
| 2104 | (let* ((tag (semantic-complete-read-tag-project "Jump to symbol: "))) | 2106 | (let* ((tag (semantic-complete-read-tag-project "Jump to symbol: "))) |
| 2105 | (when (semantic-tag-p tag) | 2107 | (when (semantic-tag-p tag) |
| 2106 | (push-mark) | 2108 | (push-mark) |
| @@ -2115,6 +2117,7 @@ completion works." | |||
| 2115 | (defun semantic-complete-jump-local-members () | 2117 | (defun semantic-complete-jump-local-members () |
| 2116 | "Jump to a semantic symbol." | 2118 | "Jump to a semantic symbol." |
| 2117 | (interactive) | 2119 | (interactive) |
| 2120 | (semantic-error-if-unparsed) | ||
| 2118 | (let* ((tag (semantic-complete-read-tag-local-members "Jump to symbol: "))) | 2121 | (let* ((tag (semantic-complete-read-tag-local-members "Jump to symbol: "))) |
| 2119 | (when (semantic-tag-p tag) | 2122 | (when (semantic-tag-p tag) |
| 2120 | (let ((start (condition-case nil (semantic-tag-start tag) | 2123 | (let ((start (condition-case nil (semantic-tag-start tag) |
| @@ -2216,7 +2219,7 @@ use `semantic-complete-analyze-inline' to complete." | |||
| 2216 | (error nil)) | 2219 | (error nil)) |
| 2217 | )) | 2220 | )) |
| 2218 | 2221 | ||
| 2219 | ;;;;###autoload | 2222 | ;;;###autoload |
| 2220 | (defun semantic-complete-inline-project () | 2223 | (defun semantic-complete-inline-project () |
| 2221 | "Perform inline completion for any symbol in the current project. | 2224 | "Perform inline completion for any symbol in the current project. |
| 2222 | `semantic-analyze-possible-completions' is used to determine the | 2225 | `semantic-analyze-possible-completions' is used to determine the |
diff --git a/lisp/cedet/semantic/senator.el b/lisp/cedet/semantic/senator.el index 64f99a8ad6f..1138c13096a 100644 --- a/lisp/cedet/semantic/senator.el +++ b/lisp/cedet/semantic/senator.el | |||
| @@ -255,6 +255,7 @@ TEXT, BOUND, NOERROR, and COUNT arguments are interpreted." | |||
| 255 | "Navigate to the next Semantic tag. | 255 | "Navigate to the next Semantic tag. |
| 256 | Return the tag or nil if at end of buffer." | 256 | Return the tag or nil if at end of buffer." |
| 257 | (interactive) | 257 | (interactive) |
| 258 | (semantic-error-if-unparsed) | ||
| 258 | (let ((pos (point)) | 259 | (let ((pos (point)) |
| 259 | (tag (semantic-current-tag)) | 260 | (tag (semantic-current-tag)) |
| 260 | where) | 261 | where) |
| @@ -294,6 +295,7 @@ Return the tag or nil if at end of buffer." | |||
| 294 | "Navigate to the previous Semantic tag. | 295 | "Navigate to the previous Semantic tag. |
| 295 | Return the tag or nil if at beginning of buffer." | 296 | Return the tag or nil if at beginning of buffer." |
| 296 | (interactive) | 297 | (interactive) |
| 298 | (semantic-error-if-unparsed) | ||
| 297 | (let ((pos (point)) | 299 | (let ((pos (point)) |
| 298 | (tag (semantic-current-tag)) | 300 | (tag (semantic-current-tag)) |
| 299 | where) | 301 | where) |
| @@ -519,6 +521,7 @@ If that parent which is only a reference in the function tag | |||
| 519 | is found, we can jump to it. | 521 | is found, we can jump to it. |
| 520 | Some tags such as includes have other reference features." | 522 | Some tags such as includes have other reference features." |
| 521 | (interactive) | 523 | (interactive) |
| 524 | (semantic-error-if-unparsed) | ||
| 522 | (let ((result (semantic-up-reference (or tag (semantic-current-tag))))) | 525 | (let ((result (semantic-up-reference (or tag (semantic-current-tag))))) |
| 523 | (if (not result) | 526 | (if (not result) |
| 524 | (error "No up reference found") | 527 | (error "No up reference found") |
diff --git a/lisp/cedet/semantic/wisent/python.el b/lisp/cedet/semantic/wisent/python.el index a0ea488f0fe..89c0499b7da 100644 --- a/lisp/cedet/semantic/wisent/python.el +++ b/lisp/cedet/semantic/wisent/python.el | |||
| @@ -48,24 +48,15 @@ | |||
| 48 | 48 | ||
| 49 | (defun semantic-python-get-system-include-path () | 49 | (defun semantic-python-get-system-include-path () |
| 50 | "Evaluate some Python code that determines the system include path." | 50 | "Evaluate some Python code that determines the system include path." |
| 51 | (python-proc) | 51 | (delq nil |
| 52 | (if python-buffer | 52 | (mapcar |
| 53 | (with-current-buffer python-buffer | 53 | (lambda (dir) |
| 54 | (set (make-local-variable 'python-preoutput-result) nil) | 54 | (when (file-directory-p dir) |
| 55 | (python-send-string | 55 | dir)) |
| 56 | "import sys; print '_emacs_out ' + '\\0'.join(sys.path)") | 56 | (split-string |
| 57 | (accept-process-output (python-proc) 2) | 57 | (python-shell-internal-send-string |
| 58 | (if python-preoutput-result | 58 | "import sys;print ('\\n'.join(sys.path))") |
| 59 | (split-string python-preoutput-result "[\0\n]" t) | 59 | "\n" t)))) |
| 60 | ;; Try a second, Python3k compatible shot | ||
| 61 | (python-send-string | ||
| 62 | "import sys; print('_emacs_out ' + '\\0'.join(sys.path))") | ||
| 63 | (accept-process-output (python-proc) 2) | ||
| 64 | (if python-preoutput-result | ||
| 65 | (split-string python-preoutput-result "[\0\n]" t) | ||
| 66 | (message "Timeout while querying Python for system include path.") | ||
| 67 | nil))) | ||
| 68 | (message "Python seems to be unavailable on this system."))) | ||
| 69 | 60 | ||
| 70 | (defcustom-mode-local-semantic-dependency-system-include-path | 61 | (defcustom-mode-local-semantic-dependency-system-include-path |
| 71 | python-mode semantic-python-dependency-system-include-path | 62 | python-mode semantic-python-dependency-system-include-path |
diff --git a/lisp/emacs-lisp/byte-run.el b/lisp/emacs-lisp/byte-run.el index d740574f1e4..462b4a25154 100644 --- a/lisp/emacs-lisp/byte-run.el +++ b/lisp/emacs-lisp/byte-run.el | |||
| @@ -232,7 +232,8 @@ The return value is undefined. | |||
| 232 | ;; fns))) | 232 | ;; fns))) |
| 233 | 233 | ||
| 234 | (defmacro defsubst (name arglist &rest body) | 234 | (defmacro defsubst (name arglist &rest body) |
| 235 | "Define an inline function. The syntax is just like that of `defun'." | 235 | "Define an inline function. The syntax is just like that of `defun'. |
| 236 | \(fn NAME ARGLIST &optional DOCSTRING DECL &rest BODY)" | ||
| 236 | (declare (debug defun) (doc-string 3)) | 237 | (declare (debug defun) (doc-string 3)) |
| 237 | (or (memq (get name 'byte-optimizer) | 238 | (or (memq (get name 'byte-optimizer) |
| 238 | '(nil byte-compile-inline-expand)) | 239 | '(nil byte-compile-inline-expand)) |
diff --git a/lisp/erc/ChangeLog b/lisp/erc/ChangeLog index 8b4df6099bc..343a6655701 100644 --- a/lisp/erc/ChangeLog +++ b/lisp/erc/ChangeLog | |||
| @@ -1,3 +1,10 @@ | |||
| 1 | 2012-10-15 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * erc.el (erc-log): Make it into a defsubst. | ||
| 4 | (erc-with-server-buffer, define-erc-module, erc-with-buffer) | ||
| 5 | (erc-with-all-buffers-of-server): Use `declare'. | ||
| 6 | * erc-backend.el (erc-log): Adjust autoload accordingly. | ||
| 7 | |||
| 1 | 2012-10-07 Deniz Dogan <deniz@dogan.se> | 8 | 2012-10-07 Deniz Dogan <deniz@dogan.se> |
| 2 | 9 | ||
| 3 | * erc-log.el (erc-generate-log-file-name-function): | 10 | * erc-log.el (erc-generate-log-file-name-function): |
| @@ -42,8 +49,8 @@ | |||
| 42 | 49 | ||
| 43 | 2012-08-21 Julien Danjou <julien@danjou.info> | 50 | 2012-08-21 Julien Danjou <julien@danjou.info> |
| 44 | 51 | ||
| 45 | * erc-match.el (erc-match-message): Use | 52 | * erc-match.el (erc-match-message): |
| 46 | `erc-match-exclude-server-buffer' not | 53 | Use `erc-match-exclude-server-buffer' not |
| 47 | `erc-track-exclude-server-buffer'. | 54 | `erc-track-exclude-server-buffer'. |
| 48 | 55 | ||
| 49 | 2012-08-20 Josh Feinstein <jlf@foxtail.org> | 56 | 2012-08-20 Josh Feinstein <jlf@foxtail.org> |
| @@ -56,8 +63,8 @@ | |||
| 56 | (erc-lurker-threshold-time): New variables. | 63 | (erc-lurker-threshold-time): New variables. |
| 57 | (erc-lurker-maybe-trim, erc-lurker-initialize, erc-lurker-cleanup) | 64 | (erc-lurker-maybe-trim, erc-lurker-initialize, erc-lurker-cleanup) |
| 58 | (erc-hide-current-message-p, erc-canonicalize-server-name) | 65 | (erc-hide-current-message-p, erc-canonicalize-server-name) |
| 59 | (erc-lurker-update-status, erc-lurker-p): New functions. Together | 66 | (erc-lurker-update-status, erc-lurker-p): New functions. |
| 60 | they maintain state about which users have spoken in the last | 67 | Together they maintain state about which users have spoken in the last |
| 61 | erc-lurker-threshold-time, with all other users being considered | 68 | erc-lurker-threshold-time, with all other users being considered |
| 62 | lurkers whose messages of types in erc-lurker-hide-list will not | 69 | lurkers whose messages of types in erc-lurker-hide-list will not |
| 63 | be displayed by erc-display-message. | 70 | be displayed by erc-display-message. |
| @@ -192,7 +199,7 @@ | |||
| 192 | 199 | ||
| 193 | * erc.el (erc-ssl): Made into a synonym for erc-tls, which | 200 | * erc.el (erc-ssl): Made into a synonym for erc-tls, which |
| 194 | provides a superset of the same functionality. | 201 | provides a superset of the same functionality. |
| 195 | (erc-open-ssl-stream): Removed. | 202 | (erc-open-ssl-stream): Remove. |
| 196 | (erc-open-tls-stream): Use `open-network-stream' instead of | 203 | (erc-open-tls-stream): Use `open-network-stream' instead of |
| 197 | `open-tls-stream' directly to be able to use the built-in TLS | 204 | `open-tls-stream' directly to be able to use the built-in TLS |
| 198 | support. | 205 | support. |
diff --git a/lisp/erc/erc-backend.el b/lisp/erc/erc-backend.el index 20ccd071b95..b8b5c90b596 100644 --- a/lisp/erc/erc-backend.el +++ b/lisp/erc/erc-backend.el | |||
| @@ -100,7 +100,7 @@ | |||
| 100 | (require 'erc-compat) | 100 | (require 'erc-compat) |
| 101 | (eval-when-compile (require 'cl)) | 101 | (eval-when-compile (require 'cl)) |
| 102 | (autoload 'erc-with-buffer "erc" nil nil 'macro) | 102 | (autoload 'erc-with-buffer "erc" nil nil 'macro) |
| 103 | (autoload 'erc-log "erc" nil nil 'macro) | 103 | (autoload 'erc-log "erc") |
| 104 | 104 | ||
| 105 | ;;;; Variables and options | 105 | ;;;; Variables and options |
| 106 | 106 | ||
diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el index bbd9dad4310..2e97131b603 100644 --- a/lisp/erc/erc.el +++ b/lisp/erc/erc.el | |||
| @@ -362,13 +362,12 @@ nicknames with erc-server-user struct instances.") | |||
| 362 | (defmacro erc-with-server-buffer (&rest body) | 362 | (defmacro erc-with-server-buffer (&rest body) |
| 363 | "Execute BODY in the current ERC server buffer. | 363 | "Execute BODY in the current ERC server buffer. |
| 364 | If no server buffer exists, return nil." | 364 | If no server buffer exists, return nil." |
| 365 | (declare (indent 0) (debug (body))) | ||
| 365 | (let ((buffer (make-symbol "buffer"))) | 366 | (let ((buffer (make-symbol "buffer"))) |
| 366 | `(let ((,buffer (erc-server-buffer))) | 367 | `(let ((,buffer (erc-server-buffer))) |
| 367 | (when (buffer-live-p ,buffer) | 368 | (when (buffer-live-p ,buffer) |
| 368 | (with-current-buffer ,buffer | 369 | (with-current-buffer ,buffer |
| 369 | ,@body))))) | 370 | ,@body))))) |
| 370 | (put 'erc-with-server-buffer 'lisp-indent-function 0) | ||
| 371 | (put 'erc-with-server-buffer 'edebug-form-spec '(body)) | ||
| 372 | 371 | ||
| 373 | (defstruct (erc-server-user (:type vector) :named) | 372 | (defstruct (erc-server-user (:type vector) :named) |
| 374 | ;; User data | 373 | ;; User data |
| @@ -1236,6 +1235,7 @@ Example: | |||
| 1236 | 'erc-replace-insert)) | 1235 | 'erc-replace-insert)) |
| 1237 | ((remove-hook 'erc-insert-modify-hook | 1236 | ((remove-hook 'erc-insert-modify-hook |
| 1238 | 'erc-replace-insert)))" | 1237 | 'erc-replace-insert)))" |
| 1238 | (declare (doc-string 3)) | ||
| 1239 | (let* ((sn (symbol-name name)) | 1239 | (let* ((sn (symbol-name name)) |
| 1240 | (mode (intern (format "erc-%s-mode" (downcase sn)))) | 1240 | (mode (intern (format "erc-%s-mode" (downcase sn)))) |
| 1241 | (group (intern (format "erc-%s" (downcase sn)))) | 1241 | (group (intern (format "erc-%s" (downcase sn)))) |
| @@ -1281,8 +1281,6 @@ if ARG is omitted or nil. | |||
| 1281 | (put ',enable 'definition-name ',name) | 1281 | (put ',enable 'definition-name ',name) |
| 1282 | (put ',disable 'definition-name ',name)))) | 1282 | (put ',disable 'definition-name ',name)))) |
| 1283 | 1283 | ||
| 1284 | (put 'define-erc-module 'doc-string-elt 3) | ||
| 1285 | |||
| 1286 | (defun erc-once-with-server-event (event &rest forms) | 1284 | (defun erc-once-with-server-event (event &rest forms) |
| 1287 | "Execute FORMS the next time EVENT occurs in the `current-buffer'. | 1285 | "Execute FORMS the next time EVENT occurs in the `current-buffer'. |
| 1288 | 1286 | ||
| @@ -1334,10 +1332,10 @@ connection over which the data was received that triggered EVENT." | |||
| 1334 | (add-hook hook fun nil nil) | 1332 | (add-hook hook fun nil nil) |
| 1335 | fun)) | 1333 | fun)) |
| 1336 | 1334 | ||
| 1337 | (defmacro erc-log (string) | 1335 | (defsubst erc-log (string) |
| 1338 | "Logs STRING if logging is on (see `erc-log-p')." | 1336 | "Logs STRING if logging is on (see `erc-log-p')." |
| 1339 | `(when erc-log-p | 1337 | (when erc-log-p |
| 1340 | (erc-log-aux ,string))) | 1338 | (erc-log-aux string))) |
| 1341 | 1339 | ||
| 1342 | (defun erc-server-buffer () | 1340 | (defun erc-server-buffer () |
| 1343 | "Return the server buffer for the current buffer's process. | 1341 | "Return the server buffer for the current buffer's process. |
| @@ -1621,6 +1619,7 @@ See `erc-get-buffer' for details. | |||
| 1621 | See also `with-current-buffer'. | 1619 | See also `with-current-buffer'. |
| 1622 | 1620 | ||
| 1623 | \(fn (TARGET [PROCESS]) BODY...)" | 1621 | \(fn (TARGET [PROCESS]) BODY...)" |
| 1622 | (declare (indent 1) (debug ((form &optional form) body))) | ||
| 1624 | (let ((buf (make-symbol "buf")) | 1623 | (let ((buf (make-symbol "buf")) |
| 1625 | (proc (make-symbol "proc")) | 1624 | (proc (make-symbol "proc")) |
| 1626 | (target (make-symbol "target")) | 1625 | (target (make-symbol "target")) |
| @@ -1637,8 +1636,6 @@ See also `with-current-buffer'. | |||
| 1637 | (when (buffer-live-p ,buf) | 1636 | (when (buffer-live-p ,buf) |
| 1638 | (with-current-buffer ,buf | 1637 | (with-current-buffer ,buf |
| 1639 | ,@body))))) | 1638 | ,@body))))) |
| 1640 | (put 'erc-with-buffer 'lisp-indent-function 1) | ||
| 1641 | (put 'erc-with-buffer 'edebug-form-spec '((form &optional form) body)) | ||
| 1642 | 1639 | ||
| 1643 | (defun erc-get-buffer (target &optional proc) | 1640 | (defun erc-get-buffer (target &optional proc) |
| 1644 | "Return the buffer matching TARGET in the process PROC. | 1641 | "Return the buffer matching TARGET in the process PROC. |
| @@ -1688,6 +1685,7 @@ needs to match PROC." | |||
| 1688 | FORMS will be evaluated in all buffers having the process PROCESS and | 1685 | FORMS will be evaluated in all buffers having the process PROCESS and |
| 1689 | where PRED matches or in all buffers of the server process if PRED is | 1686 | where PRED matches or in all buffers of the server process if PRED is |
| 1690 | nil." | 1687 | nil." |
| 1688 | (declare (indent 1) (debug (form form body))) | ||
| 1691 | ;; Make the evaluation have the correct order | 1689 | ;; Make the evaluation have the correct order |
| 1692 | (let ((pre (make-symbol "pre")) | 1690 | (let ((pre (make-symbol "pre")) |
| 1693 | (pro (make-symbol "pro"))) | 1691 | (pro (make-symbol "pro"))) |
| @@ -1701,8 +1699,6 @@ nil." | |||
| 1701 | ;; Silence the byte-compiler by binding the result of mapcar to | 1699 | ;; Silence the byte-compiler by binding the result of mapcar to |
| 1702 | ;; a variable. | 1700 | ;; a variable. |
| 1703 | res))) | 1701 | res))) |
| 1704 | (put 'erc-with-all-buffers-of-server 'lisp-indent-function 1) | ||
| 1705 | (put 'erc-with-all-buffers-of-server 'edebug-form-spec '(form form body)) | ||
| 1706 | 1702 | ||
| 1707 | ;; (iswitchb-mode) will autoload iswitchb.el | 1703 | ;; (iswitchb-mode) will autoload iswitchb.el |
| 1708 | (defvar iswitchb-temp-buflist) | 1704 | (defvar iswitchb-temp-buflist) |
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index c6b2a4c37a7..dade2b4bbe5 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2012-10-17 Kazuhiro Ito <kzhr@d1.dion.ne.jp> (tiny change) | ||
| 2 | |||
| 3 | * starttls.el (starttls-extra-arguments): Doc fix. | ||
| 4 | |||
| 1 | 2012-10-09 Lars Magne Ingebrigtsen <larsi@gnus.org> | 5 | 2012-10-09 Lars Magne Ingebrigtsen <larsi@gnus.org> |
| 2 | 6 | ||
| 3 | * shr.el (shr-insert): \r is also not inserted, so don't try to delete | 7 | * shr.el (shr-insert): \r is also not inserted, so don't try to delete |
diff --git a/lisp/gnus/starttls.el b/lisp/gnus/starttls.el index 2d403650533..346e76b2ccc 100644 --- a/lisp/gnus/starttls.el +++ b/lisp/gnus/starttls.el | |||
| @@ -149,7 +149,7 @@ These apply when the `starttls' command is used, i.e. when | |||
| 149 | :group 'starttls) | 149 | :group 'starttls) |
| 150 | 150 | ||
| 151 | (defcustom starttls-extra-arguments nil | 151 | (defcustom starttls-extra-arguments nil |
| 152 | "Extra arguments to `starttls-program'. | 152 | "Extra arguments to `starttls-gnutls-program'. |
| 153 | These apply when GnuTLS is used, i.e. when `starttls-use-gnutls' is non-nil. | 153 | These apply when GnuTLS is used, i.e. when `starttls-use-gnutls' is non-nil. |
| 154 | 154 | ||
| 155 | For example, non-TLS compliant servers may require | 155 | For example, non-TLS compliant servers may require |
diff --git a/lisp/replace.el b/lisp/replace.el index e714015fccf..4013e4e5df5 100644 --- a/lisp/replace.el +++ b/lisp/replace.el | |||
| @@ -1603,9 +1603,13 @@ Comma to replace but not move point immediately, | |||
| 1603 | C-r to enter recursive edit (\\[exit-recursive-edit] to get out again), | 1603 | C-r to enter recursive edit (\\[exit-recursive-edit] to get out again), |
| 1604 | C-w to delete match and recursive edit, | 1604 | C-w to delete match and recursive edit, |
| 1605 | C-l to clear the screen, redisplay, and offer same replacement again, | 1605 | C-l to clear the screen, redisplay, and offer same replacement again, |
| 1606 | ! to replace all remaining matches with no more questions, | 1606 | ! to replace all remaining matches in this buffer with no more questions, |
| 1607 | ^ to move point back to previous match, | 1607 | ^ to move point back to previous match, |
| 1608 | E to edit the replacement string" | 1608 | E to edit the replacement string. |
| 1609 | In multi-buffer replacements type `Y' to replace all remaining | ||
| 1610 | matches in all remaining buffers with no more questions, | ||
| 1611 | `N' to skip to the next buffer without replacing remaining matches | ||
| 1612 | in the current buffer." | ||
| 1609 | "Help message while in `query-replace'.") | 1613 | "Help message while in `query-replace'.") |
| 1610 | 1614 | ||
| 1611 | (defvar query-replace-map | 1615 | (defvar query-replace-map |
diff --git a/lisp/wdired.el b/lisp/wdired.el index b893e8f6f2b..266d1993389 100644 --- a/lisp/wdired.el +++ b/lisp/wdired.el | |||
| @@ -180,7 +180,7 @@ program `dired-chmod-program', which must exist." | |||
| 180 | (defvar wdired-col-perm) ;; Column where the permission bits start | 180 | (defvar wdired-col-perm) ;; Column where the permission bits start |
| 181 | (defvar wdired-old-content) | 181 | (defvar wdired-old-content) |
| 182 | (defvar wdired-old-point) | 182 | (defvar wdired-old-point) |
| 183 | 183 | (defvar wdired-old-marks) | |
| 184 | 184 | ||
| 185 | (defun wdired-mode () | 185 | (defun wdired-mode () |
| 186 | "Writable Dired (WDired) mode. | 186 | "Writable Dired (WDired) mode. |
| @@ -221,6 +221,8 @@ See `wdired-mode'." | |||
| 221 | (error "Not a Dired buffer")) | 221 | (error "Not a Dired buffer")) |
| 222 | (set (make-local-variable 'wdired-old-content) | 222 | (set (make-local-variable 'wdired-old-content) |
| 223 | (buffer-substring (point-min) (point-max))) | 223 | (buffer-substring (point-min) (point-max))) |
| 224 | (set (make-local-variable 'wdired-old-marks) | ||
| 225 | (dired-remember-marks (point-min) (point-max))) | ||
| 224 | (set (make-local-variable 'wdired-old-point) (point)) | 226 | (set (make-local-variable 'wdired-old-point) (point)) |
| 225 | (set (make-local-variable 'query-replace-skip-read-only) t) | 227 | (set (make-local-variable 'query-replace-skip-read-only) t) |
| 226 | (set (make-local-variable 'isearch-filter-predicate) | 228 | (set (make-local-variable 'isearch-filter-predicate) |
| @@ -455,7 +457,8 @@ non-nil means return old filename." | |||
| 455 | (push (cons tmp file-new) residue)))) | 457 | (push (cons tmp file-new) residue)))) |
| 456 | (t | 458 | (t |
| 457 | (setq progress t) | 459 | (setq progress t) |
| 458 | (let ((file-ori (car rename))) | 460 | (let* ((file-ori (car rename)) |
| 461 | (old-mark (cdr (assoc file-ori wdired-old-marks)))) | ||
| 459 | (if wdired-use-interactive-rename | 462 | (if wdired-use-interactive-rename |
| 460 | (wdired-search-and-rename file-ori file-new) | 463 | (wdired-search-and-rename file-ori file-new) |
| 461 | ;; If dired-rename-file autoloads dired-aux while | 464 | ;; If dired-rename-file autoloads dired-aux while |
| @@ -466,12 +469,17 @@ non-nil means return old filename." | |||
| 466 | (condition-case err | 469 | (condition-case err |
| 467 | (let ((dired-backup-overwrite nil)) | 470 | (let ((dired-backup-overwrite nil)) |
| 468 | (dired-rename-file file-ori file-new | 471 | (dired-rename-file file-ori file-new |
| 469 | overwrite)) | 472 | overwrite) |
| 473 | (dired-remove-file file-ori) | ||
| 474 | (dired-add-file file-new (if (integerp dired-keep-marker-rename) | ||
| 475 | dired-keep-marker-rename | ||
| 476 | old-mark))) | ||
| 470 | (error | 477 | (error |
| 471 | (setq errors (1+ errors)) | 478 | (setq errors (1+ errors)) |
| 472 | (dired-log (concat "Rename `" file-ori "' to `" | 479 | (dired-log (concat "Rename `" file-ori "' to `" |
| 473 | file-new "' failed:\n%s\n") | 480 | file-new "' failed:\n%s\n") |
| 474 | err))))))))) | 481 | err) |
| 482 | (dired-add-entry file-ori old-mark))))))))) | ||
| 475 | errors)) | 483 | errors)) |
| 476 | 484 | ||
| 477 | 485 | ||
diff --git a/lisp/window.el b/lisp/window.el index b033f9c26e3..a17e0adcdfe 100644 --- a/lisp/window.el +++ b/lisp/window.el | |||
| @@ -5361,8 +5361,16 @@ BUFFER-OR-NAME must be a buffer or the name of an existing | |||
| 5361 | buffer. Return the window chosen for displaying BUFFER-OR-NAME, | 5361 | buffer. Return the window chosen for displaying BUFFER-OR-NAME, |
| 5362 | or nil if no such window is found. | 5362 | or nil if no such window is found. |
| 5363 | 5363 | ||
| 5364 | Optional argument ACTION should have the form (FUNCTION . ALIST). | 5364 | Optional argument ACTION, if non-nil, should specify a display |
| 5365 | FUNCTION is either a function or a list of functions. | 5365 | action. Its form is described below. |
| 5366 | |||
| 5367 | Optional argument FRAME, if non-nil, acts like an additional | ||
| 5368 | ALIST entry (reusable-frames . FRAME) to the action list of ACTION, | ||
| 5369 | specifying the frame(s) to search for a window that is already | ||
| 5370 | displaying the buffer. See `display-buffer-reuse-window' | ||
| 5371 | |||
| 5372 | If ACTION is non-nil, it should have the form (FUNCTION . ALIST), | ||
| 5373 | where FUNCTION is either a function or a list of functions, and | ||
| 5366 | ALIST is an arbitrary association list (alist). | 5374 | ALIST is an arbitrary association list (alist). |
| 5367 | 5375 | ||
| 5368 | Each such FUNCTION should accept two arguments: the buffer to | 5376 | Each such FUNCTION should accept two arguments: the buffer to |
| @@ -5379,6 +5387,9 @@ function in the combined function list in turn, passing the | |||
| 5379 | buffer as the first argument and the combined alist as the second | 5387 | buffer as the first argument and the combined alist as the second |
| 5380 | argument, until one of the functions returns non-nil. | 5388 | argument, until one of the functions returns non-nil. |
| 5381 | 5389 | ||
| 5390 | If ACTION is nil, the function list and the alist are built using | ||
| 5391 | only the other variables mentioned above. | ||
| 5392 | |||
| 5382 | Available action functions include: | 5393 | Available action functions include: |
| 5383 | `display-buffer-same-window' | 5394 | `display-buffer-same-window' |
| 5384 | `display-buffer-reuse-window' | 5395 | `display-buffer-reuse-window' |
| @@ -5407,12 +5418,7 @@ The ACTION argument to `display-buffer' can also have a non-nil | |||
| 5407 | and non-list value. This means to display the buffer in a window | 5418 | and non-list value. This means to display the buffer in a window |
| 5408 | other than the selected one, even if it is already displayed in | 5419 | other than the selected one, even if it is already displayed in |
| 5409 | the selected window. If called interactively with a prefix | 5420 | the selected window. If called interactively with a prefix |
| 5410 | argument, ACTION is t. | 5421 | argument, ACTION is t." |
| 5411 | |||
| 5412 | Optional argument FRAME, if non-nil, acts like an additional | ||
| 5413 | ALIST entry (reusable-frames . FRAME), specifying the frame(s) to | ||
| 5414 | search for a window that is already displaying the buffer. See | ||
| 5415 | `display-buffer-reuse-window'." | ||
| 5416 | (interactive (list (read-buffer "Display buffer: " (other-buffer)) | 5422 | (interactive (list (read-buffer "Display buffer: " (other-buffer)) |
| 5417 | (if current-prefix-arg t))) | 5423 | (if current-prefix-arg t))) |
| 5418 | (let ((buffer (if (bufferp buffer-or-name) | 5424 | (let ((buffer (if (bufferp buffer-or-name) |
diff --git a/nt/ChangeLog b/nt/ChangeLog index e659b87eb76..4b0a65a59da 100644 --- a/nt/ChangeLog +++ b/nt/ChangeLog | |||
| @@ -32,13 +32,13 @@ | |||
| 32 | (offset_to_section, relocate_offset, OFFSET_TO_RVA) | 32 | (offset_to_section, relocate_offset, OFFSET_TO_RVA) |
| 33 | (RVA_TO_OFFSET, RVA_TO_SECTION_OFFSET, PTR_TO_RVA) | 33 | (RVA_TO_OFFSET, RVA_TO_SECTION_OFFSET, PTR_TO_RVA) |
| 34 | (OFFSET_TO_PTR, ROUND_UP, ROUND_DOWN) | 34 | (OFFSET_TO_PTR, ROUND_UP, ROUND_DOWN) |
| 35 | (copy_executable_and_move_sections, ADJUST_IMPORT_RVA, main): Use | 35 | (copy_executable_and_move_sections, ADJUST_IMPORT_RVA, main): |
| 36 | DWORD_PTR instead of DWORD for compatibility with x64. | 36 | Use DWORD_PTR instead of DWORD for compatibility with x64. |
| 37 | 37 | ||
| 38 | * nmake.defs: Support AMD64. | 38 | * nmake.defs: Support AMD64. |
| 39 | (EMACS_HEAPSIZE, EMACS_PURESIZE, EMACS_MANIFEST): New macros. | 39 | (EMACS_HEAPSIZE, EMACS_PURESIZE, EMACS_MANIFEST): New macros. |
| 40 | 40 | ||
| 41 | * gmake.defs: (EMACS_HEAPSIZE, EMACS_PURESIZE, EMACS_MANIFEST): | 41 | * gmake.defs (EMACS_HEAPSIZE, EMACS_PURESIZE, EMACS_MANIFEST): |
| 42 | New macros. | 42 | New macros. |
| 43 | 43 | ||
| 44 | * addsection.c (pfnCheckSumMappedFile, rva_to_section) | 44 | * addsection.c (pfnCheckSumMappedFile, rva_to_section) |
| @@ -478,7 +478,7 @@ | |||
| 478 | 478 | ||
| 479 | 2012-02-05 Christoph Scholtes <cschol2112@googlemail.com> | 479 | 2012-02-05 Christoph Scholtes <cschol2112@googlemail.com> |
| 480 | 480 | ||
| 481 | * README.W32: Clarification for inclusion in source tarball. (Bug#9750) | 481 | * README.W32: Clarification for inclusion in source tarball (bug#9750). |
| 482 | 482 | ||
| 483 | * gmake.defs (PRAGMA_SYSTEM_HEADER): Add for GCC. | 483 | * gmake.defs (PRAGMA_SYSTEM_HEADER): Add for GCC. |
| 484 | 484 | ||
| @@ -487,7 +487,7 @@ | |||
| 487 | * makefile.w32-in (maybe-copy-distfiles) | 487 | * makefile.w32-in (maybe-copy-distfiles) |
| 488 | (maybe-copy-distfiles-CMD, maybe-copy-distfiles-SH) | 488 | (maybe-copy-distfiles-CMD, maybe-copy-distfiles-SH) |
| 489 | (create-tmp-dist-dir): Add to make --distfiles optional. | 489 | (create-tmp-dist-dir): Add to make --distfiles optional. |
| 490 | (dist): Use create-tmp-dist-dir and maybe-copy-distfiles. (Bug#10261) | 490 | (dist): Use create-tmp-dist-dir and maybe-copy-distfiles (bug#10261). |
| 491 | 491 | ||
| 492 | 2012-02-04 Eli Zaretskii <eliz@gnu.org> | 492 | 2012-02-04 Eli Zaretskii <eliz@gnu.org> |
| 493 | 493 | ||
diff --git a/src/ChangeLog b/src/ChangeLog index 21d13a04e77..b845eeb3ceb 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -3,6 +3,58 @@ | |||
| 3 | * xdisp.c (reseat_1): Make the information stored in it->cmp_it | 3 | * xdisp.c (reseat_1): Make the information stored in it->cmp_it |
| 4 | invalidate. | 4 | invalidate. |
| 5 | 5 | ||
| 6 | 2012-10-17 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 7 | |||
| 8 | * buffer.c (Fkill_buffer): When unchaining the marker, | ||
| 9 | reset its buffer pointer to NULL (Bug#12652). | ||
| 10 | |||
| 11 | 2012-10-17 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 12 | |||
| 13 | Do not verify indirection counters of killed buffers (Bug#12579). | ||
| 14 | * buffer.h (BUFFER_CHECK_INDIRECTION): New macro. | ||
| 15 | * buffer.c (compact_buffer, set_buffer_internal_1): Use it. | ||
| 16 | |||
| 17 | 2012-10-16 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 18 | |||
| 19 | * alloc.c (Fmake_byte_code): Fix typo in comment. | ||
| 20 | * print.c (print_interval): Define as static to match prototype. | ||
| 21 | * indent.c (disptab_matches_widthtab, recompute_width_table): | ||
| 22 | Convert to eassert. | ||
| 23 | |||
| 24 | 2012-10-16 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 25 | |||
| 26 | * editfns.c (get_system_name): Remove. | ||
| 27 | * lisp.h (get_system_name): Remove prototype. | ||
| 28 | * xrdb.c (getenv, getpwuid, getpwnam): Remove prototypes. | ||
| 29 | (get_environ_db): Use Vsystem_name. Avoid call to strlen. | ||
| 30 | |||
| 31 | 2012-10-15 Daniel Colascione <dancol@dancol.org> | ||
| 32 | |||
| 33 | * dbusbind.c: Add comment explaining reason for previous change. | ||
| 34 | |||
| 35 | 2012-10-15 Martin Rudalics <rudalics@gmx.at> | ||
| 36 | |||
| 37 | * window.c (Fwindow_end): Rewrite check whether cached position | ||
| 38 | can be used (Bug#12600). | ||
| 39 | (resize_frame_windows, grow_mini_window, shrink_mini_window): | ||
| 40 | Set windows_or_buffers_changed. | ||
| 41 | |||
| 42 | 2012-10-15 Daniel Colascione <dancol@dancol.org> | ||
| 43 | |||
| 44 | * dbusbind.c: Fix cygw32 build break when compiling with dbus | ||
| 45 | enabled by undefining the symbol "interface", which the platform | ||
| 46 | headers define to something incompatible. | ||
| 47 | |||
| 48 | 2012-10-14 Daniel Colascione <dancol@dancol.org> | ||
| 49 | |||
| 50 | * image.c (init_tiff_functions, init_imagemagick_functions) | ||
| 51 | (init_svg_functions): Fix cygw32 build break by using these | ||
| 52 | functions only when WINDOWSNT _and_ HAVE_NTGUI. | ||
| 53 | |||
| 54 | 2012-10-14 Jan Djärv <jan.h.d@swipnet.se> | ||
| 55 | |||
| 56 | * nsterm.m (ns_select): Count fd:s in writefs also (Bug#12422). | ||
| 57 | |||
| 6 | 2012-10-13 Jan Djärv <jan.h.d@swipnet.se> | 58 | 2012-10-13 Jan Djärv <jan.h.d@swipnet.se> |
| 7 | 59 | ||
| 8 | * gtkutil.c (xg_set_widget_bg): Divide by 65535 (Bug#12612). | 60 | * gtkutil.c (xg_set_widget_bg): Divide by 65535 (Bug#12612). |
| @@ -58,8 +110,7 @@ | |||
| 58 | a file exists. This avoids expensive system calls on MS-Windows. | 110 | a file exists. This avoids expensive system calls on MS-Windows. |
| 59 | (Bug#12587) | 111 | (Bug#12587) |
| 60 | 112 | ||
| 61 | * w32.c (init_environment): Call 'check_existing' instead of | 113 | * w32.c (init_environment): Call 'check_existing' instead of 'stat'. |
| 62 | 'stat'. | ||
| 63 | 114 | ||
| 64 | * lread.c (openp) [WINDOWSNT]: Call 'access' instead of 'stat' to | 115 | * lread.c (openp) [WINDOWSNT]: Call 'access' instead of 'stat' to |
| 65 | determine whether a file exists and is not a directory. | 116 | determine whether a file exists and is not a directory. |
| @@ -199,7 +250,7 @@ | |||
| 199 | * nsfont.m (Vfonts_in_cache): Remove, not needed as font.c handles | 250 | * nsfont.m (Vfonts_in_cache): Remove, not needed as font.c handles |
| 200 | caching. | 251 | caching. |
| 201 | (nsfont_open): Remove setting of Vfonts_in_cache. | 252 | (nsfont_open): Remove setting of Vfonts_in_cache. |
| 202 | (syms_of_nsfont): Remove initialization of Vfonts_in_cache | 253 | (syms_of_nsfont): Remove initialization of Vfonts_in_cache. |
| 203 | 254 | ||
| 204 | 2012-10-09 Eli Zaretskii <eliz@gnu.org> | 255 | 2012-10-09 Eli Zaretskii <eliz@gnu.org> |
| 205 | 256 | ||
| @@ -266,7 +317,7 @@ | |||
| 266 | * w32select.h (HAVE_W32SELECT): Remove. | 317 | * w32select.h (HAVE_W32SELECT): Remove. |
| 267 | 318 | ||
| 268 | * w32select.c, w32proc.c, w32menu.c, w32console.c, w32.c: Include | 319 | * w32select.c, w32proc.c, w32menu.c, w32console.c, w32.c: Include |
| 269 | w32common.h instead of w32heap.h | 320 | w32common.h instead of w32heap.h. |
| 270 | 321 | ||
| 271 | * w32heap.h (ROUND_UP, ROUND_DOWN, get_page_size) | 322 | * w32heap.h (ROUND_UP, ROUND_DOWN, get_page_size) |
| 272 | (get_allocation_unit, get_processor_type, get_w32_major_version) | 323 | (get_allocation_unit, get_processor_type, get_w32_major_version) |
| @@ -277,8 +328,8 @@ | |||
| 277 | 328 | ||
| 278 | * w32heap.c: Include w32common.h. | 329 | * w32heap.c: Include w32common.h. |
| 279 | (sysinfo_cache, syspage_mask, osinfo_cache, w32_major_version) | 330 | (sysinfo_cache, syspage_mask, osinfo_cache, w32_major_version) |
| 280 | (w32_minor_version, w32_build_number, w32_subtype): Remove | 331 | (w32_minor_version, w32_build_number, w32_subtype): |
| 281 | duplicate definitions. | 332 | Remove duplicate definitions. |
| 282 | 333 | ||
| 283 | * w32fns.c: Include w32common.h; include w32heap.h only in | 334 | * w32fns.c: Include w32common.h; include w32heap.h only in |
| 284 | WINDOWSNT. | 335 | WINDOWSNT. |
| @@ -389,7 +440,7 @@ | |||
| 389 | Cygwin builds. Remove w32select declarations. | 440 | Cygwin builds. Remove w32select declarations. |
| 390 | 441 | ||
| 391 | * w32console.c (w32_sys_ring_bell, Fset_message_beep): Move to | 442 | * w32console.c (w32_sys_ring_bell, Fset_message_beep): Move to |
| 392 | w32fns.c. w32console.c is WINDOWSNT-only. | 443 | w32fns.c. w32console.c is WINDOWSNT-only. |
| 393 | 444 | ||
| 394 | * w32fns.c: Include cygw32.h or w32.h depending on CYGWIN; more | 445 | * w32fns.c: Include cygw32.h or w32.h depending on CYGWIN; more |
| 395 | NTGUI_UNICODE tweaks. (See above.) Change _snprintf to the more | 446 | NTGUI_UNICODE tweaks. (See above.) Change _snprintf to the more |
| @@ -490,12 +541,12 @@ | |||
| 490 | 541 | ||
| 491 | * nsterm.m (ns_in_resize): Remove (Bug#12479). | 542 | * nsterm.m (ns_in_resize): Remove (Bug#12479). |
| 492 | (ns_resize_handle_rect, mouseDown, mouseUp, mouseDragged): Remove. | 543 | (ns_resize_handle_rect, mouseDown, mouseUp, mouseDragged): Remove. |
| 493 | (ns_clear_frame, sendEvent, windowDidResize, drawRect:): Remove | 544 | (ns_clear_frame, sendEvent, windowDidResize, drawRect:): |
| 494 | ns_in_resize check. | 545 | Remove ns_in_resize check. |
| 495 | (ns_clear_frame_area): Remove resize handle code. | 546 | (ns_clear_frame_area): Remove resize handle code. |
| 496 | 547 | ||
| 497 | * nsfns.m (ns_in_resize): Remove. | 548 | * nsfns.m (ns_in_resize): Remove. |
| 498 | (x_set_icon_name, ns_set_name, ns_set_name_as_filename): Remove | 549 | (x_set_icon_name, ns_set_name, ns_set_name_as_filename): Remove |
| 499 | ns_in_resize check. | 550 | ns_in_resize check. |
| 500 | 551 | ||
| 501 | 2012-10-07 Paul Eggert <eggert@cs.ucla.edu> | 552 | 2012-10-07 Paul Eggert <eggert@cs.ucla.edu> |
| @@ -524,7 +575,7 @@ | |||
| 524 | (initFrameFromEmacs:): tbar_height renamed tibar_height. | 575 | (initFrameFromEmacs:): tbar_height renamed tibar_height. |
| 525 | (windowDidEnterFullScreen:): Toggle toolbar for fullscreen to fix | 576 | (windowDidEnterFullScreen:): Toggle toolbar for fullscreen to fix |
| 526 | error in drawing background. | 577 | error in drawing background. |
| 527 | (toggleFullScreen:): Remove comment. Rearrange calls. | 578 | (toggleFullScreen:): Remove comment. Rearrange calls. |
| 528 | Set toolbar values to zero, save old height in tobar_height. | 579 | Set toolbar values to zero, save old height in tobar_height. |
| 529 | Restore tool bar height when leaving fullscreen. | 580 | Restore tool bar height when leaving fullscreen. |
| 530 | (canBecomeMainWindow): New function. | 581 | (canBecomeMainWindow): New function. |
| @@ -538,8 +589,8 @@ | |||
| 538 | * w32proc.c (stop_timer_thread): Fix declaration of 'err'. | 589 | * w32proc.c (stop_timer_thread): Fix declaration of 'err'. |
| 539 | 590 | ||
| 540 | * w32.c (utime): Open the file with FILE_FLAG_BACKUP_SEMANTICS, so | 591 | * w32.c (utime): Open the file with FILE_FLAG_BACKUP_SEMANTICS, so |
| 541 | that time stamps of directories could also be changed. Don't | 592 | that time stamps of directories could also be changed. |
| 542 | request the too broad GENERIC_WRITE, only the more restrictive | 593 | Don't request the too broad GENERIC_WRITE, only the more restrictive |
| 543 | FILE_WRITE_ATTRIBUTES access rights. | 594 | FILE_WRITE_ATTRIBUTES access rights. |
| 544 | 595 | ||
| 545 | * fileio.c (Fset_file_times): Special-case ignoring errors for | 596 | * fileio.c (Fset_file_times): Special-case ignoring errors for |
| @@ -947,7 +998,7 @@ | |||
| 947 | Call setCollectionBehavior if NEW_STYLE_FS. Initialize bwidth and | 998 | Call setCollectionBehavior if NEW_STYLE_FS. Initialize bwidth and |
| 948 | tbar_height. | 999 | tbar_height. |
| 949 | (windowWillUseStandardFrame:defaultFrame:): Update frame parameter | 1000 | (windowWillUseStandardFrame:defaultFrame:): Update frame parameter |
| 950 | fullscreen. Set maximized_width/height. Act on next_maximized. | 1001 | fullscreen. Set maximized_width/height. Act on next_maximized. |
| 951 | 1002 | ||
| 952 | * nsterm.h (MAC_OS_X_VERSION_10_7, MAC_OS_X_VERSION_10_8): New. | 1003 | * nsterm.h (MAC_OS_X_VERSION_10_7, MAC_OS_X_VERSION_10_8): New. |
| 953 | (EmacsView): Add variables for fullscreen. | 1004 | (EmacsView): Add variables for fullscreen. |
| @@ -1603,7 +1654,7 @@ | |||
| 1603 | 2012-09-19 Paul Eggert <eggert@cs.ucla.edu> | 1654 | 2012-09-19 Paul Eggert <eggert@cs.ucla.edu> |
| 1604 | 1655 | ||
| 1605 | * w32inevt.c (w32_console_read_socket): Return -1 on failure, not 0. | 1656 | * w32inevt.c (w32_console_read_socket): Return -1 on failure, not 0. |
| 1606 | Ignore 'expected'. See Eli Zaretskii in | 1657 | Ignore 'expected'. See Eli Zaretskii in |
| 1607 | <http://bugs.gnu.org/12471#8> (last line). | 1658 | <http://bugs.gnu.org/12471#8> (last line). |
| 1608 | 1659 | ||
| 1609 | * frame.c (read_integer): Remove. All uses replaced by strtol/strtoul. | 1660 | * frame.c (read_integer): Remove. All uses replaced by strtol/strtoul. |
| @@ -1670,7 +1721,7 @@ | |||
| 1670 | (bytes_used_when_full, emacs_blocked_free, emacs_blocked_malloc) | 1721 | (bytes_used_when_full, emacs_blocked_free, emacs_blocked_malloc) |
| 1671 | (emacs_blocked_realloc, reset_malloc_hooks, uninterrupt_malloc): | 1722 | (emacs_blocked_realloc, reset_malloc_hooks, uninterrupt_malloc): |
| 1672 | [!SYSTEM_MALLOC && !SYNC_INPUT]: | 1723 | [!SYSTEM_MALLOC && !SYNC_INPUT]: |
| 1673 | Remove. All uses removed. | 1724 | Remove. All uses removed. |
| 1674 | (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): Use a different | 1725 | (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): Use a different |
| 1675 | implementation, one that depends on whether the new macro | 1726 | implementation, one that depends on whether the new macro |
| 1676 | XMALLOC_BLOCK_INPUT_CHECK is defined, not on whether SYNC_INPUT | 1727 | XMALLOC_BLOCK_INPUT_CHECK is defined, not on whether SYNC_INPUT |
| @@ -1960,7 +2011,7 @@ | |||
| 1960 | * alloc.c (discard_killed_buffers): New function. | 2011 | * alloc.c (discard_killed_buffers): New function. |
| 1961 | (mark_object): Use it for deleted windows and frames. | 2012 | (mark_object): Use it for deleted windows and frames. |
| 1962 | (mark_object): If symbol's value is set up for a killed buffer | 2013 | (mark_object): If symbol's value is set up for a killed buffer |
| 1963 | or deleted frame, restore it's global binding. | 2014 | or deleted frame, restore its global binding. |
| 1964 | * data.c (swap_in_global_binding): Add GC notice. | 2015 | * data.c (swap_in_global_binding): Add GC notice. |
| 1965 | (swap_in_symval_forwarding): Use convenient set_blv_where. | 2016 | (swap_in_symval_forwarding): Use convenient set_blv_where. |
| 1966 | * window.c (wset_next_buffers, wset_prev_buffers): Move ... | 2017 | * window.c (wset_next_buffers, wset_prev_buffers): Move ... |
| @@ -4267,7 +4318,7 @@ | |||
| 4267 | 4318 | ||
| 4268 | * nsterm.m (ns_set_vertical_scroll_bar, ns_redeem_scroll_bar) | 4319 | * nsterm.m (ns_set_vertical_scroll_bar, ns_redeem_scroll_bar) |
| 4269 | (EmacsWindow-accessibilityAttributeValue, EmacsScroller-initFrame:) | 4320 | (EmacsWindow-accessibilityAttributeValue, EmacsScroller-initFrame:) |
| 4270 | (EmacsScroller-dealloc): Adjust to use WVAR. (Bug#12114) | 4321 | (EmacsScroller-dealloc): Adjust to use WVAR. (Bug#12114) |
| 4271 | * nsfns.m (ns_set_name_as_filename): Likewise. | 4322 | * nsfns.m (ns_set_name_as_filename): Likewise. |
| 4272 | * nsmenu.m (ns_update_menubar): Likewise. | 4323 | * nsmenu.m (ns_update_menubar): Likewise. |
| 4273 | * nsselect.m (symbol_to_nsstring): Adjust to use SVAR. | 4324 | * nsselect.m (symbol_to_nsstring): Adjust to use SVAR. |
| @@ -6363,7 +6414,7 @@ | |||
| 6363 | Fix block vector allocation code to allow VECTOR_BLOCK_SIZE | 6414 | Fix block vector allocation code to allow VECTOR_BLOCK_SIZE |
| 6364 | values which aren't power of 2. | 6415 | values which aren't power of 2. |
| 6365 | * alloc.c (VECTOR_FREE_LIST_SIZE_MASK): New macro. | 6416 | * alloc.c (VECTOR_FREE_LIST_SIZE_MASK): New macro. |
| 6366 | Verify it's value and the value of VECTOR_BLOCK_SIZE. Adjust users | 6417 | Verify its value and the value of VECTOR_BLOCK_SIZE. Adjust users |
| 6367 | accordingly. | 6418 | accordingly. |
| 6368 | 6419 | ||
| 6369 | 2012-07-03 Stefan Monnier <monnier@iro.umontreal.ca> | 6420 | 2012-07-03 Stefan Monnier <monnier@iro.umontreal.ca> |
| @@ -7532,7 +7583,7 @@ | |||
| 7532 | bitfields where appropriate, remove unused fields. | 7583 | bitfields where appropriate, remove unused fields. |
| 7533 | * window.h (struct window): Remove unused 'last_mark_x' and | 7584 | * window.h (struct window): Remove unused 'last_mark_x' and |
| 7534 | 'last_mark_y' fields. Rename 'mini_p' field to 'mini', | 7585 | 'last_mark_y' fields. Rename 'mini_p' field to 'mini', |
| 7535 | change it's type from Lisp_Object to bitfield. | 7586 | change its type from Lisp_Object to bitfield. |
| 7536 | Change type of 'force_start', 'optional_new_start', | 7587 | Change type of 'force_start', 'optional_new_start', |
| 7537 | 'last_had_star', 'update_mode_line' and 'start_at_line_beg' | 7588 | 'last_had_star', 'update_mode_line' and 'start_at_line_beg' |
| 7538 | fields from Lisp_Object to bitfield. Adjust users accordingly. | 7589 | fields from Lisp_Object to bitfield. Adjust users accordingly. |
diff --git a/src/alloc.c b/src/alloc.c index 95be8db1614..0afe446d269 100644 --- a/src/alloc.c +++ b/src/alloc.c | |||
| @@ -3100,7 +3100,7 @@ usage: (make-byte-code ARGLIST BYTE-CODE CONSTANTS DEPTH &optional DOCSTRING INT | |||
| 3100 | ptrdiff_t i; | 3100 | ptrdiff_t i; |
| 3101 | register struct Lisp_Vector *p; | 3101 | register struct Lisp_Vector *p; |
| 3102 | 3102 | ||
| 3103 | /* We used to purecopy everything here, if purify-flga was set. This worked | 3103 | /* We used to purecopy everything here, if purify-flag was set. This worked |
| 3104 | OK for Emacs-23, but with Emacs-24's lexical binding code, it can be | 3104 | OK for Emacs-23, but with Emacs-24's lexical binding code, it can be |
| 3105 | dangerous, since make-byte-code is used during execution to build | 3105 | dangerous, since make-byte-code is used during execution to build |
| 3106 | closures, so any closure built during the preload phase would end up | 3106 | closures, so any closure built during the preload phase would end up |
diff --git a/src/buffer.c b/src/buffer.c index 861a89b5a0f..0b3dde27968 100644 --- a/src/buffer.c +++ b/src/buffer.c | |||
| @@ -1663,18 +1663,11 @@ No argument or nil as argument means do this for the current buffer. */) | |||
| 1663 | void | 1663 | void |
| 1664 | compact_buffer (struct buffer *buffer) | 1664 | compact_buffer (struct buffer *buffer) |
| 1665 | { | 1665 | { |
| 1666 | /* Verify indirection counters. */ | 1666 | BUFFER_CHECK_INDIRECTION (buffer); |
| 1667 | if (buffer->base_buffer) | ||
| 1668 | { | ||
| 1669 | eassert (buffer->indirections == -1); | ||
| 1670 | eassert (buffer->base_buffer->indirections > 0); | ||
| 1671 | } | ||
| 1672 | else | ||
| 1673 | eassert (buffer->indirections >= 0); | ||
| 1674 | 1667 | ||
| 1675 | /* Skip dead buffers, indirect buffers and buffers | 1668 | /* Skip dead buffers, indirect buffers and buffers |
| 1676 | which aren't changed since last compaction. */ | 1669 | which aren't changed since last compaction. */ |
| 1677 | if (!NILP (buffer->INTERNAL_FIELD (name)) | 1670 | if (BUFFER_LIVE_P (buffer) |
| 1678 | && (buffer->base_buffer == NULL) | 1671 | && (buffer->base_buffer == NULL) |
| 1679 | && (buffer->text->compact != buffer->text->modiff)) | 1672 | && (buffer->text->compact != buffer->text->modiff)) |
| 1680 | { | 1673 | { |
| @@ -1888,19 +1881,20 @@ cleaning up all windows currently displaying the buffer to be killed. */) | |||
| 1888 | 1881 | ||
| 1889 | if (b->base_buffer) | 1882 | if (b->base_buffer) |
| 1890 | { | 1883 | { |
| 1891 | { /* Unchain all markers that belong to this indirect buffer. | 1884 | /* Unchain all markers that belong to this indirect buffer. |
| 1892 | Don't unchain the markers that belong to the base buffer | 1885 | Don't unchain the markers that belong to the base buffer |
| 1893 | or its other indirect buffers. */ | 1886 | or its other indirect buffers. */ |
| 1894 | struct Lisp_Marker **mp; | 1887 | struct Lisp_Marker **mp = &BUF_MARKERS (b); |
| 1895 | for (mp = &BUF_MARKERS (b); *mp; ) | 1888 | while ((m = *mp)) |
| 1896 | { | 1889 | { |
| 1897 | struct Lisp_Marker *m = *mp; | 1890 | if (m->buffer == b) |
| 1898 | if (m->buffer == b) | 1891 | { |
| 1892 | m->buffer = NULL; | ||
| 1899 | *mp = m->next; | 1893 | *mp = m->next; |
| 1900 | else | 1894 | } |
| 1901 | mp = &m->next; | 1895 | else |
| 1902 | } | 1896 | mp = &m->next; |
| 1903 | } | 1897 | } |
| 1904 | } | 1898 | } |
| 1905 | else | 1899 | else |
| 1906 | { | 1900 | { |
| @@ -2114,6 +2108,8 @@ set_buffer_internal_1 (register struct buffer *b) | |||
| 2114 | if (current_buffer == b) | 2108 | if (current_buffer == b) |
| 2115 | return; | 2109 | return; |
| 2116 | 2110 | ||
| 2111 | BUFFER_CHECK_INDIRECTION (b); | ||
| 2112 | |||
| 2117 | old_buf = current_buffer; | 2113 | old_buf = current_buffer; |
| 2118 | current_buffer = b; | 2114 | current_buffer = b; |
| 2119 | last_known_column_point = -1; /* invalidate indentation cache */ | 2115 | last_known_column_point = -1; /* invalidate indentation cache */ |
diff --git a/src/buffer.h b/src/buffer.h index d18ef30ea38..9e0e9eef0b1 100644 --- a/src/buffer.h +++ b/src/buffer.h | |||
| @@ -963,6 +963,22 @@ bset_width_table (struct buffer *b, Lisp_Object val) | |||
| 963 | 963 | ||
| 964 | #define BUFFER_LIVE_P(b) (!NILP (BVAR (b, name))) | 964 | #define BUFFER_LIVE_P(b) (!NILP (BVAR (b, name))) |
| 965 | 965 | ||
| 966 | /* Verify indirection counters. */ | ||
| 967 | |||
| 968 | #define BUFFER_CHECK_INDIRECTION(b) \ | ||
| 969 | do { \ | ||
| 970 | if (BUFFER_LIVE_P (b)) \ | ||
| 971 | { \ | ||
| 972 | if (b->base_buffer) \ | ||
| 973 | { \ | ||
| 974 | eassert (b->indirections == -1); \ | ||
| 975 | eassert (b->base_buffer->indirections > 0); \ | ||
| 976 | } \ | ||
| 977 | else \ | ||
| 978 | eassert (b->indirections >= 0); \ | ||
| 979 | } \ | ||
| 980 | } while (0) | ||
| 981 | |||
| 966 | /* Chain of all buffers, including killed ones. */ | 982 | /* Chain of all buffers, including killed ones. */ |
| 967 | 983 | ||
| 968 | extern struct buffer *all_buffers; | 984 | extern struct buffer *all_buffers; |
diff --git a/src/dbusbind.c b/src/dbusbind.c index c2eefd605bb..08f34f47042 100644 --- a/src/dbusbind.c +++ b/src/dbusbind.c | |||
| @@ -32,6 +32,14 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 32 | #define DBUS_NUM_MESSAGE_TYPES 5 | 32 | #define DBUS_NUM_MESSAGE_TYPES 5 |
| 33 | #endif | 33 | #endif |
| 34 | 34 | ||
| 35 | |||
| 36 | /* Some platforms define the symbol "interface", but we want to use it | ||
| 37 | * as a variable name below. */ | ||
| 38 | |||
| 39 | #ifdef interface | ||
| 40 | #undef interface | ||
| 41 | #endif | ||
| 42 | |||
| 35 | 43 | ||
| 36 | /* Subroutines. */ | 44 | /* Subroutines. */ |
| 37 | static Lisp_Object Qdbus_init_bus; | 45 | static Lisp_Object Qdbus_init_bus; |
diff --git a/src/editfns.c b/src/editfns.c index 19fad7130a7..c5d4ed295ab 100644 --- a/src/editfns.c +++ b/src/editfns.c | |||
| @@ -1339,15 +1339,6 @@ DEFUN ("system-name", Fsystem_name, Ssystem_name, 0, 0, 0, | |||
| 1339 | return Vsystem_name; | 1339 | return Vsystem_name; |
| 1340 | } | 1340 | } |
| 1341 | 1341 | ||
| 1342 | const char * | ||
| 1343 | get_system_name (void) | ||
| 1344 | { | ||
| 1345 | if (STRINGP (Vsystem_name)) | ||
| 1346 | return SSDATA (Vsystem_name); | ||
| 1347 | else | ||
| 1348 | return ""; | ||
| 1349 | } | ||
| 1350 | |||
| 1351 | DEFUN ("emacs-pid", Femacs_pid, Semacs_pid, 0, 0, 0, | 1342 | DEFUN ("emacs-pid", Femacs_pid, Semacs_pid, 0, 0, 0, |
| 1352 | doc: /* Return the process ID of Emacs, as a number. */) | 1343 | doc: /* Return the process ID of Emacs, as a number. */) |
| 1353 | (void) | 1344 | (void) |
diff --git a/src/image.c b/src/image.c index d52c3a29a27..538ae2b7772 100644 --- a/src/image.c +++ b/src/image.c | |||
| @@ -6577,7 +6577,7 @@ static const struct image_keyword tiff_format[TIFF_LAST] = | |||
| 6577 | {":index", IMAGE_NON_NEGATIVE_INTEGER_VALUE, 0} | 6577 | {":index", IMAGE_NON_NEGATIVE_INTEGER_VALUE, 0} |
| 6578 | }; | 6578 | }; |
| 6579 | 6579 | ||
| 6580 | #ifdef HAVE_NTGUI | 6580 | #if defined HAVE_NTGUI && defined WINDOWSNT |
| 6581 | static bool init_tiff_functions (void); | 6581 | static bool init_tiff_functions (void); |
| 6582 | #else | 6582 | #else |
| 6583 | #define init_tiff_functions NULL | 6583 | #define init_tiff_functions NULL |
| @@ -7529,7 +7529,7 @@ static struct image_keyword imagemagick_format[IMAGEMAGICK_LAST] = | |||
| 7529 | {":crop", IMAGE_DONT_CHECK_VALUE_TYPE, 0} | 7529 | {":crop", IMAGE_DONT_CHECK_VALUE_TYPE, 0} |
| 7530 | }; | 7530 | }; |
| 7531 | 7531 | ||
| 7532 | #ifdef HAVE_NTGUI | 7532 | #if defined HAVE_NTGUI && defined WINDOWSNT |
| 7533 | static bool init_imagemagick_functions (void); | 7533 | static bool init_imagemagick_functions (void); |
| 7534 | #else | 7534 | #else |
| 7535 | #define init_imagemagick_functions NULL | 7535 | #define init_imagemagick_functions NULL |
| @@ -8083,7 +8083,7 @@ static const struct image_keyword svg_format[SVG_LAST] = | |||
| 8083 | {":background", IMAGE_STRING_OR_NIL_VALUE, 0} | 8083 | {":background", IMAGE_STRING_OR_NIL_VALUE, 0} |
| 8084 | }; | 8084 | }; |
| 8085 | 8085 | ||
| 8086 | #ifdef HAVE_NTGUI | 8086 | #if defined HAVE_NTGUI && defined WINDOWSNT |
| 8087 | static bool init_svg_functions (void); | 8087 | static bool init_svg_functions (void); |
| 8088 | #else | 8088 | #else |
| 8089 | #define init_svg_functions NULL | 8089 | #define init_svg_functions NULL |
diff --git a/src/indent.c b/src/indent.c index 81a63455ecb..bbc944d2518 100644 --- a/src/indent.c +++ b/src/indent.c | |||
| @@ -119,8 +119,7 @@ disptab_matches_widthtab (struct Lisp_Char_Table *disptab, struct Lisp_Vector *w | |||
| 119 | { | 119 | { |
| 120 | int i; | 120 | int i; |
| 121 | 121 | ||
| 122 | if (widthtab->header.size != 256) | 122 | eassert (widthtab->header.size == 256); |
| 123 | emacs_abort (); | ||
| 124 | 123 | ||
| 125 | for (i = 0; i < 256; i++) | 124 | for (i = 0; i < 256; i++) |
| 126 | if (character_width (i, disptab) | 125 | if (character_width (i, disptab) |
| @@ -141,8 +140,7 @@ recompute_width_table (struct buffer *buf, struct Lisp_Char_Table *disptab) | |||
| 141 | if (!VECTORP (BVAR (buf, width_table))) | 140 | if (!VECTORP (BVAR (buf, width_table))) |
| 142 | bset_width_table (buf, Fmake_vector (make_number (256), make_number (0))); | 141 | bset_width_table (buf, Fmake_vector (make_number (256), make_number (0))); |
| 143 | widthtab = XVECTOR (BVAR (buf, width_table)); | 142 | widthtab = XVECTOR (BVAR (buf, width_table)); |
| 144 | if (widthtab->header.size != 256) | 143 | eassert (widthtab->header.size == 256); |
| 145 | emacs_abort (); | ||
| 146 | 144 | ||
| 147 | for (i = 0; i < 256; i++) | 145 | for (i = 0; i < 256; i++) |
| 148 | XSETFASTINT (widthtab->contents[i], character_width (i, disptab)); | 146 | XSETFASTINT (widthtab->contents[i], character_width (i, disptab)); |
diff --git a/src/lisp.h b/src/lisp.h index 7afe7b373fe..01f6ca5e57c 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -3127,7 +3127,6 @@ extern Lisp_Object make_buffer_string (ptrdiff_t, ptrdiff_t, bool); | |||
| 3127 | extern Lisp_Object make_buffer_string_both (ptrdiff_t, ptrdiff_t, ptrdiff_t, | 3127 | extern Lisp_Object make_buffer_string_both (ptrdiff_t, ptrdiff_t, ptrdiff_t, |
| 3128 | ptrdiff_t, bool); | 3128 | ptrdiff_t, bool); |
| 3129 | extern void init_editfns (void); | 3129 | extern void init_editfns (void); |
| 3130 | const char *get_system_name (void); | ||
| 3131 | extern void syms_of_editfns (void); | 3130 | extern void syms_of_editfns (void); |
| 3132 | extern void set_time_zone_rule (const char *); | 3131 | extern void set_time_zone_rule (const char *); |
| 3133 | 3132 | ||
diff --git a/src/nsterm.m b/src/nsterm.m index 98dd0a8aab1..dfc84db50f7 100644 --- a/src/nsterm.m +++ b/src/nsterm.m | |||
| @@ -3444,7 +3444,10 @@ ns_select (int nfds, fd_set *readfds, fd_set *writefds, | |||
| 3444 | /* NSTRACE (ns_select); */ | 3444 | /* NSTRACE (ns_select); */ |
| 3445 | 3445 | ||
| 3446 | for (k = 0; readfds && k < nfds+1; k++) | 3446 | for (k = 0; readfds && k < nfds+1; k++) |
| 3447 | if (FD_ISSET(k, readfds)) ++nr; | 3447 | { |
| 3448 | if (FD_ISSET(k, readfds)) ++nr; | ||
| 3449 | if (FD_ISSET(k, writefds)) ++nr; | ||
| 3450 | } | ||
| 3448 | 3451 | ||
| 3449 | if (NSApp == nil | 3452 | if (NSApp == nil |
| 3450 | || (timeout && timeout->tv_sec == 0 && timeout->tv_nsec == 0)) | 3453 | || (timeout && timeout->tv_sec == 0 && timeout->tv_nsec == 0)) |
diff --git a/src/print.c b/src/print.c index 49b491faec8..ccf0e8ed7cc 100644 --- a/src/print.c +++ b/src/print.c | |||
| @@ -2075,7 +2075,7 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag | |||
| 2075 | /* Print a description of INTERVAL using PRINTCHARFUN. | 2075 | /* Print a description of INTERVAL using PRINTCHARFUN. |
| 2076 | This is part of printing a string that has text properties. */ | 2076 | This is part of printing a string that has text properties. */ |
| 2077 | 2077 | ||
| 2078 | void | 2078 | static void |
| 2079 | print_interval (INTERVAL interval, Lisp_Object printcharfun) | 2079 | print_interval (INTERVAL interval, Lisp_Object printcharfun) |
| 2080 | { | 2080 | { |
| 2081 | if (NILP (interval->plist)) | 2081 | if (NILP (interval->plist)) |
diff --git a/src/window.c b/src/window.c index 61d2a8b073f..b4fee61cac8 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -1464,9 +1464,7 @@ if it isn't already recorded. */) | |||
| 1464 | #endif | 1464 | #endif |
| 1465 | 1465 | ||
| 1466 | if (! NILP (update) | 1466 | if (! NILP (update) |
| 1467 | && ! (! NILP (w->window_end_valid) | 1467 | && (windows_or_buffers_changed || NILP (w->window_end_valid)) |
| 1468 | && w->last_modified >= BUF_MODIFF (b) | ||
| 1469 | && w->last_overlay_modified >= BUF_OVERLAY_MODIFF (b)) | ||
| 1470 | && !noninteractive) | 1468 | && !noninteractive) |
| 1471 | { | 1469 | { |
| 1472 | struct text_pos startp; | 1470 | struct text_pos startp; |
| @@ -3795,6 +3793,8 @@ resize_frame_windows (struct frame *f, int size, int horflag) | |||
| 3795 | (m, make_number (XINT (r->top_line) + XINT (r->total_lines))); | 3793 | (m, make_number (XINT (r->top_line) + XINT (r->total_lines))); |
| 3796 | } | 3794 | } |
| 3797 | } | 3795 | } |
| 3796 | |||
| 3797 | windows_or_buffers_changed++; | ||
| 3798 | } | 3798 | } |
| 3799 | 3799 | ||
| 3800 | 3800 | ||
| @@ -4208,6 +4208,7 @@ grow_mini_window (struct window *w, int delta) | |||
| 4208 | w->last_modified = 0; | 4208 | w->last_modified = 0; |
| 4209 | w->last_overlay_modified = 0; | 4209 | w->last_overlay_modified = 0; |
| 4210 | 4210 | ||
| 4211 | windows_or_buffers_changed++; | ||
| 4211 | adjust_glyphs (f); | 4212 | adjust_glyphs (f); |
| 4212 | unblock_input (); | 4213 | unblock_input (); |
| 4213 | } | 4214 | } |
| @@ -4245,6 +4246,7 @@ shrink_mini_window (struct window *w) | |||
| 4245 | w->last_modified = 0; | 4246 | w->last_modified = 0; |
| 4246 | w->last_overlay_modified = 0; | 4247 | w->last_overlay_modified = 0; |
| 4247 | 4248 | ||
| 4249 | windows_or_buffers_changed++; | ||
| 4248 | adjust_glyphs (f); | 4250 | adjust_glyphs (f); |
| 4249 | unblock_input (); | 4251 | unblock_input (); |
| 4250 | } | 4252 | } |
diff --git a/src/xrdb.c b/src/xrdb.c index 73672c9617c..9d056a607e4 100644 --- a/src/xrdb.c +++ b/src/xrdb.c | |||
| @@ -24,7 +24,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 24 | #include <unistd.h> | 24 | #include <unistd.h> |
| 25 | #include <errno.h> | 25 | #include <errno.h> |
| 26 | #include <epaths.h> | 26 | #include <epaths.h> |
| 27 | 27 | #include <stdlib.h> | |
| 28 | #include <stdio.h> | 28 | #include <stdio.h> |
| 29 | 29 | ||
| 30 | #include "lisp.h" | 30 | #include "lisp.h" |
| @@ -48,11 +48,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 48 | #include "keyboard.h" | 48 | #include "keyboard.h" |
| 49 | #endif | 49 | #endif |
| 50 | 50 | ||
| 51 | extern char *getenv (const char *); | ||
| 52 | |||
| 53 | extern struct passwd *getpwuid (uid_t); | ||
| 54 | extern struct passwd *getpwnam (const char *); | ||
| 55 | |||
| 56 | char *x_get_string_resource (XrmDatabase rdb, const char *name, | 51 | char *x_get_string_resource (XrmDatabase rdb, const char *name, |
| 57 | const char *class); | 52 | const char *class); |
| 58 | static int file_p (const char *filename); | 53 | static int file_p (const char *filename); |
| @@ -429,8 +424,9 @@ get_environ_db (void) | |||
| 429 | { | 424 | { |
| 430 | static char const xdefaults[] = ".Xdefaults-"; | 425 | static char const xdefaults[] = ".Xdefaults-"; |
| 431 | char *home = gethomedir (); | 426 | char *home = gethomedir (); |
| 432 | char const *host = get_system_name (); | 427 | char const *host = SSDATA (Vsystem_name); |
| 433 | ptrdiff_t pathsize = strlen (home) + sizeof xdefaults + strlen (host); | 428 | ptrdiff_t pathsize = (strlen (home) + sizeof xdefaults |
| 429 | + SBYTES (Vsystem_name)); | ||
| 434 | path = xrealloc (home, pathsize); | 430 | path = xrealloc (home, pathsize); |
| 435 | strcat (strcat (path, xdefaults), host); | 431 | strcat (strcat (path, xdefaults), host); |
| 436 | p = path; | 432 | p = path; |