diff options
| author | Kenichi Handa | 2010-01-18 10:07:25 +0900 |
|---|---|---|
| committer | Kenichi Handa | 2010-01-18 10:07:25 +0900 |
| commit | b7235808116742ec0a7aacbe53fb80db13ce5ef7 (patch) | |
| tree | de1a69bba2232b000b9166c3f9accc3f9672c1fa | |
| parent | f0d138880a572e2b064d5af2668cd3a54a1d0a1e (diff) | |
| parent | f53a65903cdb66a73b919617054a69ce8042e495 (diff) | |
| download | emacs-b7235808116742ec0a7aacbe53fb80db13ce5ef7.tar.gz emacs-b7235808116742ec0a7aacbe53fb80db13ce5ef7.zip | |
Add bug number.
59 files changed, 587 insertions, 247 deletions
diff --git a/admin/notes/BRANCH b/admin/notes/BRANCH index 863d86a1ed9..258fcd95566 100644 --- a/admin/notes/BRANCH +++ b/admin/notes/BRANCH | |||
| @@ -1,11 +1,10 @@ | |||
| 1 | This file describes the CVS branch in which it is maintained. | 1 | This file describes the bzr branch in which it is maintained. |
| 2 | Everything below the line is branch-specific. | 2 | Everything below the line is branch-specific. |
| 3 | ________________________________________________________________________ | 3 | ________________________________________________________________________ |
| 4 | 4 | ||
| 5 | This is the trunk (sometimes mistakenly called "HEAD"). | 5 | This is the trunk (sometimes mistakenly called "HEAD"). |
| 6 | When people say "use CVS emacs", this is the branch they are talking | 6 | When people say "use the development version of Emacs" or the |
| 7 | about. Likewise, a "cvs checkout" without the "-r" option results in | 7 | "bzr version of Emacs", this is the branch they are talking about. |
| 8 | this branch. | ||
| 9 | 8 | ||
| 10 | Emacs development takes place on the trunk. Most of the time, Emacs | 9 | Emacs development takes place on the trunk. Most of the time, Emacs |
| 11 | hackers add to it relatively free of constraint (aside from proper | 10 | hackers add to it relatively free of constraint (aside from proper |
diff --git a/admin/notes/commits b/admin/notes/commits new file mode 100644 index 00000000000..2896328c664 --- /dev/null +++ b/admin/notes/commits | |||
| @@ -0,0 +1,53 @@ | |||
| 1 | HOW TO COMMIT CHANGES TO EMACS | ||
| 2 | |||
| 3 | http://lists.gnu.org/archive/html/emacs-devel/2009-03/msg00555.html | ||
| 4 | From: Miles Bader | ||
| 5 | Subject: commit style redux | ||
| 6 | Date: Tue, 31 Mar 2009 12:21:20 +0900 | ||
| 7 | |||
| 8 | (1) Commit all changed files at once with a single log message (which | ||
| 9 | in CVS will result in an identical log message for all committed | ||
| 10 | files), not one-by-one. This is pretty easy using vc-dir now. | ||
| 11 | |||
| 12 | (2) Make the log message describe the entire changeset, perhaps | ||
| 13 | including relevant changelog entiries (I often don't bother with | ||
| 14 | the latter if it's a trivial sort of change). | ||
| 15 | |||
| 16 | Many modern source-control systems vaguely distinguish the first | ||
| 17 | line of the log message to use as a short summary for abbreviated | ||
| 18 | history listing (in arch this was explicitly called the summary, | ||
| 19 | but many other systems have a similar concept). So it's nice if | ||
| 20 | you can format the log entry like: | ||
| 21 | |||
| 22 | SHORTISH ONE-LINE SUMMARY | ||
| 23 | |||
| 24 | MULTIPLE-LINE DETAILED DESCRIPTION POSSIBLY INCLUDING (OR | ||
| 25 | CONSISTING OF) CHANGELOG ENTRIES | ||
| 26 | |||
| 27 | [Even with CVS this style is useful, because web CVS browsing | ||
| 28 | interfaces often include the first N words of the log message of | ||
| 29 | the most recent commit as a short "most recent change" | ||
| 30 | description.] | ||
| 31 | |||
| 32 | (3) Don't phrase log messages assuming the filename is known, because | ||
| 33 | in non-file-oriented systems (everything modern other than CVS), | ||
| 34 | the log listing tends to be treated as global information, and the | ||
| 35 | connection with specific files is less explicit. | ||
| 36 | |||
| 37 | For instance, currently I often see log messages like "Regenerate"; | ||
| 38 | for modern source-control systems with a global log, it's better to | ||
| 39 | have something like "Regenerate configure". | ||
| 40 | |||
| 41 | |||
| 42 | Followup discussion: | ||
| 43 | http://lists.gnu.org/archive/html/emacs-devel/2010-01/msg00897.html | ||
| 44 | |||
| 45 | |||
| 46 | PREVIOUS GUIDELINES FOR CVS | ||
| 47 | |||
| 48 | For historical interest only, here is the old-style advice for CVS logs: | ||
| 49 | http://lists.gnu.org/archive/html/emacs-devel/2007-12/msg01208.html | ||
| 50 | |||
| 51 | From: Eli Zaretskii | ||
| 52 | Subject: Re: Log messages in CVS | ||
| 53 | Date: Sat, 29 Dec 2007 16:06:29 +0200 | ||
diff --git a/admin/notes/copyright b/admin/notes/copyright index 40c45404f75..f4ceb273c73 100644 --- a/admin/notes/copyright +++ b/admin/notes/copyright | |||
| @@ -24,9 +24,9 @@ the file. | |||
| 24 | 24 | ||
| 25 | 2. When installing code written by someone else, the ChangeLog entry | 25 | 2. When installing code written by someone else, the ChangeLog entry |
| 26 | should be in the name of the author of the code, not the person who | 26 | should be in the name of the author of the code, not the person who |
| 27 | installs it. I think it is helpful to put the author (if not yourself) | 27 | installs it. I think it is helpful to put the author (if not yourself) |
| 28 | in the CVS log as well; and to not install any of your own changes in | 28 | in the commit log as well (you can also use bzr commit's "--author" |
| 29 | the same commit. | 29 | option); and to not install any of your own changes in the same commit. |
| 30 | 30 | ||
| 31 | 3. With images, add the legal info to a README file in the directory | 31 | 3. With images, add the legal info to a README file in the directory |
| 32 | containing the image. | 32 | containing the image. |
| @@ -38,17 +38,17 @@ legal notices, consider if you should add a copyright statement. | |||
| 38 | right thing to do. | 38 | right thing to do. |
| 39 | 39 | ||
| 40 | 40 | ||
| 41 | Every non-trivial file distributed through the Emacs CVS should be | 41 | Every non-trivial file distributed through the Emacs repository should be |
| 42 | self-explanatory in terms of copyright and license. This includes | 42 | self-explanatory in terms of copyright and license. This includes |
| 43 | files that are not distributed in Emacs releases (for example, the | 43 | files that are not distributed in Emacs releases (for example, the |
| 44 | admin/ directory), because the whole Emacs CVS is publicly | 44 | admin/ directory), because the whole Emacs repository is publicly |
| 45 | available. | 45 | available. |
| 46 | 46 | ||
| 47 | The definition of triviality is a little vague, but a rule of thumb is | 47 | The definition of triviality is a little vague, but a rule of thumb is |
| 48 | that any file with less than 15 lines of actual content is trivial. If | 48 | that any file with less than 15 lines of actual content is trivial. If |
| 49 | a file is auto-generated (eg ldefs-boot.el) from another one in the | 49 | a file is auto-generated (eg ldefs-boot.el) from another one in the |
| 50 | CVS, then it does not really matter about adding a copyright statement | 50 | repository, then it does not really matter about adding a copyright |
| 51 | to the generated file. | 51 | statement to the generated file. |
| 52 | 52 | ||
| 53 | Legal advice says that we could, if we wished, put a license notice | 53 | Legal advice says that we could, if we wished, put a license notice |
| 54 | even in trivial files, because copyright law in general looks at the | 54 | even in trivial files, because copyright law in general looks at the |
| @@ -67,8 +67,8 @@ file "years" in this directory). The PDF versions of refcards etc | |||
| 67 | should display copyright notices (an exception to the rule about | 67 | should display copyright notices (an exception to the rule about |
| 68 | "generated" files), but these can just display the latest year. The | 68 | "generated" files), but these can just display the latest year. The |
| 69 | full list of years should be kept in comments in the source file. If | 69 | full list of years should be kept in comments in the source file. If |
| 70 | these are distributed in CVS, check in a regenerated version when the | 70 | these are distributed in the repository, check in a regenerated |
| 71 | tex files are updated. | 71 | version when the tex files are updated. |
| 72 | 72 | ||
| 73 | Copyright changes should be propagated to any associated repositories | 73 | Copyright changes should be propagated to any associated repositories |
| 74 | (eg Gnus, MH-E), but I think in every case this happens automatically | 74 | (eg Gnus, MH-E), but I think in every case this happens automatically |
| @@ -115,7 +115,7 @@ author should be removed and the year(s) transferred to the FSF); or | |||
| 115 | else it is possible the file should not be in Emacs at all (please | 115 | else it is possible the file should not be in Emacs at all (please |
| 116 | report!). | 116 | report!). |
| 117 | 117 | ||
| 118 | Note that it seems painfully clear that one cannot rely on CVS logs, | 118 | Note that it seems painfully clear that one cannot rely on commit logs, |
| 119 | or even ChangeLogs, for older changes. People often installed changes | 119 | or even ChangeLogs, for older changes. People often installed changes |
| 120 | from others, without recording the true authorship. | 120 | from others, without recording the true authorship. |
| 121 | 121 | ||
| @@ -555,10 +555,10 @@ system) | |||
| 555 | obviously good): | 555 | obviously good): |
| 556 | 556 | ||
| 557 | 557 | ||
| 558 | Is it OK to just `cvs remove' a file for legal reasons, or is | 558 | Is it OK to just `bzr remove' a file for legal reasons, or is |
| 559 | something more drastic needed? A removed file is still available from | 559 | something more drastic needed? A removed file is still available from |
| 560 | CVS, if suitable options are applied. (This CVS issue obviously does | 560 | the repository, if suitable options are applied. (This issue obviously |
| 561 | not affect a release). | 561 | does not affect a release). |
| 562 | rms: will ask lawyer | 562 | rms: will ask lawyer |
| 563 | 563 | ||
| 564 | 564 | ||
| @@ -600,7 +600,7 @@ The EMACS_22_BASE branch was changed to GPLv3 (or later) 2007/07/25. | |||
| 600 | Some notes: | 600 | Some notes: |
| 601 | (see http://lists.gnu.org/archive/html/emacs-devel/2007-07/msg01431.html) | 601 | (see http://lists.gnu.org/archive/html/emacs-devel/2007-07/msg01431.html) |
| 602 | 602 | ||
| 603 | 1. There are some files in Emacs CVS which are not part of Emacs (eg | 603 | 1. There are some files in the Emacs tree which are not part of Emacs (eg |
| 604 | those included from Gnulib). These are all copyright FSF and (at time | 604 | those included from Gnulib). These are all copyright FSF and (at time |
| 605 | of writing) GPL >= 2. rms says may as well leave the licenses of these | 605 | of writing) GPL >= 2. rms says may as well leave the licenses of these |
| 606 | alone (may import them from Gnulib again). These are: | 606 | alone (may import them from Gnulib again). These are: |
diff --git a/admin/notes/cvslogs b/admin/notes/cvslogs deleted file mode 100644 index ff2dcc93ff5..00000000000 --- a/admin/notes/cvslogs +++ /dev/null | |||
| @@ -1,15 +0,0 @@ | |||
| 1 | http://lists.gnu.org/archive/html/emacs-devel/2007-12/msg01208.html | ||
| 2 | |||
| 3 | From: Eli Zaretskii | ||
| 4 | Subject: Re: Log messages in CVS | ||
| 5 | Date: Sat, 29 Dec 2007 16:06:29 +0200 | ||
| 6 | |||
| 7 | I once posted a summary that I know about; see: | ||
| 8 | |||
| 9 | http://lists.gnu.org/archive/html/emacs-devel/2006-11/msg00229.html | ||
| 10 | http://lists.gnu.org/archive/html/emacs-devel/2006-11/msg00234.html | ||
| 11 | http://lists.gnu.org/archive/html/emacs-devel/2006-11/msg00312.html | ||
| 12 | |||
| 13 | Richard commented here, basically approving my summary: | ||
| 14 | |||
| 15 | http://lists.gnu.org/archive/html/emacs-devel/2006-11/msg00276.html | ||
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 6dfc203f638..2f5923fb8f1 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog | |||
| @@ -1,3 +1,11 @@ | |||
| 1 | 2010-01-17 Chong Yidong <cyd@stupidchicken.com> | ||
| 2 | |||
| 3 | * elisp.texi: Remove duplicate edition information (Bug#5407). | ||
| 4 | |||
| 5 | 2010-01-17 Juanma Barranquero <lekktu@gmail.com> | ||
| 6 | |||
| 7 | * two.el (volume-header-toc-markup): Fix typos in docstring. | ||
| 8 | |||
| 1 | 2010-01-04 Stefan Monnier <monnier@iro.umontreal.ca> | 9 | 2010-01-04 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 10 | ||
| 3 | Avoid dubious uses of save-excursions. | 11 | Avoid dubious uses of save-excursions. |
diff --git a/doc/lispref/elisp.texi b/doc/lispref/elisp.texi index fd1f75073c6..e6af5ae923d 100644 --- a/doc/lispref/elisp.texi +++ b/doc/lispref/elisp.texi | |||
| @@ -100,9 +100,6 @@ Cover art by Etienne Suvasa. | |||
| 100 | @node Top, Introduction, (dir), (dir) | 100 | @node Top, Introduction, (dir), (dir) |
| 101 | @top Emacs Lisp | 101 | @top Emacs Lisp |
| 102 | 102 | ||
| 103 | This Info file contains edition @value{VERSION} of the GNU Emacs Lisp | ||
| 104 | Reference Manual, corresponding to GNU Emacs version @value{EMACSVER}. | ||
| 105 | |||
| 106 | @insertcopying | 103 | @insertcopying |
| 107 | @end ifnottex | 104 | @end ifnottex |
| 108 | 105 | ||
diff --git a/doc/lispref/two.el b/doc/lispref/two.el index b89007d0d4f..43c680a483d 100644 --- a/doc/lispref/two.el +++ b/doc/lispref/two.el | |||
| @@ -54,8 +54,8 @@ Then run texindex on that file and save." | |||
| 54 | 54 | ||
| 55 | (defun volume-header-toc-markup () | 55 | (defun volume-header-toc-markup () |
| 56 | "Insert Volume I and Volume II text into .toc file. | 56 | "Insert Volume I and Volume II text into .toc file. |
| 57 | NOTE: this auxilary function is file specific. | 57 | NOTE: this auxiliary function is file specific. |
| 58 | This is for the *Elisp Ref Manual*" | 58 | This is for the *Elisp Ref Manual*." |
| 59 | (interactive) | 59 | (interactive) |
| 60 | (goto-char (point-min)) | 60 | (goto-char (point-min)) |
| 61 | (insert "\\unnumbchapentry {Volume 1}{}\n\\unnumbchapentry {}{}\n") | 61 | (insert "\\unnumbchapentry {Volume 1}{}\n\\unnumbchapentry {}{}\n") |
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index c4ef9ebf3ae..a8227f0b808 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog | |||
| @@ -1,3 +1,33 @@ | |||
| 1 | 2010-01-17 Chong Yidong <cyd@stupidchicken.com> | ||
| 2 | |||
| 3 | * semantic.texi: Add Richard Y. Kim credit. | ||
| 4 | |||
| 5 | * eieio.texi (Making New Objects): Fix typo (Bug#5406). | ||
| 6 | |||
| 7 | 2010-01-17 Michael Albinus <michael.albinus@gmx.de> | ||
| 8 | |||
| 9 | * tramp.texi (Frequently Asked Questions): Add GNU Emacs 23 and | ||
| 10 | SXEmacs 22 to the supported systems. New item for hung ssh sessions. | ||
| 11 | |||
| 12 | 2010-01-17 Glenn Morris <rgm@gnu.org> | ||
| 13 | |||
| 14 | * calc.texi (Reporting Bugs): Don't mention format of repository. | ||
| 15 | |||
| 16 | * woman.texi (Bugs): Make "Emacs repository" less specific, | ||
| 17 | and the URL for same more specific. | ||
| 18 | |||
| 19 | * faq.texi (Latest version of Emacs): The repository is now Bazaar. | ||
| 20 | |||
| 21 | 2010-01-17 Juanma Barranquero <lekktu@gmail.com> | ||
| 22 | |||
| 23 | * ede.texi (ede-step-project, ede-proj-target): | ||
| 24 | * tramp.texi (Remote processes): Fix typos. | ||
| 25 | |||
| 26 | 2010-01-16 Mario Lang <mlang@delysid.org> | ||
| 27 | |||
| 28 | * ede.texi (ede-target): | ||
| 29 | * org.texi (Refiling notes): Remove duplicated words. | ||
| 30 | |||
| 1 | 2010-01-04 Stefan Monnier <monnier@iro.umontreal.ca> | 31 | 2010-01-04 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 32 | ||
| 3 | * gnus.texi (Posting Styles): Use with-current-buffer. | 33 | * gnus.texi (Posting Styles): Use with-current-buffer. |
diff --git a/doc/misc/calc.texi b/doc/misc/calc.texi index f0fa97cbe16..8d2d0495ec7 100644 --- a/doc/misc/calc.texi +++ b/doc/misc/calc.texi | |||
| @@ -35269,7 +35269,7 @@ to work on these, please send a message (using @kbd{M-x report-calc-bug}) | |||
| 35269 | so any efforts can be coordinated. | 35269 | so any efforts can be coordinated. |
| 35270 | 35270 | ||
| 35271 | The latest version of Calc is available from Savannah, in the Emacs | 35271 | The latest version of Calc is available from Savannah, in the Emacs |
| 35272 | CVS tree. See @uref{http://savannah.gnu.org/projects/emacs}. | 35272 | repository. See @uref{http://savannah.gnu.org/projects/emacs}. |
| 35273 | 35273 | ||
| 35274 | @c [summary] | 35274 | @c [summary] |
| 35275 | @node Summary, Key Index, Reporting Bugs, Top | 35275 | @node Summary, Key Index, Reporting Bugs, Top |
diff --git a/doc/misc/ede.texi b/doc/misc/ede.texi index 189c52f446f..a40553362bd 100644 --- a/doc/misc/ede.texi +++ b/doc/misc/ede.texi | |||
| @@ -1728,7 +1728,7 @@ The variable GNUSTEP_INSTALLATION_DOMAIN is set at this value. | |||
| 1728 | Type: @code{(or null list)} @* | 1728 | Type: @code{(or null list)} @* |
| 1729 | Default Value: @code{(quote ("GNUmakefile.preamble"))} | 1729 | Default Value: @code{(quote ("GNUmakefile.preamble"))} |
| 1730 | 1730 | ||
| 1731 | The auxilliary makefile for additional variables. | 1731 | The auxiliary makefile for additional variables. |
| 1732 | Included just before the specific target files. | 1732 | Included just before the specific target files. |
| 1733 | @refill | 1733 | @refill |
| 1734 | 1734 | ||
| @@ -1736,7 +1736,7 @@ Included just before the specific target files. | |||
| 1736 | Type: @code{(or null list)} @* | 1736 | Type: @code{(or null list)} @* |
| 1737 | Default Value: @code{(quote ("GNUmakefile.postamble"))} | 1737 | Default Value: @code{(quote ("GNUmakefile.postamble"))} |
| 1738 | 1738 | ||
| 1739 | The auxilliary makefile for additional rules. | 1739 | The auxiliary makefile for additional rules. |
| 1740 | Included just after the specific target files. | 1740 | Included just after the specific target files. |
| 1741 | @refill | 1741 | @refill |
| 1742 | 1742 | ||
| @@ -1968,7 +1968,7 @@ Retrieves the slot @code{sourcetype} from an object of class @code{ede-target} | |||
| 1968 | 1968 | ||
| 1969 | @deffn Method ede-expand-filename :AFTER this filename &optional force | 1969 | @deffn Method ede-expand-filename :AFTER this filename &optional force |
| 1970 | Return a fully qualified file name based on target @var{THIS}. | 1970 | Return a fully qualified file name based on target @var{THIS}. |
| 1971 | @var{FILENAME} should a a filename which occurs in a directory in which @var{THIS} works. | 1971 | @var{FILENAME} should be a filename which occurs in a directory in which @var{THIS} works. |
| 1972 | Optional argument @var{FORCE} forces the default filename to be provided even if it | 1972 | Optional argument @var{FORCE} forces the default filename to be provided even if it |
| 1973 | doesn't exist. | 1973 | doesn't exist. |
| 1974 | @end deffn | 1974 | @end deffn |
| @@ -2083,7 +2083,7 @@ Relative to the path of the project it belongs to. | |||
| 2083 | Type: @code{list} @* | 2083 | Type: @code{list} @* |
| 2084 | Default Value: @code{nil} | 2084 | Default Value: @code{nil} |
| 2085 | 2085 | ||
| 2086 | Auxilliary source files included in this target. | 2086 | Auxiliary source files included in this target. |
| 2087 | Each of these is considered equivalent to a source file, but it is not | 2087 | Each of these is considered equivalent to a source file, but it is not |
| 2088 | distributed, and each should have a corresponding rule to build it. | 2088 | distributed, and each should have a corresponding rule to build it. |
| 2089 | @refill | 2089 | @refill |
diff --git a/doc/misc/eieio.texi b/doc/misc/eieio.texi index 06ff1677f0f..8b70d16f998 100755 --- a/doc/misc/eieio.texi +++ b/doc/misc/eieio.texi | |||
| @@ -645,7 +645,7 @@ function of @code{:initform}. | |||
| 645 | @comment node-name, next, previous, up | 645 | @comment node-name, next, previous, up |
| 646 | @chapter Making New Objects | 646 | @chapter Making New Objects |
| 647 | 647 | ||
| 648 | Suppose we have defined a simple class is defined, such as: | 648 | Suppose we have a simple class is defined, such as: |
| 649 | 649 | ||
| 650 | @example | 650 | @example |
| 651 | (defclass record () | 651 | (defclass record () |
diff --git a/doc/misc/faq.texi b/doc/misc/faq.texi index d04e8e76b5e..a7fb67745bf 100644 --- a/doc/misc/faq.texi +++ b/doc/misc/faq.texi | |||
| @@ -1008,9 +1008,7 @@ conventions}). | |||
| 1008 | @cindex Latest version of Emacs | 1008 | @cindex Latest version of Emacs |
| 1009 | @cindex Development, Emacs | 1009 | @cindex Development, Emacs |
| 1010 | @cindex Repository, Emacs | 1010 | @cindex Repository, Emacs |
| 1011 | @cindex CVS repository, Emacs | 1011 | @cindex Bazaar repository, Emacs |
| 1012 | @cindex Arch repository, Emacs | ||
| 1013 | @cindex Git repository, Emacs | ||
| 1014 | 1012 | ||
| 1015 | Emacs @value{VER} is the current version as of this writing. A version | 1013 | Emacs @value{VER} is the current version as of this writing. A version |
| 1016 | number with two components (e.g. @samp{22.1}) indicates a released | 1014 | number with two components (e.g. @samp{22.1}) indicates a released |
| @@ -1020,9 +1018,8 @@ version (e.g. @samp{23.0.50} is what will eventually become @samp{23.1}). | |||
| 1020 | Emacs is under active development, hosted at | 1018 | Emacs is under active development, hosted at |
| 1021 | @uref{http://savannah.gnu.org/projects/emacs/, Savannah}. The source | 1019 | @uref{http://savannah.gnu.org/projects/emacs/, Savannah}. The source |
| 1022 | code can be retrieved anonymously following the | 1020 | code can be retrieved anonymously following the |
| 1023 | @uref{http://savannah.gnu.org/cvs/?group=emacs, instructions}. | 1021 | @uref{http://savannah.gnu.org/bzr/?group=emacs, instructions}. |
| 1024 | The primary repository is CVS, but Arch and Git mirrors are also | 1022 | The repository is GNU Bazaar. |
| 1025 | available. | ||
| 1026 | 1023 | ||
| 1027 | Because Emacs undergoes many changes before a release, the version | 1024 | Because Emacs undergoes many changes before a release, the version |
| 1028 | number of a development version is not especially meaningful. It is | 1025 | number of a development version is not especially meaningful. It is |
diff --git a/doc/misc/org.texi b/doc/misc/org.texi index 789e64abc35..507dfad5c31 100644 --- a/doc/misc/org.texi +++ b/doc/misc/org.texi | |||
| @@ -6181,7 +6181,7 @@ See the variable @code{org-refile-targets} for details. If you would like to | |||
| 6181 | select a location via a file-path-like completion along the outline path, see | 6181 | select a location via a file-path-like completion along the outline path, see |
| 6182 | the variables @code{org-refile-use-outline-path} and | 6182 | the variables @code{org-refile-use-outline-path} and |
| 6183 | @code{org-outline-path-complete-in-steps}. If you would like to be able to | 6183 | @code{org-outline-path-complete-in-steps}. If you would like to be able to |
| 6184 | create new nodes as new parents for for refiling on the fly, check the | 6184 | create new nodes as new parents for refiling on the fly, check the |
| 6185 | variable @code{org-refile-allow-creating-parent-nodes}. | 6185 | variable @code{org-refile-allow-creating-parent-nodes}. |
| 6186 | @kindex C-u C-c C-w | 6186 | @kindex C-u C-c C-w |
| 6187 | @item C-u C-c C-w | 6187 | @item C-u C-c C-w |
diff --git a/doc/misc/semantic.texi b/doc/misc/semantic.texi index c4aa4b81419..bf618b9e09d 100644 --- a/doc/misc/semantic.texi +++ b/doc/misc/semantic.texi | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | \input texinfo | 1 | \input texinfo |
| 2 | @setfilename ../../info/semantic | 2 | @setfilename ../../info/semantic |
| 3 | @set TITLE Semantic Manual | 3 | @set TITLE Semantic Manual |
| 4 | @set AUTHOR Eric M. Ludlam and David Ponce | 4 | @set AUTHOR Eric M. Ludlam, David Ponce, and Richard Y. Kim |
| 5 | @settitle @value{TITLE} | 5 | @settitle @value{TITLE} |
| 6 | 6 | ||
| 7 | @c ************************************************************************* | 7 | @c ************************************************************************* |
diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi index 02e079b8ad5..a01eda22c12 100644 --- a/doc/misc/tramp.texi +++ b/doc/misc/tramp.texi | |||
| @@ -2562,7 +2562,7 @@ hosts. Example: | |||
| 2562 | @end example | 2562 | @end example |
| 2563 | 2563 | ||
| 2564 | You will see the buffer @file{*Async Shell Command*}, containing the | 2564 | You will see the buffer @file{*Async Shell Command*}, containing the |
| 2565 | continous output of the @command{tail} command. | 2565 | continuous output of the @command{tail} command. |
| 2566 | 2566 | ||
| 2567 | 2567 | ||
| 2568 | @subsection Running eshell on a remote host | 2568 | @subsection Running eshell on a remote host |
| @@ -2749,9 +2749,8 @@ There is also a Savannah project page. | |||
| 2749 | @item | 2749 | @item |
| 2750 | Which systems does it work on? | 2750 | Which systems does it work on? |
| 2751 | 2751 | ||
| 2752 | The package has been used successfully on GNU Emacs 21, GNU Emacs 22 | 2752 | The package has been used successfully on GNU Emacs 21, GNU Emacs 22, |
| 2753 | and XEmacs 21 (starting with 21.4). Gateway methods are supported for | 2753 | GNU Emacs 23, XEmacs 21 (starting with 21.4), and SXEmacs 22. |
| 2754 | GNU Emacs 22 only. | ||
| 2755 | 2754 | ||
| 2756 | The package was intended to work on Unix, and it really expects a | 2755 | The package was intended to work on Unix, and it really expects a |
| 2757 | Unix-like system on the remote end (except the @option{smb} method), | 2756 | Unix-like system on the remote end (except the @option{smb} method), |
| @@ -2762,12 +2761,6 @@ There is some informations on @value{tramp} on NT at the following URL; | |||
| 2762 | many thanks to Joe Stoy for providing the information: | 2761 | many thanks to Joe Stoy for providing the information: |
| 2763 | @uref{ftp://ftp.comlab.ox.ac.uk/tmp/Joe.Stoy/} | 2762 | @uref{ftp://ftp.comlab.ox.ac.uk/tmp/Joe.Stoy/} |
| 2764 | 2763 | ||
| 2765 | @c The link is broken. I've contacted Tom for clarification. Michael. | ||
| 2766 | @ignore | ||
| 2767 | The above mostly contains patches to old ssh versions; Tom Roche has a | ||
| 2768 | Web page with instructions: | ||
| 2769 | @uref{http://www4.ncsu.edu/~tlroche/plinkTramp.html} | ||
| 2770 | @end ignore | ||
| 2771 | 2764 | ||
| 2772 | @item | 2765 | @item |
| 2773 | How could I speed up @value{tramp}? | 2766 | How could I speed up @value{tramp}? |
| @@ -2838,7 +2831,6 @@ the following command: | |||
| 2838 | [ $TERM = "dumb" ] && unsetopt zle && PS1='$ ' | 2831 | [ $TERM = "dumb" ] && unsetopt zle && PS1='$ ' |
| 2839 | @end example | 2832 | @end example |
| 2840 | 2833 | ||
| 2841 | |||
| 2842 | @item | 2834 | @item |
| 2843 | @value{tramp} doesn't transfer strings with more than 500 characters | 2835 | @value{tramp} doesn't transfer strings with more than 500 characters |
| 2844 | correctly | 2836 | correctly |
| @@ -2870,6 +2862,25 @@ checksum. | |||
| 2870 | 2862 | ||
| 2871 | 2863 | ||
| 2872 | @item | 2864 | @item |
| 2865 | @value{tramp} does not recognize hung @command{ssh} sessions | ||
| 2866 | |||
| 2867 | When your network connection is down, @command{ssh} sessions might | ||
| 2868 | hang. @value{tramp} cannot detect it safely, because it still sees a | ||
| 2869 | running @command{ssh} process. Timeouts cannot be used as well, | ||
| 2870 | because it cannot be predicted, how long a remote command will last, | ||
| 2871 | for example when copying very large files. | ||
| 2872 | |||
| 2873 | Therefore, you must configure the @command{ssh} process to die | ||
| 2874 | in such a case. The following entry in @file{~/.ssh/config} would do | ||
| 2875 | the job: | ||
| 2876 | |||
| 2877 | @example | ||
| 2878 | Host * | ||
| 2879 | ServerAliveInterval 5 | ||
| 2880 | @end example | ||
| 2881 | |||
| 2882 | |||
| 2883 | @item | ||
| 2873 | File name completion does not work with @value{tramp} | 2884 | File name completion does not work with @value{tramp} |
| 2874 | 2885 | ||
| 2875 | When you log in to the remote machine, do you see the output of | 2886 | When you log in to the remote machine, do you see the output of |
diff --git a/doc/misc/woman.texi b/doc/misc/woman.texi index 2077f4844a5..c2de5d88b58 100644 --- a/doc/misc/woman.texi +++ b/doc/misc/woman.texi | |||
| @@ -4,7 +4,7 @@ | |||
| 4 | @settitle WoMan: Browse Unix Manual Pages ``W.O. (without) Man'' | 4 | @settitle WoMan: Browse Unix Manual Pages ``W.O. (without) Man'' |
| 5 | @c FIXME | 5 | @c FIXME |
| 6 | @c Manual last updated: | 6 | @c Manual last updated: |
| 7 | @set UPDATED Time-stamp: <2009-02-16 09:25:50 karl> | 7 | @set UPDATED Time-stamp: <Sat 16-Jan-2010 19:18:43 gm on grasmoor> |
| 8 | @c Software version: | 8 | @c Software version: |
| 9 | @set VERSION 0.54 (beta) | 9 | @set VERSION 0.54 (beta) |
| 10 | @afourpaper | 10 | @afourpaper |
| @@ -18,8 +18,8 @@ | |||
| 18 | This file documents WoMan: A program to browse Unix manual pages `W.O. | 18 | This file documents WoMan: A program to browse Unix manual pages `W.O. |
| 19 | (without) man'. | 19 | (without) man'. |
| 20 | 20 | ||
| 21 | Copyright @copyright{} 2001, 2002, 2003, 2004, | 21 | Copyright @copyright{} 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, |
| 22 | 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 22 | 2009, 2010 Free Software Foundation, Inc. |
| 23 | 23 | ||
| 24 | @quotation | 24 | @quotation |
| 25 | Permission is granted to copy, distribute and/or modify this document | 25 | Permission is granted to copy, distribute and/or modify this document |
| @@ -1319,8 +1319,8 @@ inelegantly, then please | |||
| 1319 | 1319 | ||
| 1320 | @enumerate | 1320 | @enumerate |
| 1321 | @item | 1321 | @item |
| 1322 | try the latest version of @file{woman.el} from the Emacs CVS repository | 1322 | try the latest version of @file{woman.el} from the Emacs repository |
| 1323 | on @uref{http://savannah.gnu.org/}. If it still fails, please | 1323 | on @uref{http://savannah.gnu.org/projects/emacs/}. If it still fails, please |
| 1324 | 1324 | ||
| 1325 | @item | 1325 | @item |
| 1326 | send a bug report to @email{bug-gnu-emacs@@gnu.org} and to | 1326 | send a bug report to @email{bug-gnu-emacs@@gnu.org} and to |
diff --git a/etc/ChangeLog b/etc/ChangeLog index 15530e5d59f..a5ab8ee4452 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2010-01-16 Mario Lang <mlang@delysid.org> | ||
| 2 | |||
| 3 | * srecode/doc-cpp.srt, srecode/doc-default.srt: | ||
| 4 | * srecode/doc-java.srt: Remove duplicated words. | ||
| 5 | |||
| 1 | 2010-01-14 Nick Roberts <nickrob@snap.net.nz> | 6 | 2010-01-14 Nick Roberts <nickrob@snap.net.nz> |
| 2 | 7 | ||
| 3 | * etc/images/gud/recstart.xpm, etc/images/gud/recstop.xpm: | 8 | * etc/images/gud/recstart.xpm, etc/images/gud/recstop.xpm: |
diff --git a/etc/srecode/doc-cpp.srt b/etc/srecode/doc-cpp.srt index fce0d283d7d..2abe572e396 100644 --- a/etc/srecode/doc-cpp.srt +++ b/etc/srecode/doc-cpp.srt | |||
| @@ -58,7 +58,7 @@ Recycle doxygen comment code from the more general template set." | |||
| 58 | ---- | 58 | ---- |
| 59 | 59 | ||
| 60 | template group-comment-end :blank :indent | 60 | template group-comment-end :blank :indent |
| 61 | "A comment occurring at the end of a a group of declarations. | 61 | "A comment occurring at the end of a group of declarations. |
| 62 | Recycle doxygen comment code from the more general template set." | 62 | Recycle doxygen comment code from the more general template set." |
| 63 | ---- | 63 | ---- |
| 64 | {{>:classdecl:doxygen-function-group-end}} | 64 | {{>:classdecl:doxygen-function-group-end}} |
| @@ -75,7 +75,7 @@ Recycle doxygen comment code from the more general template set." | |||
| 75 | ---- | 75 | ---- |
| 76 | 76 | ||
| 77 | template group-comment-end :blank :indent | 77 | template group-comment-end :blank :indent |
| 78 | "A comment occurring at the end of a a group of declarations. | 78 | "A comment occurring at the end of a group of declarations. |
| 79 | Recycle doxygen comment code from the more general template set." | 79 | Recycle doxygen comment code from the more general template set." |
| 80 | ---- | 80 | ---- |
| 81 | {{>:classdecl:doxygen-function-group-end}} | 81 | {{>:classdecl:doxygen-function-group-end}} |
diff --git a/etc/srecode/doc-default.srt b/etc/srecode/doc-default.srt index f07849b9207..2d3094df60d 100644 --- a/etc/srecode/doc-default.srt +++ b/etc/srecode/doc-default.srt | |||
| @@ -57,7 +57,7 @@ template group-comment-start :blank :indent | |||
| 57 | ---- | 57 | ---- |
| 58 | 58 | ||
| 59 | template group-comment-end :indent | 59 | template group-comment-end :indent |
| 60 | "A comment occurring at the end of a a group of declarations." | 60 | "A comment occurring at the end of a group of declarations." |
| 61 | ---- | 61 | ---- |
| 62 | {{comment_start}} End {{?GROUPNAME}} {{comment_end}} | 62 | {{comment_start}} End {{?GROUPNAME}} {{comment_end}} |
| 63 | ---- | 63 | ---- |
| @@ -72,7 +72,7 @@ template group-comment-start :blank :indent | |||
| 72 | ---- | 72 | ---- |
| 73 | 73 | ||
| 74 | template group-comment-end :indent | 74 | template group-comment-end :indent |
| 75 | "A comment occurring at the end of a a group of declarations." | 75 | "A comment occurring at the end of a group of declarations." |
| 76 | ---- | 76 | ---- |
| 77 | {{>:declaration:group-comment-end}} | 77 | {{>:declaration:group-comment-end}} |
| 78 | ---- | 78 | ---- |
diff --git a/etc/srecode/doc-java.srt b/etc/srecode/doc-java.srt index cb289913f36..f6ef6c9aea3 100644 --- a/etc/srecode/doc-java.srt +++ b/etc/srecode/doc-java.srt | |||
| @@ -59,7 +59,7 @@ Recycle javadoc comment code from the more general template set." | |||
| 59 | ---- | 59 | ---- |
| 60 | 60 | ||
| 61 | template group-comment-end :blank :indent | 61 | template group-comment-end :blank :indent |
| 62 | "A comment occurring at the end of a a group of declarations. | 62 | "A comment occurring at the end of a group of declarations. |
| 63 | Recycle javadoc comment code from the more general template set." | 63 | Recycle javadoc comment code from the more general template set." |
| 64 | ---- | 64 | ---- |
| 65 | {{>:classdecl:javadoc-function-group-end}} | 65 | {{>:classdecl:javadoc-function-group-end}} |
| @@ -76,7 +76,7 @@ Recycle javadoc comment code from the more general template set." | |||
| 76 | ---- | 76 | ---- |
| 77 | 77 | ||
| 78 | template group-comment-end :blank :indent | 78 | template group-comment-end :blank :indent |
| 79 | "A comment occurring at the end of a a group of declarations. | 79 | "A comment occurring at the end of a group of declarations. |
| 80 | Recycle javadoc comment code from the more general template set." | 80 | Recycle javadoc comment code from the more general template set." |
| 81 | ---- | 81 | ---- |
| 82 | {{>:classdecl:javadoc-function-group-end}} | 82 | {{>:classdecl:javadoc-function-group-end}} |
diff --git a/lib-src/etags.c b/lib-src/etags.c index 8cdd47957f6..d49dcf930af 100644 --- a/lib-src/etags.c +++ b/lib-src/etags.c | |||
| @@ -6297,7 +6297,7 @@ readline (lbp, stream) | |||
| 6297 | readline (lbp, stream); | 6297 | readline (lbp, stream); |
| 6298 | return; | 6298 | return; |
| 6299 | } /* if a real #line directive */ | 6299 | } /* if a real #line directive */ |
| 6300 | } /* if #line is followed by a a number */ | 6300 | } /* if #line is followed by a number */ |
| 6301 | } /* if line begins with "#line " */ | 6301 | } /* if line begins with "#line " */ |
| 6302 | 6302 | ||
| 6303 | /* If we are here, no #line directive was found. */ | 6303 | /* If we are here, no #line directive was found. */ |
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 9e08889ba61..741f4ff4828 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,93 @@ | |||
| 1 | 2010-01-17 Chong Yidong <cyd@stupidchicken.com> | ||
| 2 | |||
| 3 | * mail/sendmail.el (mail-yank-original): Set the mark if the | ||
| 4 | specified function for yanking does not do it. | ||
| 5 | |||
| 6 | 2010-01-17 Dan Nicolaescu <dann@ics.uci.edu> | ||
| 7 | |||
| 8 | * vc.el (with-vc-properties): Deal with directory arguments. (Bug#5298) | ||
| 9 | |||
| 10 | * vc-dir.el (vc-dir-resynch-file): Update the vc-dir header when | ||
| 11 | resyncing a directory. | ||
| 12 | |||
| 13 | 2010-01-17 Stephen Leake <stephen_leake@member.fsf.org> | ||
| 14 | |||
| 15 | * progmodes/ada-mode.el: Fix bug#1920, bug#5400. | ||
| 16 | (ada-ident-re): Delete ., allow multibyte characters. | ||
| 17 | (ada-goto-label-re): New; matches goto labels. | ||
| 18 | (ada-block-label-re): New; matches block labels. | ||
| 19 | (ada-label-re): New; matches both. | ||
| 20 | (ada-named-block-re): Deleted; callers changed to use | ||
| 21 | `ada-block-label-re' instead. | ||
| 22 | (ada-get-current-indent, ada-get-indent-noindent, ada-get-indent-loop): | ||
| 23 | Use `ada-block-label-re'. | ||
| 24 | (ada-indent-on-previous-lines): Improve handling of goto labels. | ||
| 25 | (ada-get-indent-block-start): Special-case block label. | ||
| 26 | (ada-get-indent-label): Split into `ada-indent-block-label' and | ||
| 27 | `ada-indent-goto-label'. | ||
| 28 | (ada-goto-stmt-start, ada-goto-next-non-ws): | ||
| 29 | Optionally ignore goto labels. | ||
| 30 | (ada-goto-next-word): Simplify. | ||
| 31 | (ada-indent-newline-indent-conditional): Insert newline before | ||
| 32 | trying to fix indentation; doc fix. | ||
| 33 | |||
| 34 | 2010-01-17 Jay Belanger <jay.p.belanger@gmail.com> | ||
| 35 | |||
| 36 | * calc/calc.el (calc-command-flags): Give it an initial value. | ||
| 37 | |||
| 38 | 2010-01-17 Glenn Morris <rgm@gnu.org> | ||
| 39 | |||
| 40 | * cedet/semantic/idle.el (semantic-idle-work-for-one-buffer): Doc fix. | ||
| 41 | |||
| 42 | 2010-01-17 Juanma Barranquero <lekktu@gmail.com> | ||
| 43 | |||
| 44 | * cedet/semantic.el (semantic-mode): | ||
| 45 | * files.el (minibuffer-with-setup-hook): | ||
| 46 | * textmodes/artist.el (artist-mt, artist-key-undraw-continously) | ||
| 47 | (artist-key-draw-continously, artist-key-do-continously-continously) | ||
| 48 | (artist-key-set-point-continously, artist-mouse-draw-continously): | ||
| 49 | Fix typos in docstrings. | ||
| 50 | |||
| 51 | 2010-01-16 Lennart Borgman <lennart.borgman@gmail.com> | ||
| 52 | |||
| 53 | * nxml/nxml-mode.el (nxml-extend-after-change-region): Never | ||
| 54 | return t (Bug#3898). | ||
| 55 | |||
| 56 | 2010-01-16 Frédéric Perrin <frederic.perrin@resel.fr> (tiny change) | ||
| 57 | |||
| 58 | * vc-dispatcher.el (vc-do-command): Set LC_MESSAGES, so that we | ||
| 59 | can parse the output of the external commands (Bug#5279). | ||
| 60 | |||
| 61 | 2010-01-16 Jari Aalto <jari.aalto@cante.net> | ||
| 62 | |||
| 63 | * pcmpl-unix.el (pcmpl-unix-read-passwd-file): Doc fix. | ||
| 64 | |||
| 65 | 2010-01-16 Chong Yidong <cyd@stupidchicken.com> | ||
| 66 | |||
| 67 | * emacs-lisp/advice.el (ad-add-advice): Doc fix (Bug#5274) | ||
| 68 | |||
| 69 | * emacs-lisp/cl-macs.el (defstruct): Doc fix (Bug#5267). | ||
| 70 | |||
| 71 | * startup.el (command-line): Remove unused --icon-type arg. | ||
| 72 | Handle --display arg, passing it to command-line-1 (Bug#5392). | ||
| 73 | |||
| 74 | 2010-01-16 Mario Lang <mlang@delysid.org> | ||
| 75 | |||
| 76 | * cedet/ede/cpp-root.el (ede-cpp-root-project): | ||
| 77 | * cedet/ede/files.el (ede-expand-filename): | ||
| 78 | * cedet/ede/simple.el (ede-simple-project): | ||
| 79 | * cedet/semantic/complete.el (semantic-complete-read-tag-engine) | ||
| 80 | (semantic-complete-inline-tag-engine): | ||
| 81 | * cedet/semantic/db-el.el (semanticdb-equivalent-mode): | ||
| 82 | * cedet/semantic/db-global.el (semanticdb-equivalent-mode): | ||
| 83 | * cedet/semantic/db-javascript.el (semanticdb-equivalent-mode): | ||
| 84 | * cedet/semantic/db.el (semanticdb-equivalent-mode): | ||
| 85 | * cedet/semantic/decorate/include.el (semantic-decoration-unknown-include-describe): | ||
| 86 | * cedet/semantic/idle.el (semantic-idle-work-for-one-buffer): | ||
| 87 | * emacs-lisp/chart.el (chart-translate-namezone): | ||
| 88 | * textmodes/artist.el (artist-compute-popup-menu-table): | ||
| 89 | Remove duplicated words in doc-strings. | ||
| 90 | |||
| 1 | 2010-01-15 David Abrahams <dave@boostpro.com> (tiny change) | 91 | 2010-01-15 David Abrahams <dave@boostpro.com> (tiny change) |
| 2 | 92 | ||
| 3 | * net/mairix.el (mairix-widget-send-query): Send -1 instead of nil | 93 | * net/mairix.el (mairix-widget-send-query): Send -1 instead of nil |
| @@ -6,7 +96,7 @@ | |||
| 6 | 2010-01-15 Kenichi Handa <handa@m17n.org> | 96 | 2010-01-15 Kenichi Handa <handa@m17n.org> |
| 7 | 97 | ||
| 8 | * international/mule-cmds.el (canonicalize-coding-system-name): | 98 | * international/mule-cmds.el (canonicalize-coding-system-name): |
| 9 | Convert "msXXX", "ibmXXX", "windows-XXX" to "cpXXX". | 99 | Convert "msXXX", "ibmXXX", "windows-XXX" to "cpXXX" (Bug#5387). |
| 10 | 100 | ||
| 11 | 2010-01-15 Glenn Morris <rgm@gnu.org> | 101 | 2010-01-15 Glenn Morris <rgm@gnu.org> |
| 12 | 102 | ||
| @@ -1473,7 +1563,7 @@ | |||
| 1473 | 2009-12-01 Dan Nicolaescu <dann@ics.uci.edu> | 1563 | 2009-12-01 Dan Nicolaescu <dann@ics.uci.edu> |
| 1474 | 1564 | ||
| 1475 | Make vc-print-log buttons work. | 1565 | Make vc-print-log buttons work. |
| 1476 | * log-view.el (log-view-mode-map): Inherit from from widget-keymap. | 1566 | * log-view.el (log-view-mode-map): Inherit from widget-keymap. |
| 1477 | 1567 | ||
| 1478 | 2009-11-30 Ryan C. Thompson <rct@thompsonclan.org> (tiny change) | 1568 | 2009-11-30 Ryan C. Thompson <rct@thompsonclan.org> (tiny change) |
| 1479 | 1569 | ||
diff --git a/lisp/calc/calc.el b/lisp/calc/calc.el index a3f95fc73ef..2a6ec97ef5c 100644 --- a/lisp/calc/calc.el +++ b/lisp/calc/calc.el | |||
| @@ -1546,7 +1546,7 @@ See calc-keypad for details." | |||
| 1546 | 1546 | ||
| 1547 | (defvar calc-aborted-prefix nil) | 1547 | (defvar calc-aborted-prefix nil) |
| 1548 | (defvar calc-start-time nil) | 1548 | (defvar calc-start-time nil) |
| 1549 | (defvar calc-command-flags) | 1549 | (defvar calc-command-flags nil) |
| 1550 | (defvar calc-final-point-line) | 1550 | (defvar calc-final-point-line) |
| 1551 | (defvar calc-final-point-column) | 1551 | (defvar calc-final-point-column) |
| 1552 | ;;; Note that modifications to this function may break calc-pass-errors. | 1552 | ;;; Note that modifications to this function may break calc-pass-errors. |
diff --git a/lisp/cedet/ede/cpp-root.el b/lisp/cedet/ede/cpp-root.el index ec04dd57c7a..1592c3c2f5d 100644 --- a/lisp/cedet/ede/cpp-root.el +++ b/lisp/cedet/ede/cpp-root.el | |||
| @@ -324,7 +324,7 @@ exist, it should return nil." | |||
| 324 | ) | 324 | ) |
| 325 | ) | 325 | ) |
| 326 | "EDE cpp-root project class. | 326 | "EDE cpp-root project class. |
| 327 | Each directory needs a a project file to control it.") | 327 | Each directory needs a project file to control it.") |
| 328 | 328 | ||
| 329 | ;;; INIT | 329 | ;;; INIT |
| 330 | ;; | 330 | ;; |
diff --git a/lisp/cedet/ede/files.el b/lisp/cedet/ede/files.el index bdb9268a030..2f86b766158 100644 --- a/lisp/cedet/ede/files.el +++ b/lisp/cedet/ede/files.el | |||
| @@ -487,7 +487,7 @@ doesn't exist." | |||
| 487 | 487 | ||
| 488 | (defmethod ede-expand-filename ((this ede-target) filename &optional force) | 488 | (defmethod ede-expand-filename ((this ede-target) filename &optional force) |
| 489 | "Return a fully qualified file name based on target THIS. | 489 | "Return a fully qualified file name based on target THIS. |
| 490 | FILENAME should a a filename which occurs in a directory in which THIS works. | 490 | FILENAME should be a filename which occurs in a directory in which THIS works. |
| 491 | Optional argument FORCE forces the default filename to be provided even if it | 491 | Optional argument FORCE forces the default filename to be provided even if it |
| 492 | doesn't exist." | 492 | doesn't exist." |
| 493 | (ede-expand-filename (ede-target-parent this) filename force)) | 493 | (ede-expand-filename (ede-target-parent this) filename force)) |
diff --git a/lisp/cedet/ede/proj-aux.el b/lisp/cedet/ede/proj-aux.el index 9011c62674f..26bc9540e82 100644 --- a/lisp/cedet/ede/proj-aux.el +++ b/lisp/cedet/ede/proj-aux.el | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | ;;; ede/proj-aux.el --- EDE Generic Project auxilliary file support | 1 | ;;; ede/proj-aux.el --- EDE Generic Project auxiliary file support |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1998, 1999, 2000, 2007, 2009, 2010 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1998, 1999, 2000, 2007, 2009, 2010 Free Software Foundation, Inc. |
| 4 | 4 | ||
diff --git a/lisp/cedet/ede/simple.el b/lisp/cedet/ede/simple.el index 64bf047736e..e0a526e9ead 100644 --- a/lisp/cedet/ede/simple.el +++ b/lisp/cedet/ede/simple.el | |||
| @@ -87,7 +87,7 @@ All directories need at least one target.") | |||
| 87 | (file-header-line :initform ";; EDE Simple Project") | 87 | (file-header-line :initform ";; EDE Simple Project") |
| 88 | ) | 88 | ) |
| 89 | "EDE Simple project class. | 89 | "EDE Simple project class. |
| 90 | Each directory needs a a project file to control it.") | 90 | Each directory needs a project file to control it.") |
| 91 | 91 | ||
| 92 | (defmethod ede-commit-project ((proj ede-simple-project)) | 92 | (defmethod ede-commit-project ((proj ede-simple-project)) |
| 93 | "Commit any change to PROJ to its file." | 93 | "Commit any change to PROJ to its file." |
diff --git a/lisp/cedet/semantic.el b/lisp/cedet/semantic.el index 108a8c4b294..0b311d9f243 100644 --- a/lisp/cedet/semantic.el +++ b/lisp/cedet/semantic.el | |||
| @@ -1014,7 +1014,7 @@ Throw away all the old tags, and recreate the tag database." | |||
| 1014 | 1014 | ||
| 1015 | ;; The `semantic-mode' command, in conjuction with the | 1015 | ;; The `semantic-mode' command, in conjuction with the |
| 1016 | ;; `semantic-default-submodes' variable, toggles Semantic's various | 1016 | ;; `semantic-default-submodes' variable, toggles Semantic's various |
| 1017 | ;; auxilliary minor modes. | 1017 | ;; auxiliary minor modes. |
| 1018 | 1018 | ||
| 1019 | (defvar semantic-load-system-cache-loaded nil | 1019 | (defvar semantic-load-system-cache-loaded nil |
| 1020 | "Non nil when the Semantic system caches have been loaded. | 1020 | "Non nil when the Semantic system caches have been loaded. |
| @@ -1057,7 +1057,7 @@ With ARG, turn Semantic mode on if ARG is positive, off otherwise. | |||
| 1057 | 1057 | ||
| 1058 | In Semantic mode, Emacs parses the buffers you visit for their | 1058 | In Semantic mode, Emacs parses the buffers you visit for their |
| 1059 | semantic content. This information is used by a variety of | 1059 | semantic content. This information is used by a variety of |
| 1060 | auxilliary minor modes, listed in `semantic-default-submodes'; | 1060 | auxiliary minor modes, listed in `semantic-default-submodes'; |
| 1061 | all the minor modes in this list are also enabled when you enable | 1061 | all the minor modes in this list are also enabled when you enable |
| 1062 | Semantic mode. | 1062 | Semantic mode. |
| 1063 | 1063 | ||
| @@ -1067,7 +1067,7 @@ Semantic mode. | |||
| 1067 | (if semantic-mode | 1067 | (if semantic-mode |
| 1068 | ;; Turn on Semantic mode | 1068 | ;; Turn on Semantic mode |
| 1069 | (progn | 1069 | (progn |
| 1070 | ;; Enable all the global auxilliary minor modes in | 1070 | ;; Enable all the global auxiliary minor modes in |
| 1071 | ;; `semantic-submode-list'. | 1071 | ;; `semantic-submode-list'. |
| 1072 | (dolist (mode semantic-submode-list) | 1072 | (dolist (mode semantic-submode-list) |
| 1073 | (if (memq mode semantic-default-submodes) | 1073 | (if (memq mode semantic-default-submodes) |
diff --git a/lisp/cedet/semantic/complete.el b/lisp/cedet/semantic/complete.el index eed31e4c2ad..fa9ebed9263 100644 --- a/lisp/cedet/semantic/complete.el +++ b/lisp/cedet/semantic/complete.el | |||
| @@ -192,7 +192,7 @@ Keeps STRINGS only in the history.") | |||
| 192 | default-tag initial-input | 192 | default-tag initial-input |
| 193 | history) | 193 | history) |
| 194 | "Read a semantic tag, and return a tag for the selection. | 194 | "Read a semantic tag, and return a tag for the selection. |
| 195 | Argument COLLECTOR is an object which can be used to to calculate | 195 | Argument COLLECTOR is an object which can be used to calculate |
| 196 | a list of possible hits. See `semantic-completion-collector-engine' | 196 | a list of possible hits. See `semantic-completion-collector-engine' |
| 197 | for details on COLLECTOR. | 197 | for details on COLLECTOR. |
| 198 | Argument DISPLAYOR is an object used to display a list of possible | 198 | Argument DISPLAYOR is an object used to display a list of possible |
| @@ -394,7 +394,7 @@ Return value can be: | |||
| 394 | 394 | ||
| 395 | ;;; Keybindings | 395 | ;;; Keybindings |
| 396 | ;; | 396 | ;; |
| 397 | ;; Keys are bound to to perform completion using our mechanisms. | 397 | ;; Keys are bound to perform completion using our mechanisms. |
| 398 | ;; Do that work here. | 398 | ;; Do that work here. |
| 399 | (defun semantic-complete-done () | 399 | (defun semantic-complete-done () |
| 400 | "Accept the current input." | 400 | "Accept the current input." |
| @@ -738,7 +738,7 @@ DO NOT CALL THIS IF THE INLINE COMPLETION ENGINE IS NOT ACTIVE." | |||
| 738 | (defun semantic-complete-inline-tag-engine | 738 | (defun semantic-complete-inline-tag-engine |
| 739 | (collector displayor buffer start end) | 739 | (collector displayor buffer start end) |
| 740 | "Perform completion based on semantic tags in a buffer. | 740 | "Perform completion based on semantic tags in a buffer. |
| 741 | Argument COLLECTOR is an object which can be used to to calculate | 741 | Argument COLLECTOR is an object which can be used to calculate |
| 742 | a list of possible hits. See `semantic-completion-collector-engine' | 742 | a list of possible hits. See `semantic-completion-collector-engine' |
| 743 | for details on COLLECTOR. | 743 | for details on COLLECTOR. |
| 744 | Argument DISPLAYOR is an object used to display a list of possible | 744 | Argument DISPLAYOR is an object used to display a list of possible |
diff --git a/lisp/cedet/semantic/db-el.el b/lisp/cedet/semantic/db-el.el index 865d775c7cb..d46f727fca6 100644 --- a/lisp/cedet/semantic/db-el.el +++ b/lisp/cedet/semantic/db-el.el | |||
| @@ -107,7 +107,7 @@ For Emacs Lisp, creates a specialized table." | |||
| 107 | 107 | ||
| 108 | (defmethod semanticdb-equivalent-mode ((table semanticdb-table-emacs-lisp) &optional buffer) | 108 | (defmethod semanticdb-equivalent-mode ((table semanticdb-table-emacs-lisp) &optional buffer) |
| 109 | "Return non-nil if TABLE's mode is equivalent to BUFFER. | 109 | "Return non-nil if TABLE's mode is equivalent to BUFFER. |
| 110 | Equivalent modes are specified by by `semantic-equivalent-major-modes' | 110 | Equivalent modes are specified by the `semantic-equivalent-major-modes' |
| 111 | local variable." | 111 | local variable." |
| 112 | (with-current-buffer buffer | 112 | (with-current-buffer buffer |
| 113 | (eq (or mode-local-active-mode major-mode) 'emacs-lisp-mode))) | 113 | (eq (or mode-local-active-mode major-mode) 'emacs-lisp-mode))) |
diff --git a/lisp/cedet/semantic/db-global.el b/lisp/cedet/semantic/db-global.el index aba045d64d8..bfd97fc5a54 100644 --- a/lisp/cedet/semantic/db-global.el +++ b/lisp/cedet/semantic/db-global.el | |||
| @@ -105,7 +105,7 @@ is not available for this directory." | |||
| 105 | 105 | ||
| 106 | (defmethod semanticdb-equivalent-mode ((table semanticdb-table-global) &optional buffer) | 106 | (defmethod semanticdb-equivalent-mode ((table semanticdb-table-global) &optional buffer) |
| 107 | "Return t, pretend that this table's mode is equivalent to BUFFER. | 107 | "Return t, pretend that this table's mode is equivalent to BUFFER. |
| 108 | Equivalent modes are specified by by `semantic-equivalent-major-modes' | 108 | Equivalent modes are specified by the `semantic-equivalent-major-modes' |
| 109 | local variable." | 109 | local variable." |
| 110 | ;; @todo - hack alert! | 110 | ;; @todo - hack alert! |
| 111 | t) | 111 | t) |
diff --git a/lisp/cedet/semantic/db-javascript.el b/lisp/cedet/semantic/db-javascript.el index d99b60cc66c..2e357e677e2 100644 --- a/lisp/cedet/semantic/db-javascript.el +++ b/lisp/cedet/semantic/db-javascript.el | |||
| @@ -145,7 +145,7 @@ Create one of our special tables that can act as an intermediary." | |||
| 145 | 145 | ||
| 146 | (defmethod semanticdb-equivalent-mode ((table semanticdb-table-javascript) &optional buffer) | 146 | (defmethod semanticdb-equivalent-mode ((table semanticdb-table-javascript) &optional buffer) |
| 147 | "Return non-nil if TABLE's mode is equivalent to BUFFER. | 147 | "Return non-nil if TABLE's mode is equivalent to BUFFER. |
| 148 | Equivalent modes are specified by by `semantic-equivalent-major-modes' | 148 | Equivalent modes are specified by the `semantic-equivalent-major-modes' |
| 149 | local variable." | 149 | local variable." |
| 150 | (with-current-buffer buffer | 150 | (with-current-buffer buffer |
| 151 | (eq (or mode-local-active-mode major-mode) 'javascript-mode))) | 151 | (eq (or mode-local-active-mode major-mode) 'javascript-mode))) |
diff --git a/lisp/cedet/semantic/db.el b/lisp/cedet/semantic/db.el index 811bc985f35..3f638a212f0 100644 --- a/lisp/cedet/semantic/db.el +++ b/lisp/cedet/semantic/db.el | |||
| @@ -735,13 +735,13 @@ all files of any type." | |||
| 735 | 735 | ||
| 736 | (defmethod semanticdb-equivalent-mode ((table semanticdb-abstract-table) &optional buffer) | 736 | (defmethod semanticdb-equivalent-mode ((table semanticdb-abstract-table) &optional buffer) |
| 737 | "Return non-nil if TABLE's mode is equivalent to BUFFER. | 737 | "Return non-nil if TABLE's mode is equivalent to BUFFER. |
| 738 | Equivalent modes are specified by by `semantic-equivalent-major-modes' | 738 | Equivalent modes are specified by the `semantic-equivalent-major-modes' |
| 739 | local variable." | 739 | local variable." |
| 740 | nil) | 740 | nil) |
| 741 | 741 | ||
| 742 | (defmethod semanticdb-equivalent-mode ((table semanticdb-table) &optional buffer) | 742 | (defmethod semanticdb-equivalent-mode ((table semanticdb-table) &optional buffer) |
| 743 | "Return non-nil if TABLE's mode is equivalent to BUFFER. | 743 | "Return non-nil if TABLE's mode is equivalent to BUFFER. |
| 744 | Equivalent modes are specified by by `semantic-equivalent-major-modes' | 744 | Equivalent modes are specified by the `semantic-equivalent-major-modes' |
| 745 | local variable." | 745 | local variable." |
| 746 | (save-excursion | 746 | (save-excursion |
| 747 | (if buffer (set-buffer buffer)) | 747 | (if buffer (set-buffer buffer)) |
diff --git a/lisp/cedet/semantic/decorate/include.el b/lisp/cedet/semantic/decorate/include.el index dec01336ae1..94273dcfaf7 100644 --- a/lisp/cedet/semantic/decorate/include.el +++ b/lisp/cedet/semantic/decorate/include.el | |||
| @@ -461,7 +461,7 @@ wrap existing project code for Semantic's benifit. | |||
| 461 | 461 | ||
| 462 | (when (or (eq mm 'c++-mode) (eq mm 'c-mode)) | 462 | (when (or (eq mm 'c++-mode) (eq mm 'c-mode)) |
| 463 | (princ " | 463 | (princ " |
| 464 | For C/C++ includes located within a a project, you can use a special | 464 | For C/C++ includes located within a project, you can use a special |
| 465 | EDE project that will wrap an existing build system. You can do that | 465 | EDE project that will wrap an existing build system. You can do that |
| 466 | like this in your .emacs file: | 466 | like this in your .emacs file: |
| 467 | 467 | ||
diff --git a/lisp/cedet/semantic/idle.el b/lisp/cedet/semantic/idle.el index dddfaca0f83..bc314bb547e 100644 --- a/lisp/cedet/semantic/idle.el +++ b/lisp/cedet/semantic/idle.el | |||
| @@ -336,9 +336,9 @@ Disable to prevent lots of excessive parsing in idle time." | |||
| 336 | 336 | ||
| 337 | 337 | ||
| 338 | (defun semantic-idle-work-for-one-buffer (buffer) | 338 | (defun semantic-idle-work-for-one-buffer (buffer) |
| 339 | "Do long-processing work for for BUFFER. | 339 | "Do long-processing work for BUFFER. |
| 340 | Uses `semantic-safe' and returns the output. | 340 | Uses `semantic-safe' and returns the output. |
| 341 | Returns t of all processing succeeded." | 341 | Returns t if all processing succeeded." |
| 342 | (with-current-buffer buffer | 342 | (with-current-buffer buffer |
| 343 | (not (and | 343 | (not (and |
| 344 | ;; Just in case | 344 | ;; Just in case |
diff --git a/lisp/emacs-lisp/advice.el b/lisp/emacs-lisp/advice.el index 46522991418..bac24b63021 100644 --- a/lisp/emacs-lisp/advice.el +++ b/lisp/emacs-lisp/advice.el | |||
| @@ -2422,16 +2422,28 @@ in that CLASS." | |||
| 2422 | ;;;###autoload | 2422 | ;;;###autoload |
| 2423 | (defun ad-add-advice (function advice class position) | 2423 | (defun ad-add-advice (function advice class position) |
| 2424 | "Add a piece of ADVICE to FUNCTION's list of advices in CLASS. | 2424 | "Add a piece of ADVICE to FUNCTION's list of advices in CLASS. |
| 2425 | If FUNCTION already has one or more pieces of advice of the specified | 2425 | |
| 2426 | CLASS then POSITION determines where the new piece will go. The value | 2426 | ADVICE has the form (NAME PROTECTED ENABLED DEFINITION), where |
| 2427 | of POSITION can either be `first', `last' or a number where 0 corresponds | 2427 | NAME is the advice name; PROTECTED is a flag specifying whether |
| 2428 | to `first'. Numbers outside the range will be mapped to the closest | 2428 | to protect against non-local exits; ENABLED is a flag specifying |
| 2429 | extreme position. If there was already a piece of ADVICE with the same | 2429 | whether to initially enable the advice; and DEFINITION has the |
| 2430 | name, then the position argument will be ignored and the old advice | 2430 | form (advice . LAMBDA), where LAMBDA is a lambda expression. |
| 2431 | will be overwritten with the new one. | 2431 | |
| 2432 | If the FUNCTION was not advised already, then its advice info will be | 2432 | If FUNCTION already has a piece of advice with the same name, |
| 2433 | initialized. Redefining a piece of advice whose name is part of the cache-id | 2433 | then POSITION is ignored, and the old advice is overwritten with |
| 2434 | will clear the cache." | 2434 | the new one. |
| 2435 | |||
| 2436 | If FUNCTION already has one or more pieces of advice of the | ||
| 2437 | specified CLASS, then POSITION determines where the new piece | ||
| 2438 | goes. POSITION can either be `first', `last' or a number (where | ||
| 2439 | 0 corresponds to `first', and numbers outside the valid range are | ||
| 2440 | mapped to the closest extremal position). | ||
| 2441 | |||
| 2442 | If FUNCTION was not advised already, its advice info will be | ||
| 2443 | initialized. Redefining a piece of advice whose name is part of | ||
| 2444 | the cache-id will clear the cache. | ||
| 2445 | |||
| 2446 | See Info node `(elisp)Computed Advice' for detailed documentation." | ||
| 2435 | (cond ((not (ad-is-advised function)) | 2447 | (cond ((not (ad-is-advised function)) |
| 2436 | (ad-initialize-advice-info function) | 2448 | (ad-initialize-advice-info function) |
| 2437 | (ad-set-advice-info-field | 2449 | (ad-set-advice-info-field |
diff --git a/lisp/emacs-lisp/chart.el b/lisp/emacs-lisp/chart.el index f4c3bfa90a0..4f01e540601 100644 --- a/lisp/emacs-lisp/chart.el +++ b/lisp/emacs-lisp/chart.el | |||
| @@ -323,7 +323,7 @@ MARGIN, ZONE, START, and END specify restrictions in chart space." | |||
| 323 | (defmethod chart-translate-namezone ((c chart) n) | 323 | (defmethod chart-translate-namezone ((c chart) n) |
| 324 | "Return a dot-pair representing a positional range for a name. | 324 | "Return a dot-pair representing a positional range for a name. |
| 325 | The name in chart C of the Nth name resides. | 325 | The name in chart C of the Nth name resides. |
| 326 | Automatically compensates for for direction." | 326 | Automatically compensates for direction." |
| 327 | (let* ((dir (oref c direction)) | 327 | (let* ((dir (oref c direction)) |
| 328 | (w (if (eq dir 'vertical) (oref c x-width) (oref c y-width))) | 328 | (w (if (eq dir 'vertical) (oref c x-width) (oref c y-width))) |
| 329 | (m (if (eq dir 'vertical) (oref c y-margin) (oref c x-margin))) | 329 | (m (if (eq dir 'vertical) (oref c y-margin) (oref c x-margin))) |
diff --git a/lisp/emacs-lisp/cl-loaddefs.el b/lisp/emacs-lisp/cl-loaddefs.el index 0be2c643313..3beda28abf2 100644 --- a/lisp/emacs-lisp/cl-loaddefs.el +++ b/lisp/emacs-lisp/cl-loaddefs.el | |||
| @@ -282,7 +282,7 @@ Not documented | |||
| 282 | ;;;;;; flet progv psetq do-all-symbols do-symbols dotimes dolist | 282 | ;;;;;; flet progv psetq do-all-symbols do-symbols dotimes dolist |
| 283 | ;;;;;; do* do loop return-from return block etypecase typecase ecase | 283 | ;;;;;; do* do loop return-from return block etypecase typecase ecase |
| 284 | ;;;;;; case load-time-value eval-when destructuring-bind function* | 284 | ;;;;;; case load-time-value eval-when destructuring-bind function* |
| 285 | ;;;;;; defmacro* defun* gentemp gensym) "cl-macs" "cl-macs.el" "3867c0613dfd69780f561012a1dfe67b") | 285 | ;;;;;; defmacro* defun* gentemp gensym) "cl-macs" "cl-macs.el" "e10a7e42199c08dc39460f67dd2d424b") |
| 286 | ;;; Generated autoloads from cl-macs.el | 286 | ;;; Generated autoloads from cl-macs.el |
| 287 | 287 | ||
| 288 | (autoload 'gensym "cl-macs" "\ | 288 | (autoload 'gensym "cl-macs" "\ |
| @@ -672,11 +672,21 @@ from ARGLIST using FUNC: (define-modify-macro incf (&optional (n 1)) +) | |||
| 672 | 672 | ||
| 673 | (autoload 'defstruct "cl-macs" "\ | 673 | (autoload 'defstruct "cl-macs" "\ |
| 674 | Define a struct type. | 674 | Define a struct type. |
| 675 | This macro defines a new Lisp data type called NAME, which contains data | 675 | This macro defines a new data type called NAME that stores data |
| 676 | stored in SLOTs. This defines a `make-NAME' constructor, a `copy-NAME' | 676 | in SLOTs. It defines a `make-NAME' constructor, a `copy-NAME' |
| 677 | copier, a `NAME-p' predicate, and setf-able `NAME-SLOT' accessors. | 677 | copier, a `NAME-p' predicate, and slot accessors named `NAME-SLOT'. |
| 678 | You can use the accessors to set the corresponding slots, via `setf'. | ||
| 678 | 679 | ||
| 679 | \(fn (NAME OPTIONS...) (SLOT SLOT-OPTS...)...)" nil (quote macro)) | 680 | NAME may instead take the form (NAME OPTIONS...), where each |
| 681 | OPTION is either a single keyword or (KEYWORD VALUE). | ||
| 682 | See Info node `(cl)Structures' for a list of valid keywords. | ||
| 683 | |||
| 684 | Each SLOT may instead take the form (SLOT SLOT-OPTS...), where | ||
| 685 | SLOT-OPTS are keyword-value pairs for that slot. Currently, only | ||
| 686 | one keyword is supported, `:read-only'. If this has a non-nil | ||
| 687 | value, that slot cannot be set via `setf'. | ||
| 688 | |||
| 689 | \(fn NAME SLOTS...)" nil (quote macro)) | ||
| 680 | 690 | ||
| 681 | (autoload 'cl-struct-setf-expander "cl-macs" "\ | 691 | (autoload 'cl-struct-setf-expander "cl-macs" "\ |
| 682 | Not documented | 692 | Not documented |
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el index 29bb752dbf7..4e3b1fb72d9 100644 --- a/lisp/emacs-lisp/cl-macs.el +++ b/lisp/emacs-lisp/cl-macs.el | |||
| @@ -2191,11 +2191,21 @@ from ARGLIST using FUNC: (define-modify-macro incf (&optional (n 1)) +)" | |||
| 2191 | ;;;###autoload | 2191 | ;;;###autoload |
| 2192 | (defmacro defstruct (struct &rest descs) | 2192 | (defmacro defstruct (struct &rest descs) |
| 2193 | "Define a struct type. | 2193 | "Define a struct type. |
| 2194 | This macro defines a new Lisp data type called NAME, which contains data | 2194 | This macro defines a new data type called NAME that stores data |
| 2195 | stored in SLOTs. This defines a `make-NAME' constructor, a `copy-NAME' | 2195 | in SLOTs. It defines a `make-NAME' constructor, a `copy-NAME' |
| 2196 | copier, a `NAME-p' predicate, and setf-able `NAME-SLOT' accessors. | 2196 | copier, a `NAME-p' predicate, and slot accessors named `NAME-SLOT'. |
| 2197 | You can use the accessors to set the corresponding slots, via `setf'. | ||
| 2197 | 2198 | ||
| 2198 | \(fn (NAME OPTIONS...) (SLOT SLOT-OPTS...)...)" | 2199 | NAME may instead take the form (NAME OPTIONS...), where each |
| 2200 | OPTION is either a single keyword or (KEYWORD VALUE). | ||
| 2201 | See Info node `(cl)Structures' for a list of valid keywords. | ||
| 2202 | |||
| 2203 | Each SLOT may instead take the form (SLOT SLOT-OPTS...), where | ||
| 2204 | SLOT-OPTS are keyword-value pairs for that slot. Currently, only | ||
| 2205 | one keyword is supported, `:read-only'. If this has a non-nil | ||
| 2206 | value, that slot cannot be set via `setf'. | ||
| 2207 | |||
| 2208 | \(fn NAME SLOTS...)" | ||
| 2199 | (let* ((name (if (consp struct) (car struct) struct)) | 2209 | (let* ((name (if (consp struct) (car struct) struct)) |
| 2200 | (opts (cdr-safe struct)) | 2210 | (opts (cdr-safe struct)) |
| 2201 | (slots nil) | 2211 | (slots nil) |
diff --git a/lisp/emulation/edt.el b/lisp/emulation/edt.el index 40c7d887c29..2abde59af90 100644 --- a/lisp/emulation/edt.el +++ b/lisp/emulation/edt.el | |||
| @@ -2107,7 +2107,7 @@ created." | |||
| 2107 | (setq edt-term "pc") | 2107 | (setq edt-term "pc") |
| 2108 | (if (or (not edt-window-system) (eq edt-window-system 'tty)) | 2108 | (if (or (not edt-window-system) (eq edt-window-system 'tty)) |
| 2109 | (setq edt-term (getenv "TERM")))) | 2109 | (setq edt-term (getenv "TERM")))) |
| 2110 | ;; Look for for terminal configuration file for this terminal type. | 2110 | ;; Look for a terminal configuration file for this terminal type. |
| 2111 | ;; Otherwise, load the user's custom configuration file. | 2111 | ;; Otherwise, load the user's custom configuration file. |
| 2112 | (if (or (not edt-window-system) (memq edt-window-system '(pc tty))) | 2112 | (if (or (not edt-window-system) (memq edt-window-system '(pc tty))) |
| 2113 | (progn | 2113 | (progn |
diff --git a/lisp/files.el b/lisp/files.el index b665bd25343..99e818643d0 100644 --- a/lisp/files.el +++ b/lisp/files.el | |||
| @@ -1289,7 +1289,7 @@ BODY should use the minibuffer at most once. | |||
| 1289 | Recursive uses of the minibuffer are unaffected (FUN is not | 1289 | Recursive uses of the minibuffer are unaffected (FUN is not |
| 1290 | called additional times). | 1290 | called additional times). |
| 1291 | 1291 | ||
| 1292 | This macro actually adds an auxilliary function that calls FUN, | 1292 | This macro actually adds an auxiliary function that calls FUN, |
| 1293 | rather than FUN itself, to `minibuffer-setup-hook'." | 1293 | rather than FUN itself, to `minibuffer-setup-hook'." |
| 1294 | (declare (indent 1) (debug t)) | 1294 | (declare (indent 1) (debug t)) |
| 1295 | (let ((hook (make-symbol "setup-hook"))) | 1295 | (let ((hook (make-symbol "setup-hook"))) |
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 8e7ae005762..1c1c62bb1b0 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,3 +1,17 @@ | |||
| 1 | 2010-01-17 Chong Yidong <cyd@stupidchicken.com> | ||
| 2 | |||
| 3 | * message.el (message-mail): Just pass yank-action on to message-setup. | ||
| 4 | (message-setup): Handle (FUN . ARGS) form of yank-action. | ||
| 5 | (message-with-reply-buffer, message-widen-reply) | ||
| 6 | (message-yank-original): Handle non-buffer values of | ||
| 7 | message-reply-buffer (Bug#4080). | ||
| 8 | (message-setup-1): Prefer to save message-reply-buffer as a buffer. | ||
| 9 | |||
| 10 | 2010-01-17 Juanma Barranquero <lekktu@gmail.com> | ||
| 11 | |||
| 12 | * nnmairix.el (nnmairix-group-delete-recreate-this-group): | ||
| 13 | Fix typo in docstring. | ||
| 14 | |||
| 1 | 2010-01-08 Jason Rumney <jasonr@gnu.org> | 15 | 2010-01-08 Jason Rumney <jasonr@gnu.org> |
| 2 | 16 | ||
| 3 | * sieve-manage.el (sieve-manage-parse-capability-1): Loosely match OK | 17 | * sieve-manage.el (sieve-manage-parse-capability-1): Loosely match OK |
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index c0886c2051c..7194813422a 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el | |||
| @@ -1139,6 +1139,8 @@ If stringp, use this; if non-nil, use no host name (user name only)." | |||
| 1139 | (string :tag "name") | 1139 | (string :tag "name") |
| 1140 | (sexp :tag "none" :format "%t" t))) | 1140 | (sexp :tag "none" :format "%t" t))) |
| 1141 | 1141 | ||
| 1142 | ;; This can be the name of a buffer, or a cons cell (FUNCTION . ARGS) | ||
| 1143 | ;; for yanking the original buffer. | ||
| 1142 | (defvar message-reply-buffer nil) | 1144 | (defvar message-reply-buffer nil) |
| 1143 | (defvar message-reply-headers nil | 1145 | (defvar message-reply-headers nil |
| 1144 | "The headers of the current replied article. | 1146 | "The headers of the current replied article. |
| @@ -1997,7 +1999,7 @@ see `message-narrow-to-headers-or-head'." | |||
| 1997 | 1999 | ||
| 1998 | (defmacro message-with-reply-buffer (&rest forms) | 2000 | (defmacro message-with-reply-buffer (&rest forms) |
| 1999 | "Evaluate FORMS in the reply buffer, if it exists." | 2001 | "Evaluate FORMS in the reply buffer, if it exists." |
| 2000 | `(when (and message-reply-buffer | 2002 | `(when (and (bufferp message-reply-buffer) |
| 2001 | (buffer-name message-reply-buffer)) | 2003 | (buffer-name message-reply-buffer)) |
| 2002 | (with-current-buffer message-reply-buffer | 2004 | (with-current-buffer message-reply-buffer |
| 2003 | ,@forms))) | 2005 | ,@forms))) |
| @@ -3179,7 +3181,7 @@ or in the synonym headers, defined by `message-header-synonyms'." | |||
| 3179 | "Widen the reply to include maximum recipients." | 3181 | "Widen the reply to include maximum recipients." |
| 3180 | (interactive) | 3182 | (interactive) |
| 3181 | (let ((follow-to | 3183 | (let ((follow-to |
| 3182 | (and message-reply-buffer | 3184 | (and (bufferp message-reply-buffer) |
| 3183 | (buffer-name message-reply-buffer) | 3185 | (buffer-name message-reply-buffer) |
| 3184 | (with-current-buffer message-reply-buffer | 3186 | (with-current-buffer message-reply-buffer |
| 3185 | (message-get-reply-headers t))))) | 3187 | (message-get-reply-headers t))))) |
| @@ -3674,9 +3676,16 @@ Really top post? "))) | |||
| 3674 | (point-max))) | 3676 | (point-max))) |
| 3675 | (delete-region (message-goto-body) (point-max))) | 3677 | (delete-region (message-goto-body) (point-max))) |
| 3676 | (set (make-local-variable 'message-cite-reply-above) nil))) | 3678 | (set (make-local-variable 'message-cite-reply-above) nil))) |
| 3677 | (delete-windows-on message-reply-buffer t) | 3679 | (if (bufferp message-reply-buffer) |
| 3680 | (delete-windows-on message-reply-buffer t)) | ||
| 3678 | (push-mark (save-excursion | 3681 | (push-mark (save-excursion |
| 3679 | (insert-buffer-substring message-reply-buffer) | 3682 | (cond |
| 3683 | ((bufferp message-reply-buffer) | ||
| 3684 | (insert-buffer-substring message-reply-buffer)) | ||
| 3685 | ((and (consp message-reply-buffer) | ||
| 3686 | (functionp (car message-reply-buffer))) | ||
| 3687 | (apply (car message-reply-buffer) | ||
| 3688 | (cdr message-reply-buffer)))) | ||
| 3680 | (unless (bolp) | 3689 | (unless (bolp) |
| 3681 | (insert ?\n)) | 3690 | (insert ?\n)) |
| 3682 | (point))) | 3691 | (point))) |
| @@ -6251,14 +6260,14 @@ between beginning of field and beginning of line." | |||
| 6251 | nil | 6260 | nil |
| 6252 | mua))) | 6261 | mua))) |
| 6253 | 6262 | ||
| 6254 | (defun message-setup (headers &optional replybuffer actions | 6263 | ;; YANK-ACTION, if non-nil, can be a buffer or a yank action of the |
| 6264 | ;; form (FUNCTION . ARGS). | ||
| 6265 | (defun message-setup (headers &optional yank-action actions | ||
| 6255 | continue switch-function) | 6266 | continue switch-function) |
| 6256 | (let ((mua (message-mail-user-agent)) | 6267 | (let ((mua (message-mail-user-agent)) |
| 6257 | subject to field yank-action) | 6268 | subject to field) |
| 6258 | (if (not (and message-this-is-mail mua)) | 6269 | (if (not (and message-this-is-mail mua)) |
| 6259 | (message-setup-1 headers replybuffer actions) | 6270 | (message-setup-1 headers yank-action actions) |
| 6260 | (if replybuffer | ||
| 6261 | (setq yank-action (list 'insert-buffer replybuffer))) | ||
| 6262 | (setq headers (copy-sequence headers)) | 6271 | (setq headers (copy-sequence headers)) |
| 6263 | (setq field (assq 'Subject headers)) | 6272 | (setq field (assq 'Subject headers)) |
| 6264 | (when field | 6273 | (when field |
| @@ -6275,7 +6284,11 @@ between beginning of field and beginning of line." | |||
| 6275 | (format "%s" (car item)) | 6284 | (format "%s" (car item)) |
| 6276 | (cdr item))) | 6285 | (cdr item))) |
| 6277 | headers) | 6286 | headers) |
| 6278 | continue switch-function yank-action actions))))) | 6287 | continue switch-function |
| 6288 | (if (bufferp yank-action) | ||
| 6289 | (list 'insert-buffer yank-action) | ||
| 6290 | yank-action) | ||
| 6291 | actions))))) | ||
| 6279 | 6292 | ||
| 6280 | (defun message-headers-to-generate (headers included-headers excluded-headers) | 6293 | (defun message-headers-to-generate (headers included-headers excluded-headers) |
| 6281 | "Return a list that includes all headers from HEADERS. | 6294 | "Return a list that includes all headers from HEADERS. |
| @@ -6302,12 +6315,16 @@ are not included." | |||
| 6302 | (push header result))) | 6315 | (push header result))) |
| 6303 | (nreverse result))) | 6316 | (nreverse result))) |
| 6304 | 6317 | ||
| 6305 | (defun message-setup-1 (headers &optional replybuffer actions) | 6318 | (defun message-setup-1 (headers &optional yank-action actions) |
| 6306 | (dolist (action actions) | 6319 | (dolist (action actions) |
| 6307 | (condition-case nil | 6320 | (condition-case nil |
| 6308 | (add-to-list 'message-send-actions | 6321 | (add-to-list 'message-send-actions |
| 6309 | `(apply ',(car action) ',(cdr action))))) | 6322 | `(apply ',(car action) ',(cdr action))))) |
| 6310 | (setq message-reply-buffer replybuffer) | 6323 | (setq message-reply-buffer |
| 6324 | (if (and (consp yank-action) | ||
| 6325 | (eq (car yank-action) 'insert-buffer)) | ||
| 6326 | (nth 1 yank-action) | ||
| 6327 | yank-action)) | ||
| 6311 | (goto-char (point-min)) | 6328 | (goto-char (point-min)) |
| 6312 | ;; Insert all the headers. | 6329 | ;; Insert all the headers. |
| 6313 | (mail-header-format | 6330 | (mail-header-format |
| @@ -6438,7 +6455,7 @@ OTHER-HEADERS is an alist of header/value pairs. CONTINUE says whether | |||
| 6438 | to continue editing a message already being composed. SWITCH-FUNCTION | 6455 | to continue editing a message already being composed. SWITCH-FUNCTION |
| 6439 | is a function used to switch to and display the mail buffer." | 6456 | is a function used to switch to and display the mail buffer." |
| 6440 | (interactive) | 6457 | (interactive) |
| 6441 | (let ((message-this-is-mail t) replybuffer) | 6458 | (let ((message-this-is-mail t)) |
| 6442 | (unless (message-mail-user-agent) | 6459 | (unless (message-mail-user-agent) |
| 6443 | (message-pop-to-buffer | 6460 | (message-pop-to-buffer |
| 6444 | ;; Search for the existing message buffer if `continue' is non-nil. | 6461 | ;; Search for the existing message buffer if `continue' is non-nil. |
| @@ -6449,15 +6466,11 @@ is a function used to switch to and display the mail buffer." | |||
| 6449 | message-generate-new-buffers))) | 6466 | message-generate-new-buffers))) |
| 6450 | (message-buffer-name "mail" to)) | 6467 | (message-buffer-name "mail" to)) |
| 6451 | switch-function)) | 6468 | switch-function)) |
| 6452 | ;; FIXME: message-mail should do something if YANK-ACTION is not | ||
| 6453 | ;; insert-buffer. | ||
| 6454 | (and (consp yank-action) (eq (car yank-action) 'insert-buffer) | ||
| 6455 | (setq replybuffer (nth 1 yank-action))) | ||
| 6456 | (message-setup | 6469 | (message-setup |
| 6457 | (nconc | 6470 | (nconc |
| 6458 | `((To . ,(or to "")) (Subject . ,(or subject ""))) | 6471 | `((To . ,(or to "")) (Subject . ,(or subject ""))) |
| 6459 | (when other-headers other-headers)) | 6472 | (when other-headers other-headers)) |
| 6460 | replybuffer send-actions continue switch-function) | 6473 | yank-action send-actions continue switch-function) |
| 6461 | ;; FIXME: Should return nil if failure. | 6474 | ;; FIXME: Should return nil if failure. |
| 6462 | t)) | 6475 | t)) |
| 6463 | 6476 | ||
diff --git a/lisp/gnus/nnmairix.el b/lisp/gnus/nnmairix.el index 215b6d6072a..e39149b996c 100644 --- a/lisp/gnus/nnmairix.el +++ b/lisp/gnus/nnmairix.el | |||
| @@ -1104,7 +1104,7 @@ with `nnmairix-mairix-update-options'." | |||
| 1104 | 1104 | ||
| 1105 | (defun nnmairix-group-delete-recreate-this-group () | 1105 | (defun nnmairix-group-delete-recreate-this-group () |
| 1106 | "Deletes and recreates group on the back end. | 1106 | "Deletes and recreates group on the back end. |
| 1107 | You can use this function on nnmairix groups which continously | 1107 | You can use this function on nnmairix groups which continuously |
| 1108 | show wrong article counts." | 1108 | show wrong article counts." |
| 1109 | (interactive) | 1109 | (interactive) |
| 1110 | (let* ((group (gnus-group-group-name)) | 1110 | (let* ((group (gnus-group-group-name)) |
diff --git a/lisp/mail/sendmail.el b/lisp/mail/sendmail.el index 7004133f584..da8fe85da82 100644 --- a/lisp/mail/sendmail.el +++ b/lisp/mail/sendmail.el | |||
| @@ -1505,14 +1505,18 @@ and don't delete any header fields." | |||
| 1505 | (interactive "P") | 1505 | (interactive "P") |
| 1506 | (if mail-reply-action | 1506 | (if mail-reply-action |
| 1507 | (let ((start (point)) | 1507 | (let ((start (point)) |
| 1508 | (original mail-reply-action)) | 1508 | (original mail-reply-action) |
| 1509 | (omark (mark t))) | ||
| 1509 | (and (consp original) (eq (car original) 'insert-buffer) | 1510 | (and (consp original) (eq (car original) 'insert-buffer) |
| 1510 | (setq original (nth 1 original))) | 1511 | (setq original (nth 1 original))) |
| 1511 | (if (consp original) | 1512 | (if (consp original) |
| 1512 | (apply (car original) (cdr original)) | 1513 | (progn |
| 1513 | ;; If the original message is in another window in the same frame, | 1514 | ;; Call yank function, and set the mark if it doesn't. |
| 1514 | ;; delete that window to save screen space. | 1515 | (apply (car original) (cdr original)) |
| 1515 | ;; t means don't alter other frames. | 1516 | (if (eq omark (mark t)) |
| 1517 | (push-mark (point)))) | ||
| 1518 | ;; If the original message is in another window in the same | ||
| 1519 | ;; frame, delete that window to save space. | ||
| 1516 | (delete-windows-on original t) | 1520 | (delete-windows-on original t) |
| 1517 | (with-no-warnings | 1521 | (with-no-warnings |
| 1518 | ;; We really want this to set mark. | 1522 | ;; We really want this to set mark. |
diff --git a/lisp/nxml/nxml-mode.el b/lisp/nxml/nxml-mode.el index 9fefd304b44..8bcde7a3a22 100644 --- a/lisp/nxml/nxml-mode.el +++ b/lisp/nxml/nxml-mode.el | |||
| @@ -882,16 +882,17 @@ Called with `font-lock-beg' and `font-lock-end' dynamically bound." | |||
| 882 | (defun nxml-extend-after-change-region (start end pre-change-length) | 882 | (defun nxml-extend-after-change-region (start end pre-change-length) |
| 883 | (unless nxml-degraded | 883 | (unless nxml-degraded |
| 884 | (setq nxml-last-fontify-end nil) | 884 | (setq nxml-last-fontify-end nil) |
| 885 | 885 | (let ((region (nxml-with-degradation-on-error | |
| 886 | (nxml-with-degradation-on-error 'nxml-extend-after-change-region | 886 | 'nxml-extend-after-change-region |
| 887 | (save-excursion | 887 | (save-excursion |
| 888 | (save-restriction | 888 | (save-restriction |
| 889 | (widen) | 889 | (widen) |
| 890 | (save-match-data | 890 | (save-match-data |
| 891 | (nxml-with-invisible-motion | 891 | (nxml-with-invisible-motion |
| 892 | (nxml-with-unmodifying-text-property-changes | 892 | (nxml-with-unmodifying-text-property-changes |
| 893 | (nxml-extend-after-change-region1 | 893 | (nxml-extend-after-change-region1 |
| 894 | start end pre-change-length))))))))) | 894 | start end pre-change-length))))))))) |
| 895 | (if (consp region) region)))) | ||
| 895 | 896 | ||
| 896 | (defun nxml-extend-after-change-region1 (start end pre-change-length) | 897 | (defun nxml-extend-after-change-region1 (start end pre-change-length) |
| 897 | (let* ((region (nxml-after-change1 start end pre-change-length)) | 898 | (let* ((region (nxml-after-change1 start end pre-change-length)) |
diff --git a/lisp/pcmpl-unix.el b/lisp/pcmpl-unix.el index 546d4a2591d..9282fe87b5a 100644 --- a/lisp/pcmpl-unix.el +++ b/lisp/pcmpl-unix.el | |||
| @@ -85,7 +85,10 @@ with the SSH option \"HashKnownHosts no\"." | |||
| 85 | (while (pcomplete-here (funcall pcomplete-command-completion-function)))) | 85 | (while (pcomplete-here (funcall pcomplete-command-completion-function)))) |
| 86 | 86 | ||
| 87 | (defun pcmpl-unix-read-passwd-file (file) | 87 | (defun pcmpl-unix-read-passwd-file (file) |
| 88 | "Return an alist correlating gids to group names in FILE." | 88 | "Return an alist correlating gids to group names in FILE. |
| 89 | |||
| 90 | If FILE is in hashed format (as described in the OpenSSH | ||
| 91 | documentation), this function returns nil." | ||
| 89 | (let (names) | 92 | (let (names) |
| 90 | (when (file-readable-p file) | 93 | (when (file-readable-p file) |
| 91 | (with-temp-buffer | 94 | (with-temp-buffer |
diff --git a/lisp/progmodes/ada-mode.el b/lisp/progmodes/ada-mode.el index 2b94fdb25ff..03fec1beb77 100644 --- a/lisp/progmodes/ada-mode.el +++ b/lisp/progmodes/ada-mode.el | |||
| @@ -590,8 +590,25 @@ This variable defines several rules to use to align different lines.") | |||
| 590 | ;; FIXME: make this customizable | 590 | ;; FIXME: make this customizable |
| 591 | 591 | ||
| 592 | (defconst ada-ident-re | 592 | (defconst ada-ident-re |
| 593 | "\\(\\sw\\|[_.]\\)+" | 593 | "[[:alpha:]]\\(?:[_[:alnum:]]\\)*" |
| 594 | "Regexp matching Ada (qualified) identifiers.") | 594 | ;; [:alnum:] matches any multibyte word constituent, as well as |
| 595 | ;; Latin-1 letters and numbers. This allows __ and trailing _; | ||
| 596 | ;; someone (emacs bug#1919) proposed [^\W_] to fix that, but \W does | ||
| 597 | ;; _not_ mean "not word constituent" inside a character alternative. | ||
| 598 | "Regexp matching an Ada identifier.") | ||
| 599 | |||
| 600 | (defconst ada-goto-label-re | ||
| 601 | (concat "<<" ada-ident-re ">>") | ||
| 602 | "Regexp matching a goto label.") | ||
| 603 | |||
| 604 | (defconst ada-block-label-re | ||
| 605 | (concat ada-ident-re "[ \t\n]*:[^=]") | ||
| 606 | "Regexp matching a block label. | ||
| 607 | Note that this also matches a variable declaration.") | ||
| 608 | |||
| 609 | (defconst ada-label-re | ||
| 610 | (concat "\\(?:" ada-block-label-re "\\)\\|\\(?:" ada-goto-label-re "\\)") | ||
| 611 | "Regexp matching a goto or block label.") | ||
| 595 | 612 | ||
| 596 | ;; "with" needs to be included in the regexp, to match generic subprogram parameters | 613 | ;; "with" needs to be included in the regexp, to match generic subprogram parameters |
| 597 | ;; Similarly, we put '[not] overriding' on the same line with 'procedure' etc. | 614 | ;; Similarly, we put '[not] overriding' on the same line with 'procedure' etc. |
| @@ -678,10 +695,6 @@ A new statement starts after these.") | |||
| 678 | "protected" "task") t) "\\>")) | 695 | "protected" "task") t) "\\>")) |
| 679 | "Regexp for the start of a subprogram.") | 696 | "Regexp for the start of a subprogram.") |
| 680 | 697 | ||
| 681 | (defvar ada-named-block-re | ||
| 682 | "[ \t]*\\(\\sw\\|_\\)+[ \t]*:[^=]" | ||
| 683 | "Regexp of the name of a block or loop.") | ||
| 684 | |||
| 685 | (defvar ada-contextual-menu-on-identifier nil | 698 | (defvar ada-contextual-menu-on-identifier nil |
| 686 | "Set to true when the right mouse button was clicked on an identifier.") | 699 | "Set to true when the right mouse button was clicked on an identifier.") |
| 687 | 700 | ||
| @@ -2108,10 +2121,18 @@ Return the equivalent internal parameter list." | |||
| 2108 | 2121 | ||
| 2109 | (defun ada-indent-newline-indent-conditional () | 2122 | (defun ada-indent-newline-indent-conditional () |
| 2110 | "Insert a newline and indent it. | 2123 | "Insert a newline and indent it. |
| 2111 | The original line is indented first if `ada-indent-after-return' is non-nil." | 2124 | The original line is re-indented if `ada-indent-after-return' is non-nil." |
| 2112 | (interactive "*") | 2125 | (interactive "*") |
| 2113 | (if ada-indent-after-return (ada-indent-current)) | 2126 | ;; If at end of buffer (entering brand new code), some indentation |
| 2127 | ;; fails. For example, a block label requires whitespace following | ||
| 2128 | ;; the : to be recognized. So we do the newline first, then | ||
| 2129 | ;; go back and indent the original line. | ||
| 2114 | (newline) | 2130 | (newline) |
| 2131 | (if ada-indent-after-return | ||
| 2132 | (progn | ||
| 2133 | (forward-char -1) | ||
| 2134 | (ada-indent-current) | ||
| 2135 | (forward-char 1))) | ||
| 2115 | (ada-indent-current)) | 2136 | (ada-indent-current)) |
| 2116 | 2137 | ||
| 2117 | (defun ada-justified-indent-current () | 2138 | (defun ada-justified-indent-current () |
| @@ -2335,8 +2356,8 @@ and the offset." | |||
| 2335 | (progn | 2356 | (progn |
| 2336 | (goto-char (car match-cons)) | 2357 | (goto-char (car match-cons)) |
| 2337 | (save-excursion | 2358 | (save-excursion |
| 2338 | (beginning-of-line) | 2359 | (back-to-indentation) |
| 2339 | (if (looking-at ada-named-block-re) | 2360 | (if (looking-at ada-block-label-re) |
| 2340 | (setq label (- ada-label-indent)))))))) | 2361 | (setq label (- ada-label-indent)))))))) |
| 2341 | 2362 | ||
| 2342 | ;; found 'record' => | 2363 | ;; found 'record' => |
| @@ -2648,8 +2669,9 @@ and the offset." | |||
| 2648 | ;; label | 2669 | ;; label |
| 2649 | ;;--------------------------------- | 2670 | ;;--------------------------------- |
| 2650 | 2671 | ||
| 2651 | ((looking-at "\\(\\sw\\|_\\)+[ \t\n]*:[^=]") | 2672 | ((looking-at ada-label-re) |
| 2652 | (if (ada-in-decl-p) | 2673 | (if (ada-in-decl-p) |
| 2674 | ;; ada-block-label-re matches variable declarations | ||
| 2653 | (ada-indent-on-previous-lines nil orgpoint orgpoint) | 2675 | (ada-indent-on-previous-lines nil orgpoint orgpoint) |
| 2654 | (append (ada-indent-on-previous-lines nil orgpoint orgpoint) | 2676 | (append (ada-indent-on-previous-lines nil orgpoint orgpoint) |
| 2655 | '(ada-label-indent)))) | 2677 | '(ada-label-indent)))) |
| @@ -2674,9 +2696,10 @@ if INITIAL-POS is non-nil, moves point to INITIAL-POS before calculation." | |||
| 2674 | (if (ada-in-paramlist-p) | 2696 | (if (ada-in-paramlist-p) |
| 2675 | (ada-get-indent-paramlist) | 2697 | (ada-get-indent-paramlist) |
| 2676 | 2698 | ||
| 2677 | ;; move to beginning of current statement | 2699 | ;; Move to beginning of current statement. If already at a |
| 2700 | ;; statement start, move to beginning of enclosing statement. | ||
| 2678 | (unless nomove | 2701 | (unless nomove |
| 2679 | (ada-goto-stmt-start)) | 2702 | (ada-goto-stmt-start t)) |
| 2680 | 2703 | ||
| 2681 | ;; no beginning found => don't change indentation | 2704 | ;; no beginning found => don't change indentation |
| 2682 | (if (and (eq oldpoint (point)) | 2705 | (if (and (eq oldpoint (point)) |
| @@ -2702,6 +2725,12 @@ if INITIAL-POS is non-nil, moves point to INITIAL-POS before calculation." | |||
| 2702 | ((looking-at ada-block-start-re) | 2725 | ((looking-at ada-block-start-re) |
| 2703 | (ada-get-indent-block-start orgpoint)) | 2726 | (ada-get-indent-block-start orgpoint)) |
| 2704 | ;; | 2727 | ;; |
| 2728 | ((looking-at ada-block-label-re) ; also variable declaration | ||
| 2729 | (ada-get-indent-block-label orgpoint)) | ||
| 2730 | ;; | ||
| 2731 | ((looking-at ada-goto-label-re) | ||
| 2732 | (ada-get-indent-goto-label orgpoint)) | ||
| 2733 | ;; | ||
| 2705 | ((looking-at "\\(sub\\)?type\\>") | 2734 | ((looking-at "\\(sub\\)?type\\>") |
| 2706 | (ada-get-indent-type orgpoint)) | 2735 | (ada-get-indent-type orgpoint)) |
| 2707 | ;; | 2736 | ;; |
| @@ -2717,17 +2746,8 @@ if INITIAL-POS is non-nil, moves point to INITIAL-POS before calculation." | |||
| 2717 | ((looking-at "when\\>") | 2746 | ((looking-at "when\\>") |
| 2718 | (ada-get-indent-when orgpoint)) | 2747 | (ada-get-indent-when orgpoint)) |
| 2719 | ;; | 2748 | ;; |
| 2720 | ((looking-at "\\(\\sw\\|_\\)+[ \t\n]*:[^=]") | ||
| 2721 | (ada-get-indent-label orgpoint)) | ||
| 2722 | ;; | ||
| 2723 | ((looking-at "separate\\>") | 2749 | ((looking-at "separate\\>") |
| 2724 | (ada-get-indent-nochange)) | 2750 | (ada-get-indent-nochange)) |
| 2725 | |||
| 2726 | ;; A label | ||
| 2727 | ((looking-at "<<") | ||
| 2728 | (list (+ (save-excursion (back-to-indentation) (point)) | ||
| 2729 | (- ada-label-indent)))) | ||
| 2730 | |||
| 2731 | ;; | 2751 | ;; |
| 2732 | ((looking-at "with\\>\\|use\\>") | 2752 | ((looking-at "with\\>\\|use\\>") |
| 2733 | ;; Are we still in that statement, or are we in fact looking at | 2753 | ;; Are we still in that statement, or are we in fact looking at |
| @@ -2960,6 +2980,10 @@ ORGPOINT is the limit position used in the calculation." | |||
| 2960 | (car (ada-search-ignore-string-comment "\\<type\\>" t))) | 2980 | (car (ada-search-ignore-string-comment "\\<type\\>" t))) |
| 2961 | 'ada-indent))) | 2981 | 'ada-indent))) |
| 2962 | 2982 | ||
| 2983 | ;; Special case for label: | ||
| 2984 | ((looking-at ada-block-label-re) | ||
| 2985 | (list (- (save-excursion (back-to-indentation) (point)) ada-label-indent) 'ada-indent)) | ||
| 2986 | |||
| 2963 | ;; nothing follows the block-start | 2987 | ;; nothing follows the block-start |
| 2964 | (t | 2988 | (t |
| 2965 | (list (save-excursion (back-to-indentation) (point)) 'ada-indent))))) | 2989 | (list (save-excursion (back-to-indentation) (point)) 'ada-indent))))) |
| @@ -3055,10 +3079,10 @@ ORGPOINT is the limit position used in the calculation." | |||
| 3055 | (list (save-excursion (back-to-indentation) (point)) | 3079 | (list (save-excursion (back-to-indentation) (point)) |
| 3056 | 'ada-broken-decl-indent)) | 3080 | 'ada-broken-decl-indent)) |
| 3057 | 3081 | ||
| 3058 | ;; This one is called in every over case when indenting a line at the | 3082 | ;; This one is called in every other case when indenting a line at the |
| 3059 | ;; top level | 3083 | ;; top level |
| 3060 | (t | 3084 | (t |
| 3061 | (if (looking-at ada-named-block-re) | 3085 | (if (looking-at (concat "[ \t]*" ada-block-label-re)) |
| 3062 | (setq label (- ada-label-indent)) | 3086 | (setq label (- ada-label-indent)) |
| 3063 | 3087 | ||
| 3064 | (let (p) | 3088 | (let (p) |
| @@ -3087,7 +3111,7 @@ ORGPOINT is the limit position used in the calculation." | |||
| 3087 | (list (+ (save-excursion (back-to-indentation) (point)) label) | 3111 | (list (+ (save-excursion (back-to-indentation) (point)) label) |
| 3088 | 'ada-broken-indent))))))) | 3112 | 'ada-broken-indent))))))) |
| 3089 | 3113 | ||
| 3090 | (defun ada-get-indent-label (orgpoint) | 3114 | (defun ada-get-indent-block-label (orgpoint) |
| 3091 | "Calculate the indentation when before a label or variable declaration. | 3115 | "Calculate the indentation when before a label or variable declaration. |
| 3092 | ORGPOINT is the limit position used in the calculation." | 3116 | ORGPOINT is the limit position used in the calculation." |
| 3093 | (let ((match-cons nil) | 3117 | (let ((match-cons nil) |
| @@ -3119,6 +3143,16 @@ ORGPOINT is the limit position used in the calculation." | |||
| 3119 | (t | 3143 | (t |
| 3120 | (list cur-indent '(- ada-label-indent)))))) | 3144 | (list cur-indent '(- ada-label-indent)))))) |
| 3121 | 3145 | ||
| 3146 | (defun ada-get-indent-goto-label (orgpoint) | ||
| 3147 | "Calculate the indentation when at a goto label." | ||
| 3148 | (search-forward ">>") | ||
| 3149 | (ada-goto-next-non-ws) | ||
| 3150 | (if (>= (point) orgpoint) | ||
| 3151 | ;; labeled statement is the one we need to indent | ||
| 3152 | (list (- (point) ada-label-indent)) | ||
| 3153 | ;; else indentation is indent for labeled statement | ||
| 3154 | (ada-indent-on-previous-lines t orgpoint))) | ||
| 3155 | |||
| 3122 | (defun ada-get-indent-loop (orgpoint) | 3156 | (defun ada-get-indent-loop (orgpoint) |
| 3123 | "Calculate the indentation when just before a loop or a for ... use. | 3157 | "Calculate the indentation when just before a loop or a for ... use. |
| 3124 | ORGPOINT is the limit position used in the calculation." | 3158 | ORGPOINT is the limit position used in the calculation." |
| @@ -3127,8 +3161,8 @@ ORGPOINT is the limit position used in the calculation." | |||
| 3127 | 3161 | ||
| 3128 | ;; If looking at a named block, skip the label | 3162 | ;; If looking at a named block, skip the label |
| 3129 | (label (save-excursion | 3163 | (label (save-excursion |
| 3130 | (beginning-of-line) | 3164 | (back-to-indentation) |
| 3131 | (if (looking-at ada-named-block-re) | 3165 | (if (looking-at ada-block-label-re) |
| 3132 | (- ada-label-indent) | 3166 | (- ada-label-indent) |
| 3133 | 0)))) | 3167 | 0)))) |
| 3134 | 3168 | ||
| @@ -3286,7 +3320,7 @@ ORGPOINT is the limit position used in the calculation." | |||
| 3286 | ;; -- searching and matching | 3320 | ;; -- searching and matching |
| 3287 | ;; ----------------------------------------------------------- | 3321 | ;; ----------------------------------------------------------- |
| 3288 | 3322 | ||
| 3289 | (defun ada-goto-stmt-start () | 3323 | (defun ada-goto-stmt-start (&optional ignore-goto-label) |
| 3290 | "Move point to the beginning of the statement that point is in or after. | 3324 | "Move point to the beginning of the statement that point is in or after. |
| 3291 | Return the new position of point. | 3325 | Return the new position of point. |
| 3292 | As a special case, if we are looking at a closing parenthesis, skip to the | 3326 | As a special case, if we are looking at a closing parenthesis, skip to the |
| @@ -3304,7 +3338,7 @@ open parenthesis." | |||
| 3304 | (progn | 3338 | (progn |
| 3305 | (unless (save-excursion | 3339 | (unless (save-excursion |
| 3306 | (goto-char (cdr match-dat)) | 3340 | (goto-char (cdr match-dat)) |
| 3307 | (ada-goto-next-non-ws orgpoint)) | 3341 | (ada-goto-next-non-ws orgpoint ignore-goto-label)) |
| 3308 | ;; | 3342 | ;; |
| 3309 | ;; nothing follows => it's the end-statement directly in | 3343 | ;; nothing follows => it's the end-statement directly in |
| 3310 | ;; front of point => search again | 3344 | ;; front of point => search again |
| @@ -3326,7 +3360,7 @@ open parenthesis." | |||
| 3326 | (goto-char (point-min)) | 3360 | (goto-char (point-min)) |
| 3327 | ;; | 3361 | ;; |
| 3328 | ;; skip to the very first statement, if there is one | 3362 | ;; skip to the very first statement, if there is one |
| 3329 | ;; | 3363 | ;; |
| 3330 | (unless (ada-goto-next-non-ws orgpoint) | 3364 | (unless (ada-goto-next-non-ws orgpoint) |
| 3331 | (goto-char orgpoint)))) | 3365 | (goto-char orgpoint)))) |
| 3332 | (point))) | 3366 | (point))) |
| @@ -3388,18 +3422,25 @@ is the end of the match." | |||
| 3388 | nil))) | 3422 | nil))) |
| 3389 | 3423 | ||
| 3390 | 3424 | ||
| 3391 | (defun ada-goto-next-non-ws (&optional limit) | 3425 | (defun ada-goto-next-non-ws (&optional limit skip-goto-label) |
| 3392 | "Skip white spaces, newlines and comments to next non-ws character. | 3426 | "Skip to next non-whitespace character. |
| 3427 | Skips spaces, newlines and comments, and possibly goto labels. | ||
| 3428 | Return `point' if moved, nil if not. | ||
| 3393 | Stop the search at LIMIT. | 3429 | Stop the search at LIMIT. |
| 3394 | Do not call this function from within a string." | 3430 | Do not call this function from within a string." |
| 3395 | (unless limit | 3431 | (unless limit |
| 3396 | (setq limit (point-max))) | 3432 | (setq limit (point-max))) |
| 3397 | (while (and (<= (point) limit) | 3433 | (while (and (<= (point) limit) |
| 3398 | (progn (forward-comment 10000) | 3434 | (or (progn (forward-comment 10000) |
| 3399 | (if (and (not (eobp)) | 3435 | (if (and (not (eobp)) |
| 3400 | (save-excursion (forward-char 1) | 3436 | (save-excursion (forward-char 1) |
| 3401 | (ada-in-string-p))) | 3437 | (ada-in-string-p))) |
| 3402 | (progn (forward-sexp 1) t))))) | 3438 | (progn (forward-sexp 1) t))) |
| 3439 | (and skip-goto-label | ||
| 3440 | (looking-at ada-goto-label-re) | ||
| 3441 | (progn | ||
| 3442 | (goto-char (match-end 0)) | ||
| 3443 | t))))) | ||
| 3403 | (if (< (point) limit) | 3444 | (if (< (point) limit) |
| 3404 | (point) | 3445 | (point) |
| 3405 | nil) | 3446 | nil) |
| @@ -3426,9 +3467,7 @@ Return the new position of point or nil if not found." | |||
| 3426 | (unless backward | 3467 | (unless backward |
| 3427 | (skip-syntax-forward "w")) | 3468 | (skip-syntax-forward "w")) |
| 3428 | (if (setq match-cons | 3469 | (if (setq match-cons |
| 3429 | (if backward | 3470 | (ada-search-ignore-string-comment "\\w" backward nil t)) |
| 3430 | (ada-search-ignore-string-comment "\\w" t nil t) | ||
| 3431 | (ada-search-ignore-string-comment "\\w" nil nil t))) | ||
| 3432 | ;; | 3471 | ;; |
| 3433 | ;; move to the beginning of the word found | 3472 | ;; move to the beginning of the word found |
| 3434 | ;; | 3473 | ;; |
diff --git a/lisp/startup.el b/lisp/startup.el index 9de08852ae2..857ad97e448 100644 --- a/lisp/startup.el +++ b/lisp/startup.el | |||
| @@ -758,7 +758,8 @@ opening the first frame (e.g. open a connection to an X server).") | |||
| 758 | (pop args))) | 758 | (pop args))) |
| 759 | 759 | ||
| 760 | (let ((done nil) | 760 | (let ((done nil) |
| 761 | (args (cdr command-line-args))) | 761 | (args (cdr command-line-args)) |
| 762 | display-arg) | ||
| 762 | 763 | ||
| 763 | ;; Figure out which user's init file to load, | 764 | ;; Figure out which user's init file to load, |
| 764 | ;; either from the environment or from the options. | 765 | ;; either from the environment or from the options. |
| @@ -794,6 +795,11 @@ opening the first frame (e.g. open a connection to an X server).") | |||
| 794 | (setq argval nil | 795 | (setq argval nil |
| 795 | argi orig-argi))))) | 796 | argi orig-argi))))) |
| 796 | (cond | 797 | (cond |
| 798 | ;; The --display arg is handled partly in C, partly in Lisp. | ||
| 799 | ;; When it shows up here, we just put it back to be handled | ||
| 800 | ;; by `command-line-1'. | ||
| 801 | ((member argi '("-d" "-display")) | ||
| 802 | (setq display-arg (list argi (pop args)))) | ||
| 797 | ((member argi '("-Q" "-quick")) | 803 | ((member argi '("-Q" "-quick")) |
| 798 | (setq init-file-user nil | 804 | (setq init-file-user nil |
| 799 | site-run-file nil | 805 | site-run-file nil |
| @@ -813,8 +819,6 @@ opening the first frame (e.g. open a connection to an X server).") | |||
| 813 | (setq init-file-debug t)) | 819 | (setq init-file-debug t)) |
| 814 | ((equal argi "-iconic") | 820 | ((equal argi "-iconic") |
| 815 | (push '(visibility . icon) initial-frame-alist)) | 821 | (push '(visibility . icon) initial-frame-alist)) |
| 816 | ((member argi '("-icon-type" "-i" "-itype")) | ||
| 817 | (push '(icon-type . t) default-frame-alist)) | ||
| 818 | ((member argi '("-nbc" "-no-blinking-cursor")) | 822 | ((member argi '("-nbc" "-no-blinking-cursor")) |
| 819 | (setq no-blinking-cursor t)) | 823 | (setq no-blinking-cursor t)) |
| 820 | ;; Push the popped arg back on the list of arguments. | 824 | ;; Push the popped arg back on the list of arguments. |
| @@ -825,6 +829,9 @@ opening the first frame (e.g. open a connection to an X server).") | |||
| 825 | (and argval | 829 | (and argval |
| 826 | (error "Option `%s' doesn't allow an argument" argi)))) | 830 | (error "Option `%s' doesn't allow an argument" argi)))) |
| 827 | 831 | ||
| 832 | ;; Re-attach the --display arg. | ||
| 833 | (and display-arg (setq args (append display-arg args))) | ||
| 834 | |||
| 828 | ;; Re-attach the program name to the front of the arg list. | 835 | ;; Re-attach the program name to the front of the arg list. |
| 829 | (and command-line-args | 836 | (and command-line-args |
| 830 | (setcdr command-line-args args))) | 837 | (setcdr command-line-args args))) |
diff --git a/lisp/textmodes/artist.el b/lisp/textmodes/artist.el index 00896be3c6e..66d831968d1 100644 --- a/lisp/textmodes/artist.el +++ b/lisp/textmodes/artist.el | |||
| @@ -870,7 +870,7 @@ EXIT-FN is, if non-nil, a function that is called after filling | |||
| 870 | is done. Arguments and return values for this funcion are | 870 | is done. Arguments and return values for this funcion are |
| 871 | described below. | 871 | described below. |
| 872 | DRAW-HOW defines the kind of shape. The kinds of shapes are: | 872 | DRAW-HOW defines the kind of shape. The kinds of shapes are: |
| 873 | `artist-do-continously' -- Do drawing operation continously, | 873 | `artist-do-continously' -- Do drawing operation continuously, |
| 874 | as long as the mouse button is held down. | 874 | as long as the mouse button is held down. |
| 875 | `artist-do-poly' -- Do drawing operation many times. | 875 | `artist-do-poly' -- Do drawing operation many times. |
| 876 | 1 -- Do drawing operation only once. | 876 | 1 -- Do drawing operation only once. |
| @@ -1477,7 +1477,7 @@ Keymap summary | |||
| 1477 | ; | 1477 | ; |
| 1478 | 1478 | ||
| 1479 | (defun artist-compute-popup-menu-table (menu-table) | 1479 | (defun artist-compute-popup-menu-table (menu-table) |
| 1480 | "Create a menu from from MENU-TABLE data. | 1480 | "Create a menu from MENU-TABLE data. |
| 1481 | The returned value is suitable for the `x-popup-menu' function." | 1481 | The returned value is suitable for the `x-popup-menu' function." |
| 1482 | (cons "Artist menu" | 1482 | (cons "Artist menu" |
| 1483 | (artist-compute-popup-menu-table-sub menu-table))) | 1483 | (artist-compute-popup-menu-table-sub menu-table))) |
| @@ -3879,8 +3879,8 @@ The 2-point shape SHAPE is drawn from X1, Y1 to X2, Y2." | |||
| 3879 | ;; | 3879 | ;; |
| 3880 | 3880 | ||
| 3881 | (defun artist-key-undraw-continously (x y) | 3881 | (defun artist-key-undraw-continously (x y) |
| 3882 | "Undraw current continous shape with point at X, Y." | 3882 | "Undraw current continuous shape with point at X, Y." |
| 3883 | ;; No undraw-info for continous shapes | 3883 | ;; No undraw-info for continuous shapes |
| 3884 | nil) | 3884 | nil) |
| 3885 | 3885 | ||
| 3886 | (defun artist-key-undraw-poly (x y) | 3886 | (defun artist-key-undraw-poly (x y) |
| @@ -3937,7 +3937,7 @@ The 2-point shape SHAPE is drawn from X1, Y1 to X2, Y2." | |||
| 3937 | ;; user has released the button, so the timer will always be cancelled | 3937 | ;; user has released the button, so the timer will always be cancelled |
| 3938 | ;; at that point. | 3938 | ;; at that point. |
| 3939 | (defun artist-key-draw-continously (x y) | 3939 | (defun artist-key-draw-continously (x y) |
| 3940 | "Draw current continous shape at X,Y." | 3940 | "Draw current continuous shape at X,Y." |
| 3941 | (let ((draw-fn (artist-go-get-draw-fn-from-symbol artist-curr-go))) | 3941 | (let ((draw-fn (artist-go-get-draw-fn-from-symbol artist-curr-go))) |
| 3942 | (setq artist-key-shape (artist-funcall draw-fn x y)))) | 3942 | (setq artist-key-shape (artist-funcall draw-fn x y)))) |
| 3943 | 3943 | ||
| @@ -4018,7 +4018,7 @@ Trimming here means removing white space at end of a line." | |||
| 4018 | ;; | 4018 | ;; |
| 4019 | 4019 | ||
| 4020 | (defun artist-key-do-continously-continously (x y) | 4020 | (defun artist-key-do-continously-continously (x y) |
| 4021 | "Update current continous shape at X,Y." | 4021 | "Update current continuous shape at X,Y." |
| 4022 | (let ((draw-fn (artist-go-get-draw-fn-from-symbol artist-curr-go))) | 4022 | (let ((draw-fn (artist-go-get-draw-fn-from-symbol artist-curr-go))) |
| 4023 | (artist-funcall draw-fn x y))) | 4023 | (artist-funcall draw-fn x y))) |
| 4024 | 4024 | ||
| @@ -4045,7 +4045,7 @@ Trimming here means removing white space at end of a line." | |||
| 4045 | 4045 | ||
| 4046 | (defun artist-key-do-continously-1point (x y) | 4046 | (defun artist-key-do-continously-1point (x y) |
| 4047 | "Update current 1-point shape at X,Y." | 4047 | "Update current 1-point shape at X,Y." |
| 4048 | ;; Nothing to do continously for operations | 4048 | ;; Nothing to do continuously for operations |
| 4049 | ;; where we have only one input point | 4049 | ;; where we have only one input point |
| 4050 | nil) | 4050 | nil) |
| 4051 | 4051 | ||
| @@ -4094,8 +4094,8 @@ Trimming here means removing white space at end of a line." | |||
| 4094 | 4094 | ||
| 4095 | 4095 | ||
| 4096 | (defun artist-key-set-point-continously (x y) | 4096 | (defun artist-key-set-point-continously (x y) |
| 4097 | "Set point for current continous shape at X,Y." | 4097 | "Set point for current continuous shape at X,Y." |
| 4098 | ;; Maybe set arrow-points for continous shapes | 4098 | ;; Maybe set arrow-points for continuous shapes |
| 4099 | (let ((arrow-pred (artist-go-get-arrow-pred-from-symbol artist-curr-go)) | 4099 | (let ((arrow-pred (artist-go-get-arrow-pred-from-symbol artist-curr-go)) |
| 4100 | (arrow-set-fn (artist-go-get-arrow-set-fn-from-symbol artist-curr-go)) | 4100 | (arrow-set-fn (artist-go-get-arrow-set-fn-from-symbol artist-curr-go)) |
| 4101 | (init-fn (artist-go-get-init-fn-from-symbol artist-curr-go)) | 4101 | (init-fn (artist-go-get-init-fn-from-symbol artist-curr-go)) |
| @@ -4914,7 +4914,7 @@ If optional argument STATE is positive, turn borders on." | |||
| 4914 | 4914 | ||
| 4915 | (defun artist-mouse-draw-continously (ev) | 4915 | (defun artist-mouse-draw-continously (ev) |
| 4916 | "Generic function for shapes that require 1 point as input. | 4916 | "Generic function for shapes that require 1 point as input. |
| 4917 | Operation is done continously while the mouse button is hold down. | 4917 | Operation is done continuously while the mouse button is hold down. |
| 4918 | The event, EV, is the mouse event." | 4918 | The event, EV, is the mouse event." |
| 4919 | (let* ((unshifted (artist-go-get-symbol-shift artist-curr-go nil)) | 4919 | (let* ((unshifted (artist-go-get-symbol-shift artist-curr-go nil)) |
| 4920 | (shifted (artist-go-get-symbol-shift artist-curr-go t)) | 4920 | (shifted (artist-go-get-symbol-shift artist-curr-go t)) |
| @@ -5395,8 +5395,8 @@ The event, EV, is the mouse event." | |||
| 5395 | ;; 1. If your new drawing mode falls into one of the following | 5395 | ;; 1. If your new drawing mode falls into one of the following |
| 5396 | ;; categories, goto point 2, otherwise goto point 3. | 5396 | ;; categories, goto point 2, otherwise goto point 3. |
| 5397 | ;; | 5397 | ;; |
| 5398 | ;; - Modes where the shapes are drawn continously, as long as | 5398 | ;; - Modes where the shapes are drawn continuously, as long as |
| 5399 | ;; the mouse button is held down (continous modes). | 5399 | ;; the mouse button is held down (continuous modes). |
| 5400 | ;; Example: the erase-char mode, the pen and pen-line modes. | 5400 | ;; Example: the erase-char mode, the pen and pen-line modes. |
| 5401 | ;; | 5401 | ;; |
| 5402 | ;; - Modes where the shape is made up of from 2 points to an | 5402 | ;; - Modes where the shape is made up of from 2 points to an |
| @@ -5408,7 +5408,7 @@ The event, EV, is the mouse event." | |||
| 5408 | ;; Example: lines, rectangles | 5408 | ;; Example: lines, rectangles |
| 5409 | ;; | 5409 | ;; |
| 5410 | ;; - Modes where the shape is made up of 1 point (1-point | 5410 | ;; - Modes where the shape is made up of 1 point (1-point |
| 5411 | ;; modes). This mode differs from the continous modes in | 5411 | ;; modes). This mode differs from the continuous modes in |
| 5412 | ;; that the shape is drawn only once when the mouse button | 5412 | ;; that the shape is drawn only once when the mouse button |
| 5413 | ;; is pressed. | 5413 | ;; is pressed. |
| 5414 | ;; Examples: paste, a flood-fill, vaporize modes | 5414 | ;; Examples: paste, a flood-fill, vaporize modes |
| @@ -5426,7 +5426,7 @@ The event, EV, is the mouse event." | |||
| 5426 | ;; For each of the cases below, the arguments given to the init-fn, | 5426 | ;; For each of the cases below, the arguments given to the init-fn, |
| 5427 | ;; prep-fill-fn, arrow-set-fn and exit-fn are stated. | 5427 | ;; prep-fill-fn, arrow-set-fn and exit-fn are stated. |
| 5428 | ;; | 5428 | ;; |
| 5429 | ;; If your mode matches the continous mode or the 1-point mode: | 5429 | ;; If your mode matches the continuous mode or the 1-point mode: |
| 5430 | ;; | 5430 | ;; |
| 5431 | ;; a. Create a draw-function that draws your shape. Your function | 5431 | ;; a. Create a draw-function that draws your shape. Your function |
| 5432 | ;; must take x and y as arguments. The return value is not | 5432 | ;; must take x and y as arguments. The return value is not |
| @@ -5538,8 +5538,8 @@ The event, EV, is the mouse event." | |||
| 5538 | ;; - artist-key-set-point-xxx for setting a point in the | 5538 | ;; - artist-key-set-point-xxx for setting a point in the |
| 5539 | ;; mode, to be called from `artist-key-set-point-common'. | 5539 | ;; mode, to be called from `artist-key-set-point-common'. |
| 5540 | ;; | 5540 | ;; |
| 5541 | ;; - artist-key-do-continously-xxx to be called from | 5541 | ;; - artist-key-do-continuously-xxx to be called from |
| 5542 | ;; `artist-key-do-continously-common' whenever the user | 5542 | ;; `artist-key-do-continuously-common' whenever the user |
| 5543 | ;; moves around. | 5543 | ;; moves around. |
| 5544 | ;; | 5544 | ;; |
| 5545 | ;; As for the artist-mouse-draw-xxx, these two functions must | 5545 | ;; As for the artist-mouse-draw-xxx, these two functions must |
diff --git a/lisp/vc-dir.el b/lisp/vc-dir.el index 575a64c1f80..2f661e8becf 100644 --- a/lisp/vc-dir.el +++ b/lisp/vc-dir.el | |||
| @@ -874,7 +874,10 @@ If it is a file, return the corresponding cons for the file itself." | |||
| 874 | (let ((ddir default-directory)) | 874 | (let ((ddir default-directory)) |
| 875 | (when (vc-string-prefix-p ddir file) | 875 | (when (vc-string-prefix-p ddir file) |
| 876 | (if (file-directory-p file) | 876 | (if (file-directory-p file) |
| 877 | (vc-dir-resync-directory-files file) | 877 | (progn |
| 878 | (vc-dir-resync-directory-files file) | ||
| 879 | (ewoc-set-hf vc-ewoc | ||
| 880 | (vc-dir-headers vc-dir-backend default-directory) "")) | ||
| 878 | (let ((state (vc-dir-recompute-file-state file ddir))) | 881 | (let ((state (vc-dir-recompute-file-state file ddir))) |
| 879 | (vc-dir-update | 882 | (vc-dir-update |
| 880 | (list state) | 883 | (list state) |
diff --git a/lisp/vc-dispatcher.el b/lisp/vc-dispatcher.el index 310cc3dc351..40223c9010d 100644 --- a/lisp/vc-dispatcher.el +++ b/lisp/vc-dispatcher.el | |||
| @@ -320,11 +320,14 @@ case, and the process object in the asynchronous case." | |||
| 320 | (setq squeezed (nconc squeezed files))) | 320 | (setq squeezed (nconc squeezed files))) |
| 321 | (let ((exec-path (append vc-path exec-path)) | 321 | (let ((exec-path (append vc-path exec-path)) |
| 322 | ;; Add vc-path to PATH for the execution of this command. | 322 | ;; Add vc-path to PATH for the execution of this command. |
| 323 | ;; Also, since some functions need to parse the output | ||
| 324 | ;; from external commands, set LC_MESSAGES to C. | ||
| 323 | (process-environment | 325 | (process-environment |
| 324 | (cons (concat "PATH=" (getenv "PATH") | 326 | (cons (concat "PATH=" (getenv "PATH") |
| 325 | path-separator | 327 | path-separator |
| 326 | (mapconcat 'identity vc-path path-separator)) | 328 | (mapconcat 'identity vc-path path-separator)) |
| 327 | process-environment)) | 329 | (cons "LC_MESSAGES=C" |
| 330 | process-environment))) | ||
| 328 | (w32-quote-process-args t)) | 331 | (w32-quote-process-args t)) |
| 329 | (if (eq okstatus 'async) | 332 | (if (eq okstatus 'async) |
| 330 | ;; Run asynchronously. | 333 | ;; Run asynchronously. |
diff --git a/lisp/vc.el b/lisp/vc.el index 3a0cf804e26..2ca36ef4e01 100644 --- a/lisp/vc.el +++ b/lisp/vc.el | |||
| @@ -791,13 +791,23 @@ in their implementation of vc-BACKEND-diff.") | |||
| 791 | 791 | ||
| 792 | (defmacro with-vc-properties (files form settings) | 792 | (defmacro with-vc-properties (files form settings) |
| 793 | "Execute FORM, then maybe set per-file properties for FILES. | 793 | "Execute FORM, then maybe set per-file properties for FILES. |
| 794 | If any of FILES is actually a directory, then do the same for all | ||
| 795 | buffers for files in that directory. | ||
| 794 | SETTINGS is an association list of property/value pairs. After | 796 | SETTINGS is an association list of property/value pairs. After |
| 795 | executing FORM, set those properties from SETTINGS that have not yet | 797 | executing FORM, set those properties from SETTINGS that have not yet |
| 796 | been updated to their corresponding values." | 798 | been updated to their corresponding values." |
| 797 | (declare (debug t)) | 799 | (declare (debug t)) |
| 798 | `(let ((vc-touched-properties (list t))) | 800 | `(let ((vc-touched-properties (list t)) |
| 799 | ,form | 801 | (flist nil)) |
| 800 | (dolist (file ,files) | 802 | (dolist (file ,files) |
| 803 | (if (file-directory-p file) | ||
| 804 | (dolist (buffer (buffer-list)) | ||
| 805 | (let ((fname (buffer-file-name buffer))) | ||
| 806 | (when (and fname (vc-string-prefix-p file fname)) | ||
| 807 | (push fname flist)))) | ||
| 808 | (push file flist))) | ||
| 809 | ,form | ||
| 810 | (dolist (file flist) | ||
| 801 | (dolist (setting ,settings) | 811 | (dolist (setting ,settings) |
| 802 | (let ((property (car setting))) | 812 | (let ((property (car setting))) |
| 803 | (unless (memq property vc-touched-properties) | 813 | (unless (memq property vc-touched-properties) |
diff --git a/src/ChangeLog b/src/ChangeLog index 98489e1d71d..e1d2ba440ab 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,24 @@ | |||
| 1 | 2010-01-16 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * xterm.c (event_handler_gdk): Block input (Bug#5037). | ||
| 4 | |||
| 5 | 2010-01-16 Chong Yidong <cyd@stupidchicken.com> | ||
| 6 | |||
| 7 | * emacs.c (standard_args): Adjust arg priorities to reflect how | ||
| 8 | they are processed in startup.el. | ||
| 9 | |||
| 10 | 2010-01-16 Andreas Schwab <schwab@linux-m68k.org> | ||
| 11 | |||
| 12 | * Makefile.in (lisp, shortlisp): Update. | ||
| 13 | |||
| 14 | 2010-01-16 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 15 | |||
| 16 | * xterm.c (x_term_init): Instead of inhibiting GC while running Lisp | ||
| 17 | code, link the new kboard into all_kboard before running Lisp code, | ||
| 18 | and protect the new terminal with GCPRO (Bug#5365). | ||
| 19 | (x_term_init): Remove unused var `atom'. | ||
| 20 | (x_delete_display, x_delete_terminal): Remove unused var `i'. | ||
| 21 | |||
| 1 | 2010-01-15 Jan Djärv <jan.h.d@swipnet.se> | 22 | 2010-01-15 Jan Djärv <jan.h.d@swipnet.se> |
| 2 | 23 | ||
| 3 | * xfns.c (x_get_current_desktop, x_get_desktop_workarea): New functions. | 24 | * xfns.c (x_get_current_desktop, x_get_desktop_workarea): New functions. |
diff --git a/src/Makefile.in b/src/Makefile.in index 1fd3a3ffe85..11facec6023 100644 --- a/src/Makefile.in +++ b/src/Makefile.in | |||
| @@ -736,13 +736,13 @@ lisp= \ | |||
| 736 | ${lispsource}emacs-lisp/map-ynp.elc \ | 736 | ${lispsource}emacs-lisp/map-ynp.elc \ |
| 737 | ${lispsource}menu-bar.elc \ | 737 | ${lispsource}menu-bar.elc \ |
| 738 | ${lispsource}international/mule.elc \ | 738 | ${lispsource}international/mule.elc \ |
| 739 | ${lispsource}international/mule-conf.el \ | 739 | ${lispsource}international/mule-conf.elc \ |
| 740 | ${lispsource}international/mule-cmds.elc \ | 740 | ${lispsource}international/mule-cmds.elc \ |
| 741 | ${lispsource}international/characters.elc \ | 741 | ${lispsource}international/characters.elc \ |
| 742 | ${lispsource}international/charprop.el \ | 742 | ${lispsource}international/charprop.el \ |
| 743 | ${lispsource}case-table.elc \ | 743 | ${lispsource}case-table.elc \ |
| 744 | ${lispsource}language/chinese.el \ | 744 | ${lispsource}language/chinese.elc \ |
| 745 | ${lispsource}language/cyrillic.el \ | 745 | ${lispsource}language/cyrillic.elc \ |
| 746 | ${lispsource}language/indian.elc \ | 746 | ${lispsource}language/indian.elc \ |
| 747 | ${lispsource}language/sinhala.el \ | 747 | ${lispsource}language/sinhala.el \ |
| 748 | ${lispsource}language/english.el \ | 748 | ${lispsource}language/english.el \ |
| @@ -760,7 +760,7 @@ lisp= \ | |||
| 760 | ${lispsource}language/tai-viet.el \ | 760 | ${lispsource}language/tai-viet.el \ |
| 761 | ${lispsource}language/thai.el \ | 761 | ${lispsource}language/thai.el \ |
| 762 | ${lispsource}language/tibetan.elc \ | 762 | ${lispsource}language/tibetan.elc \ |
| 763 | ${lispsource}language/vietnamese.el \ | 763 | ${lispsource}language/vietnamese.elc \ |
| 764 | ${lispsource}language/misc-lang.el \ | 764 | ${lispsource}language/misc-lang.el \ |
| 765 | ${lispsource}language/utf-8-lang.el \ | 765 | ${lispsource}language/utf-8-lang.el \ |
| 766 | ${lispsource}language/georgian.el \ | 766 | ${lispsource}language/georgian.el \ |
| @@ -829,12 +829,12 @@ shortlisp= \ | |||
| 829 | ../lisp/emacs-lisp/map-ynp.elc \ | 829 | ../lisp/emacs-lisp/map-ynp.elc \ |
| 830 | ../lisp/env.elc \ | 830 | ../lisp/env.elc \ |
| 831 | ../lisp/international/mule.elc \ | 831 | ../lisp/international/mule.elc \ |
| 832 | ../lisp/international/mule-conf.el \ | 832 | ../lisp/international/mule-conf.elc \ |
| 833 | ../lisp/international/mule-cmds.elc \ | 833 | ../lisp/international/mule-cmds.elc \ |
| 834 | ../lisp/international/characters.elc \ | 834 | ../lisp/international/characters.elc \ |
| 835 | ../lisp/case-table.elc \ | 835 | ../lisp/case-table.elc \ |
| 836 | ../lisp/language/chinese.el \ | 836 | ../lisp/language/chinese.elc \ |
| 837 | ../lisp/language/cyrillic.el \ | 837 | ../lisp/language/cyrillic.elc \ |
| 838 | ../lisp/language/indian.elc \ | 838 | ../lisp/language/indian.elc \ |
| 839 | ../lisp/language/sinhala.el \ | 839 | ../lisp/language/sinhala.el \ |
| 840 | ../lisp/language/english.el \ | 840 | ../lisp/language/english.el \ |
| @@ -852,7 +852,7 @@ shortlisp= \ | |||
| 852 | ../lisp/language/tai-viet.el \ | 852 | ../lisp/language/tai-viet.el \ |
| 853 | ../lisp/language/thai.el \ | 853 | ../lisp/language/thai.el \ |
| 854 | ../lisp/language/tibetan.elc \ | 854 | ../lisp/language/tibetan.elc \ |
| 855 | ../lisp/language/vietnamese.el \ | 855 | ../lisp/language/vietnamese.elc \ |
| 856 | ../lisp/language/misc-lang.el \ | 856 | ../lisp/language/misc-lang.el \ |
| 857 | ../lisp/language/utf-8-lang.el \ | 857 | ../lisp/language/utf-8-lang.el \ |
| 858 | ../lisp/language/georgian.el \ | 858 | ../lisp/language/georgian.el \ |
diff --git a/src/atimer.h b/src/atimer.h index 5ea1197e66d..fd354caf54d 100644 --- a/src/atimer.h +++ b/src/atimer.h | |||
| @@ -43,7 +43,7 @@ enum atimer_type | |||
| 43 | /* Timer is ripe at now plus an offset. */ | 43 | /* Timer is ripe at now plus an offset. */ |
| 44 | ATIMER_RELATIVE, | 44 | ATIMER_RELATIVE, |
| 45 | 45 | ||
| 46 | /* Timer runs continously. */ | 46 | /* Timer runs continuously. */ |
| 47 | ATIMER_CONTINUOUS | 47 | ATIMER_CONTINUOUS |
| 48 | }; | 48 | }; |
| 49 | 49 | ||
diff --git a/src/emacs.c b/src/emacs.c index 2f73e8b837a..71ffa998bfe 100644 --- a/src/emacs.c +++ b/src/emacs.c | |||
| @@ -1869,7 +1869,7 @@ const struct standard_args standard_args[] = | |||
| 1869 | /* -d must come last before the options handled in startup.el. */ | 1869 | /* -d must come last before the options handled in startup.el. */ |
| 1870 | { "-d", "--display", 60, 1 }, | 1870 | { "-d", "--display", 60, 1 }, |
| 1871 | { "-display", 0, 60, 1 }, | 1871 | { "-display", 0, 60, 1 }, |
| 1872 | /* Now for the options handled in startup.el. */ | 1872 | /* Now for the options handled in `command-line' (startup.el). */ |
| 1873 | { "-Q", "--quick", 55, 0 }, | 1873 | { "-Q", "--quick", 55, 0 }, |
| 1874 | { "-quick", 0, 55, 0 }, | 1874 | { "-quick", 0, 55, 0 }, |
| 1875 | { "-q", "--no-init-file", 50, 0 }, | 1875 | { "-q", "--no-init-file", 50, 0 }, |
| @@ -1878,10 +1878,12 @@ const struct standard_args standard_args[] = | |||
| 1878 | { "-u", "--user", 30, 1 }, | 1878 | { "-u", "--user", 30, 1 }, |
| 1879 | { "-user", 0, 30, 1 }, | 1879 | { "-user", 0, 30, 1 }, |
| 1880 | { "-debug-init", "--debug-init", 20, 0 }, | 1880 | { "-debug-init", "--debug-init", 20, 0 }, |
| 1881 | { "-nbi", "--no-bitmap-icon", 15, 0 }, | ||
| 1882 | { "-iconic", "--iconic", 15, 0 }, | 1881 | { "-iconic", "--iconic", 15, 0 }, |
| 1883 | { "-D", "--basic-display", 12, 0}, | 1882 | { "-D", "--basic-display", 12, 0}, |
| 1884 | { "-basic-display", 0, 12, 0}, | 1883 | { "-basic-display", 0, 12, 0}, |
| 1884 | { "-nbc", "--no-blinking-cursor", 12, 0 }, | ||
| 1885 | /* Now for the options handled in `command-line-1' (startup.el). */ | ||
| 1886 | { "-nbi", "--no-bitmap-icon", 10, 0 }, | ||
| 1885 | { "-bg", "--background-color", 10, 1 }, | 1887 | { "-bg", "--background-color", 10, 1 }, |
| 1886 | { "-background", 0, 10, 1 }, | 1888 | { "-background", 0, 10, 1 }, |
| 1887 | { "-fg", "--foreground-color", 10, 1 }, | 1889 | { "-fg", "--foreground-color", 10, 1 }, |
| @@ -1891,7 +1893,6 @@ const struct standard_args standard_args[] = | |||
| 1891 | { "-ib", "--internal-border", 10, 1 }, | 1893 | { "-ib", "--internal-border", 10, 1 }, |
| 1892 | { "-ms", "--mouse-color", 10, 1 }, | 1894 | { "-ms", "--mouse-color", 10, 1 }, |
| 1893 | { "-cr", "--cursor-color", 10, 1 }, | 1895 | { "-cr", "--cursor-color", 10, 1 }, |
| 1894 | { "-nbc", "--no-blinking-cursor", 10, 0 }, | ||
| 1895 | { "-fn", "--font", 10, 1 }, | 1896 | { "-fn", "--font", 10, 1 }, |
| 1896 | { "-font", 0, 10, 1 }, | 1897 | { "-font", 0, 10, 1 }, |
| 1897 | { "-fs", "--fullscreen", 10, 0 }, | 1898 | { "-fs", "--fullscreen", 10, 0 }, |
diff --git a/src/xdisp.c b/src/xdisp.c index ef9c7453d75..7d43f2d8bef 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -1,7 +1,8 @@ | |||
| 1 | /* Display generation from window structure and buffer text. | 1 | /* Display generation from window structure and buffer text. |
| 2 | Copyright (C) 1985, 1986, 1987, 1988, 1993, 1994, 1995, | 2 | Copyright (C) 1985, 1986, 1987, 1988, 1993, 1994, 1995, |
| 3 | 1997, 1998, 1999, 2000, 2001, 2002, 2003, | 3 | 1997, 1998, 1999, 2000, 2001, 2002, 2003, |
| 4 | 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 4 | 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
| 5 | Free Software Foundation, Inc. | ||
| 5 | 6 | ||
| 6 | This file is part of GNU Emacs. | 7 | This file is part of GNU Emacs. |
| 7 | 8 | ||
diff --git a/src/xterm.c b/src/xterm.c index 72dff200d82..1add3c415e7 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -5797,6 +5797,7 @@ event_handler_gdk (gxev, ev, data) | |||
| 5797 | { | 5797 | { |
| 5798 | XEvent *xev = (XEvent *) gxev; | 5798 | XEvent *xev = (XEvent *) gxev; |
| 5799 | 5799 | ||
| 5800 | BLOCK_INPUT; | ||
| 5800 | if (current_count >= 0) | 5801 | if (current_count >= 0) |
| 5801 | { | 5802 | { |
| 5802 | struct x_display_info *dpyinfo; | 5803 | struct x_display_info *dpyinfo; |
| @@ -5807,23 +5808,27 @@ event_handler_gdk (gxev, ev, data) | |||
| 5807 | /* Filter events for the current X input method. | 5808 | /* Filter events for the current X input method. |
| 5808 | GTK calls XFilterEvent but not for key press and release, | 5809 | GTK calls XFilterEvent but not for key press and release, |
| 5809 | so we do it here. */ | 5810 | so we do it here. */ |
| 5810 | if (xev->type == KeyPress || xev->type == KeyRelease) | 5811 | if ((xev->type == KeyPress || xev->type == KeyRelease) |
| 5811 | if (dpyinfo && x_filter_event (dpyinfo, xev)) | 5812 | && dpyinfo |
| 5812 | return GDK_FILTER_REMOVE; | 5813 | && x_filter_event (dpyinfo, xev)) |
| 5814 | { | ||
| 5815 | UNBLOCK_INPUT; | ||
| 5816 | return GDK_FILTER_REMOVE; | ||
| 5817 | } | ||
| 5813 | #endif | 5818 | #endif |
| 5814 | 5819 | ||
| 5815 | if (! dpyinfo) | 5820 | if (! dpyinfo) |
| 5816 | current_finish = X_EVENT_NORMAL; | 5821 | current_finish = X_EVENT_NORMAL; |
| 5817 | else | 5822 | else |
| 5818 | { | 5823 | current_count += |
| 5819 | current_count += | 5824 | handle_one_xevent (dpyinfo, xev, ¤t_finish, |
| 5820 | handle_one_xevent (dpyinfo, xev, ¤t_finish, | 5825 | current_hold_quit); |
| 5821 | current_hold_quit); | ||
| 5822 | } | ||
| 5823 | } | 5826 | } |
| 5824 | else | 5827 | else |
| 5825 | current_finish = x_dispatch_event (xev, xev->xany.display); | 5828 | current_finish = x_dispatch_event (xev, xev->xany.display); |
| 5826 | 5829 | ||
| 5830 | UNBLOCK_INPUT; | ||
| 5831 | |||
| 5827 | if (current_finish == X_EVENT_GOTO_OUT || current_finish == X_EVENT_DROP) | 5832 | if (current_finish == X_EVENT_GOTO_OUT || current_finish == X_EVENT_DROP) |
| 5828 | return GDK_FILTER_REMOVE; | 5833 | return GDK_FILTER_REMOVE; |
| 5829 | 5834 | ||
| @@ -9821,7 +9826,7 @@ x_wm_set_icon_pixmap (f, pixmap_id) | |||
| 9821 | { | 9826 | { |
| 9822 | Pixmap icon_pixmap, icon_mask; | 9827 | Pixmap icon_pixmap, icon_mask; |
| 9823 | 9828 | ||
| 9824 | #ifndef USE_X_TOOLKIT | 9829 | #if !defined USE_X_TOOLKIT && !defined USE_GTK |
| 9825 | Window window = FRAME_OUTER_WINDOW (f); | 9830 | Window window = FRAME_OUTER_WINDOW (f); |
| 9826 | #endif | 9831 | #endif |
| 9827 | 9832 | ||
| @@ -10076,7 +10081,6 @@ x_term_init (display_name, xrm_option, resource_name) | |||
| 10076 | int argc; | 10081 | int argc; |
| 10077 | char *argv[NUM_ARGV]; | 10082 | char *argv[NUM_ARGV]; |
| 10078 | char **argv2 = argv; | 10083 | char **argv2 = argv; |
| 10079 | GdkAtom atom; | ||
| 10080 | guint id; | 10084 | guint id; |
| 10081 | #ifndef HAVE_GTK_MULTIDISPLAY | 10085 | #ifndef HAVE_GTK_MULTIDISPLAY |
| 10082 | if (!EQ (Vinitial_window_system, Qx)) | 10086 | if (!EQ (Vinitial_window_system, Qx)) |
| @@ -10215,25 +10219,36 @@ x_term_init (display_name, xrm_option, resource_name) | |||
| 10215 | terminal->kboard = (KBOARD *) xmalloc (sizeof (KBOARD)); | 10219 | terminal->kboard = (KBOARD *) xmalloc (sizeof (KBOARD)); |
| 10216 | init_kboard (terminal->kboard); | 10220 | init_kboard (terminal->kboard); |
| 10217 | terminal->kboard->Vwindow_system = Qx; | 10221 | terminal->kboard->Vwindow_system = Qx; |
| 10222 | |||
| 10223 | /* Add the keyboard to the list before running Lisp code (via | ||
| 10224 | Qvendor_specific_keysyms below), since these are not traced | ||
| 10225 | via terminals but only through all_kboards. */ | ||
| 10226 | terminal->kboard->next_kboard = all_kboards; | ||
| 10227 | all_kboards = terminal->kboard; | ||
| 10228 | |||
| 10218 | if (!EQ (XSYMBOL (Qvendor_specific_keysyms)->function, Qunbound)) | 10229 | if (!EQ (XSYMBOL (Qvendor_specific_keysyms)->function, Qunbound)) |
| 10219 | { | 10230 | { |
| 10220 | char *vendor = ServerVendor (dpy); | 10231 | char *vendor = ServerVendor (dpy); |
| 10221 | /* Temporarily hide the partially initialized terminal, | 10232 | |
| 10222 | but make sure it doesn't get garbage collected. */ | 10233 | /* Protect terminal from GC before removing it from the |
| 10223 | int count = inhibit_garbage_collection (); | 10234 | list of terminals. */ |
| 10235 | struct gcpro gcpro1; | ||
| 10236 | Lisp_Object gcpro_term; | ||
| 10237 | XSETTERMINAL (gcpro_term, terminal); | ||
| 10238 | GCPRO1 (gcpro_term); | ||
| 10239 | |||
| 10240 | /* Temporarily hide the partially initialized terminal. */ | ||
| 10224 | terminal_list = terminal->next_terminal; | 10241 | terminal_list = terminal->next_terminal; |
| 10225 | UNBLOCK_INPUT; | 10242 | UNBLOCK_INPUT; |
| 10226 | terminal->kboard->Vsystem_key_alist | 10243 | terminal->kboard->Vsystem_key_alist |
| 10227 | = call1 (Qvendor_specific_keysyms, | 10244 | = call1 (Qvendor_specific_keysyms, |
| 10228 | vendor ? build_string (vendor) : empty_unibyte_string); | 10245 | vendor ? build_string (vendor) : empty_unibyte_string); |
| 10229 | BLOCK_INPUT; | 10246 | BLOCK_INPUT; |
| 10230 | unbind_to (count, Qnil); | ||
| 10231 | terminal->next_terminal = terminal_list; | 10247 | terminal->next_terminal = terminal_list; |
| 10232 | terminal_list = terminal; | 10248 | terminal_list = terminal; |
| 10249 | UNGCPRO; | ||
| 10233 | } | 10250 | } |
| 10234 | 10251 | ||
| 10235 | terminal->kboard->next_kboard = all_kboards; | ||
| 10236 | all_kboards = terminal->kboard; | ||
| 10237 | /* Don't let the initial kboard remain current longer than necessary. | 10252 | /* Don't let the initial kboard remain current longer than necessary. |
| 10238 | That would cause problems if a file loaded on startup tries to | 10253 | That would cause problems if a file loaded on startup tries to |
| 10239 | prompt in the mini-buffer. */ | 10254 | prompt in the mini-buffer. */ |
| @@ -10582,7 +10597,6 @@ void | |||
| 10582 | x_delete_display (dpyinfo) | 10597 | x_delete_display (dpyinfo) |
| 10583 | struct x_display_info *dpyinfo; | 10598 | struct x_display_info *dpyinfo; |
| 10584 | { | 10599 | { |
| 10585 | int i; | ||
| 10586 | struct terminal *t; | 10600 | struct terminal *t; |
| 10587 | 10601 | ||
| 10588 | /* Close all frames and delete the generic struct terminal for this | 10602 | /* Close all frames and delete the generic struct terminal for this |
| @@ -10734,7 +10748,6 @@ void | |||
| 10734 | x_delete_terminal (struct terminal *terminal) | 10748 | x_delete_terminal (struct terminal *terminal) |
| 10735 | { | 10749 | { |
| 10736 | struct x_display_info *dpyinfo = terminal->display_info.x; | 10750 | struct x_display_info *dpyinfo = terminal->display_info.x; |
| 10737 | int i; | ||
| 10738 | 10751 | ||
| 10739 | /* Protect against recursive calls. delete_frame in | 10752 | /* Protect against recursive calls. delete_frame in |
| 10740 | delete_terminal calls us back when it deletes our last frame. */ | 10753 | delete_terminal calls us back when it deletes our last frame. */ |