diff options
79 files changed, 920 insertions, 554 deletions
diff --git a/admin/ChangeLog b/admin/ChangeLog index 8fd3b828a71..a43dbe931f0 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2010-01-20 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * revdiff: Remove file that only works with CVS, and isn't really | ||
| 4 | needed with Bazaar (given the in-built revision options of bzr diff). | ||
| 5 | |||
| 1 | 2010-01-12 Glenn Morris <rgm@gnu.org> | 6 | 2010-01-12 Glenn Morris <rgm@gnu.org> |
| 2 | 7 | ||
| 3 | * emacs-pretesters, make-announcement: Use bug-gnu-emacs rather | 8 | * emacs-pretesters, make-announcement: Use bug-gnu-emacs rather |
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/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/revdiff b/admin/revdiff deleted file mode 100755 index 7a1e93a64fe..00000000000 --- a/admin/revdiff +++ /dev/null | |||
| @@ -1,137 +0,0 @@ | |||
| 1 | #! /usr/bin/perl | ||
| 2 | |||
| 3 | # Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, | ||
| 4 | # 2010 Free Software Foundation, Inc. | ||
| 5 | # | ||
| 6 | # This file is part of GNU Emacs. | ||
| 7 | |||
| 8 | # GNU Emacs is free software: you can redistribute it and/or modify | ||
| 9 | # it under the terms of the GNU General Public License as published by | ||
| 10 | # the Free Software Foundation, either version 3 of the License, or | ||
| 11 | # (at your option) any later version. | ||
| 12 | |||
| 13 | # GNU Emacs is distributed in the hope that it will be useful, | ||
| 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 16 | # GNU General Public License for more details. | ||
| 17 | |||
| 18 | # You should have received a copy of the GNU General Public License | ||
| 19 | # along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. | ||
| 20 | |||
| 21 | |||
| 22 | use File::Basename; | ||
| 23 | |||
| 24 | if (@ARGV < 3) | ||
| 25 | { | ||
| 26 | print <<USAGE; | ||
| 27 | revdiff FILE OLD NEW | ||
| 28 | |||
| 29 | Get a diff of FILE between revisions OLD and NEW. Store the | ||
| 30 | diff in a file named FILE-OLD-NEW.diff. | ||
| 31 | |||
| 32 | If OLD is `-' use FILE's current revision for OLD. If OLD is | ||
| 33 | `-<number>', use the Nth revision before the current one for OLD. | ||
| 34 | |||
| 35 | If NEW is +<number> or -<number>, build diffs between revisions OLD | ||
| 36 | and OLD +/- <number>. | ||
| 37 | |||
| 38 | Examples: | ||
| 39 | |||
| 40 | revdiff FILE - -1 get the latest change of FILE | ||
| 41 | revdiff FILE -1 +1 also gets the latest change of FILE | ||
| 42 | revdiff FILE 1.500 +2 get diffs 1.500-1.501 and 1.501-1.502. | ||
| 43 | |||
| 44 | USAGE | ||
| 45 | exit 1; | ||
| 46 | } | ||
| 47 | |||
| 48 | $file = shift @ARGV; | ||
| 49 | $old = shift @ARGV; | ||
| 50 | |||
| 51 | sub diffit | ||
| 52 | { | ||
| 53 | my ($old, $new) = @_; | ||
| 54 | print "cvs diff -r$old -r$new $file >$file-$old-$new.diff\n"; | ||
| 55 | system "cvs diff -r$old -r$new $file >$file-$old-$new.diff"; | ||
| 56 | } | ||
| 57 | |||
| 58 | sub current_revision ($) | ||
| 59 | { | ||
| 60 | my ($file) = @_; | ||
| 61 | my $dir = dirname ($file); | ||
| 62 | my $base = basename ($file); | ||
| 63 | my $entries = "$dir/CVS/Entries"; | ||
| 64 | die "Can't find $entries" unless -f $entries; | ||
| 65 | open (IN, "<$entries") or die "Cannot open $entries"; | ||
| 66 | my $rev; | ||
| 67 | while ($line = <IN>) | ||
| 68 | { | ||
| 69 | if ($line =~ m,/$base/([^/]+),) | ||
| 70 | { | ||
| 71 | $rev = $1; | ||
| 72 | break; | ||
| 73 | } | ||
| 74 | } | ||
| 75 | die "Cannot determine current revision of $file" unless $rev; | ||
| 76 | close (IN); | ||
| 77 | return $rev; | ||
| 78 | } | ||
| 79 | |||
| 80 | if ($old eq "-") | ||
| 81 | { | ||
| 82 | $old = current_revision ($file); | ||
| 83 | } | ||
| 84 | elsif ($old =~ /^-(\d+)$/) | ||
| 85 | { | ||
| 86 | my $offset = $1; | ||
| 87 | $old = current_revision ($file); | ||
| 88 | die "Internal error" unless $old =~ /(.*)\.(\d+)$/; | ||
| 89 | my $minor = $2 - $offset; | ||
| 90 | $old = sprintf ("%d.%d", $1, $minor); | ||
| 91 | } | ||
| 92 | |||
| 93 | while (@ARGV) | ||
| 94 | { | ||
| 95 | my $new = shift @ARGV; | ||
| 96 | if ($new =~ /^[+]\d+$/) | ||
| 97 | { | ||
| 98 | my $n = $new; | ||
| 99 | for ($i = 0; $i < $n; ++$i) | ||
| 100 | { | ||
| 101 | unless ($old =~ /(.*)\.(\d+)$/) | ||
| 102 | { | ||
| 103 | die "Internal error"; | ||
| 104 | } | ||
| 105 | my $j = $2 + 1; | ||
| 106 | $new = "$1.$j"; | ||
| 107 | diffit ($old, $new); | ||
| 108 | $old = $new; | ||
| 109 | } | ||
| 110 | } | ||
| 111 | elsif ($new =~ /^[-]\d+$/) | ||
| 112 | { | ||
| 113 | my $n = - $new; | ||
| 114 | for ($i = 0; $i < $n; ++$i) | ||
| 115 | { | ||
| 116 | unless ($old =~ /(.*)\.(\d+)$/) | ||
| 117 | { | ||
| 118 | die "Internal error"; | ||
| 119 | } | ||
| 120 | my $j = $2 - 1; | ||
| 121 | $new = "$1.$j"; | ||
| 122 | diffit ($new, $old); | ||
| 123 | $old = $new; | ||
| 124 | } | ||
| 125 | } | ||
| 126 | else | ||
| 127 | { | ||
| 128 | diffit ($old, $new); | ||
| 129 | $old = $new; | ||
| 130 | } | ||
| 131 | } | ||
| 132 | |||
| 133 | # Local Variables: | ||
| 134 | # mode: cperl | ||
| 135 | # End: | ||
| 136 | |||
| 137 | # arch-tag: 2798b20d-c7f2-4c78-8378-7bb529c36a09 | ||
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 8ca2b187d94..7d7002a6469 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2010-01-21 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * trouble.texi (Bugs): Fix PROBLEMS keybinding. | ||
| 4 | |||
| 1 | 2010-01-12 Glenn Morris <rgm@gnu.org> | 5 | 2010-01-12 Glenn Morris <rgm@gnu.org> |
| 2 | 6 | ||
| 3 | * trouble.texi (Checklist): Use bug-gnu-emacs rather than | 7 | * trouble.texi (Checklist): Use bug-gnu-emacs rather than |
diff --git a/doc/emacs/trouble.texi b/doc/emacs/trouble.texi index 218aa3a64d4..b0b54d572f6 100644 --- a/doc/emacs/trouble.texi +++ b/doc/emacs/trouble.texi | |||
| @@ -419,7 +419,7 @@ to do so effectively, you must know when and how to do it. | |||
| 419 | 419 | ||
| 420 | Before reporting a bug, it is a good idea to see if it is already | 420 | Before reporting a bug, it is a good idea to see if it is already |
| 421 | known. You can find the list of known problems in the file | 421 | known. You can find the list of known problems in the file |
| 422 | @file{etc/PROBLEMS} in the Emacs distribution; type @kbd{C-h C-e} to read | 422 | @file{etc/PROBLEMS} in the Emacs distribution; type @kbd{C-h C-p} to read |
| 423 | it. Some additional user-level problems can be found in @ref{Bugs and | 423 | it. Some additional user-level problems can be found in @ref{Bugs and |
| 424 | problems, , Bugs and problems, efaq, GNU Emacs FAQ}. Looking up your | 424 | problems, , Bugs and problems, efaq, GNU Emacs FAQ}. Looking up your |
| 425 | problem in these two documents might provide you with a solution or a | 425 | problem in these two documents might provide you with a solution or a |
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 471d57ed11b..3d39b108049 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog | |||
| @@ -1,3 +1,36 @@ | |||
| 1 | 2010-01-21 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 2 | |||
| 3 | * gnus.texi (Score File Format): Fix typo. | ||
| 4 | |||
| 5 | 2010-01-18 Juanma Barranquero <lekktu@gmail.com> | ||
| 6 | |||
| 7 | * ada-mode.texi (Project File Overview): Fix typo. | ||
| 8 | |||
| 9 | 2010-01-17 Chong Yidong <cyd@stupidchicken.com> | ||
| 10 | |||
| 11 | * semantic.texi: Add Richard Y. Kim credit. | ||
| 12 | |||
| 13 | * eieio.texi (Making New Objects): Fix typo (Bug#5406). | ||
| 14 | |||
| 15 | 2010-01-17 Michael Albinus <michael.albinus@gmx.de> | ||
| 16 | |||
| 17 | * tramp.texi (Frequently Asked Questions): Add GNU Emacs 23 and | ||
| 18 | SXEmacs 22 to the supported systems. New item for hung ssh sessions. | ||
| 19 | |||
| 20 | 2010-01-17 Glenn Morris <rgm@gnu.org> | ||
| 21 | |||
| 22 | * calc.texi (Reporting Bugs): Don't mention format of repository. | ||
| 23 | |||
| 24 | * woman.texi (Bugs): Make "Emacs repository" less specific, | ||
| 25 | and the URL for same more specific. | ||
| 26 | |||
| 27 | * faq.texi (Latest version of Emacs): The repository is now Bazaar. | ||
| 28 | |||
| 29 | 2010-01-17 Juanma Barranquero <lekktu@gmail.com> | ||
| 30 | |||
| 31 | * ede.texi (ede-step-project, ede-proj-target): | ||
| 32 | * tramp.texi (Remote processes): Fix typos. | ||
| 33 | |||
| 1 | 2010-01-16 Mario Lang <mlang@delysid.org> | 34 | 2010-01-16 Mario Lang <mlang@delysid.org> |
| 2 | 35 | ||
| 3 | * ede.texi (ede-target): | 36 | * ede.texi (ede-target): |
diff --git a/doc/misc/ada-mode.texi b/doc/misc/ada-mode.texi index af5dc310a58..86d63e5ed9b 100644 --- a/doc/misc/ada-mode.texi +++ b/doc/misc/ada-mode.texi | |||
| @@ -396,7 +396,7 @@ src_dir=/Projects/my_project/src_1 | |||
| 396 | src_dir=/Projects/my_project/src_2 | 396 | src_dir=/Projects/my_project/src_2 |
| 397 | @end example | 397 | @end example |
| 398 | 398 | ||
| 399 | Some variables (like @code{src_dir}) are lists; multiple occurances | 399 | Some variables (like @code{src_dir}) are lists; multiple occurrences |
| 400 | are concatenated. | 400 | are concatenated. |
| 401 | 401 | ||
| 402 | There must be no space between the variable name and ``='', and no | 402 | There must be no space between the variable name and ``='', and no |
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 bfeef343f09..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 | ||
| @@ -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/gnus.texi b/doc/misc/gnus.texi index a33a91ba6f1..75720a94da1 100644 --- a/doc/misc/gnus.texi +++ b/doc/misc/gnus.texi | |||
| @@ -21803,7 +21803,7 @@ not be loaded, even though they would normally be so, for some reason or | |||
| 21803 | other. | 21803 | other. |
| 21804 | 21804 | ||
| 21805 | @item eval | 21805 | @item eval |
| 21806 | The value of this entry will be @code{eval}el. This element will be | 21806 | The value of this entry will be @code{eval}ed. This element will be |
| 21807 | ignored when handling global score files. | 21807 | ignored when handling global score files. |
| 21808 | 21808 | ||
| 21809 | @item read-only | 21809 | @item read-only |
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/lib-src/make-docfile.c b/lib-src/make-docfile.c index af1928c63fb..eb15342ca5b 100644 --- a/lib-src/make-docfile.c +++ b/lib-src/make-docfile.c | |||
| @@ -240,10 +240,10 @@ struct rcsoc_state | |||
| 240 | /* A keyword we look for at the beginning of lines. If found, it is | 240 | /* A keyword we look for at the beginning of lines. If found, it is |
| 241 | not copied, and SAW_KEYWORD is set to true. */ | 241 | not copied, and SAW_KEYWORD is set to true. */ |
| 242 | char *keyword; | 242 | char *keyword; |
| 243 | /* The current point we've reached in an occurance of KEYWORD in | 243 | /* The current point we've reached in an occurrence of KEYWORD in |
| 244 | the input stream. */ | 244 | the input stream. */ |
| 245 | char *cur_keyword_ptr; | 245 | char *cur_keyword_ptr; |
| 246 | /* Set to true if we saw an occurance of KEYWORD. */ | 246 | /* Set to true if we saw an occurrence of KEYWORD. */ |
| 247 | int saw_keyword; | 247 | int saw_keyword; |
| 248 | }; | 248 | }; |
| 249 | 249 | ||
| @@ -354,7 +354,7 @@ scan_keyword_or_put_char (ch, state) | |||
| 354 | PRINTFLAG is positive, output string contents to outfile. If it is | 354 | PRINTFLAG is positive, output string contents to outfile. If it is |
| 355 | negative, store contents in buf. Convert escape sequences \n and | 355 | negative, store contents in buf. Convert escape sequences \n and |
| 356 | \t to newline and tab; discard \ followed by newline. | 356 | \t to newline and tab; discard \ followed by newline. |
| 357 | If SAW_USAGE is non-zero, then any occurances of the string `usage:' | 357 | If SAW_USAGE is non-zero, then any occurrences of the string `usage:' |
| 358 | at the beginning of a line will be removed, and *SAW_USAGE set to | 358 | at the beginning of a line will be removed, and *SAW_USAGE set to |
| 359 | true if any were encountered. */ | 359 | true if any were encountered. */ |
| 360 | 360 | ||
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 5ff2d7b24c0..c59ecbae67b 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,9 +1,219 @@ | |||
| 1 | 2010-01-22 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * mail/rmailmm.el (rmail-mime-handle): Don't set the buffer to unibyte | ||
| 4 | just because we see "encoding: 8bit". | ||
| 5 | * mail/rmail.el (rmail-show-message-1): Decode the body's QP into bytes. | ||
| 6 | |||
| 7 | 2010-01-22 Chong Yidong <cyd@stupidchicken.com> | ||
| 8 | |||
| 9 | * isearch.el (isearch-allow-scroll): Doc fix (Bug#5446). | ||
| 10 | |||
| 11 | 2010-01-22 Eli Zaretskii <eliz@gnu.org> | ||
| 12 | |||
| 13 | * jka-compr.el (jka-compr-load): If load-file is not in | ||
| 14 | load-history, try its file-truename version. (bug#5447) | ||
| 15 | |||
| 16 | 2010-01-21 Alan Mackenzie <acm@muc.de> | ||
| 17 | |||
| 18 | Fix a situation where deletion of a cpp construct throws an error. | ||
| 19 | * progmodes/cc-engine.el (c-invalidate-state-cache): Before | ||
| 20 | invoking c-with-all-but-one-cpps-commented-out, check that the | ||
| 21 | special cpp construct is still in the buffer. | ||
| 22 | (c-parse-state): Record the special cpp with markers, not numbers. | ||
| 23 | |||
| 24 | 2010-01-21 Kenichi Handa <handa@m17n.org> | ||
| 25 | |||
| 26 | * textmodes/sgml-mode.el (sgml-maybe-name-self): No need to | ||
| 27 | process last-command-event, as it is now decoded first (Bug#5380). | ||
| 28 | |||
| 29 | 2010-01-20 Chong Yidong <cyd@stupidchicken.com> | ||
| 30 | |||
| 31 | * term.el (term-send-raw-meta): Revert 2009-12-04 change (Bug#5330). | ||
| 32 | |||
| 33 | 2010-01-20 Glenn Morris <rgm@gnu.org> | ||
| 34 | |||
| 35 | * indent.el (tab-always-indent): Fix custom-type. | ||
| 36 | |||
| 37 | 2010-01-19 Alan Mackenzie <acm@muc.de> | ||
| 38 | |||
| 39 | * progmodes/cc-defs.el: Fix bug#5395: typing '#' in an empty | ||
| 40 | buffer throws "args out of range". | ||
| 41 | (c-set-cpp-delimiters, c-clear-cpp-delimiters): Check for EOB | ||
| 42 | playing the role of delimiter. | ||
| 43 | |||
| 44 | 2010-01-18 Stephen Leake <stephen_leake@member.fsf.org> | ||
| 45 | |||
| 46 | * lisp/progmodes/ada-mode.el: Fix bug#5400. | ||
| 47 | (ada-matching-decl-start-re): Move into ada-goto-decl-start. | ||
| 48 | (ada-goto-decl-start): Rename from ada-goto-matching-decl-start; callers | ||
| 49 | changed. Delete RECURSIVE parameter; never used. Improve doc string. | ||
| 50 | Improve comments in "is" portion. Handle null procedure declaration. | ||
| 51 | (ada-move-to-end): Improve doc string. | ||
| 52 | |||
| 53 | 2010-01-18 Óscar Fuentes <ofv@wanadoo.es> | ||
| 54 | |||
| 55 | * ido.el (ido-cur-list): Initialize to nil. | ||
| 56 | Remove obsolete information from commentary. | ||
| 57 | (ido-choice-list): Initialize to nil. | ||
| 58 | (ido-get-bufname): Reject minibuffers. | ||
| 59 | (ido-make-buffer-list): If "default" is a nonexistent | ||
| 60 | buffer, ignore it, as per the function's comment. | ||
| 61 | (ido-kill-buffer-internal): New function. | ||
| 62 | (ido-kill-buffer-at-head): Use it. | ||
| 63 | (ido-visit-buffer): Likewise. | ||
| 64 | |||
| 65 | 2010-01-18 Chong Yidong <cyd@stupidchicken.com> | ||
| 66 | |||
| 67 | * calendar/time-date.el (date-to-time): Doc fix (Bug#5408). | ||
| 68 | |||
| 69 | 2010-01-18 Juanma Barranquero <lekktu@gmail.com> | ||
| 70 | |||
| 71 | * cedet/ede/locate.el (ede-locate-file-in-project) | ||
| 72 | (ede-locate-file-in-project-impl): Fix typos in docstrings. | ||
| 73 | (ede-enable-locate-on-project): Fix typos in error messages. | ||
| 74 | |||
| 75 | * cedet/semantic/util-modes.el (semantic-unmatched-syntax-face) | ||
| 76 | (semantic-stickyfunc-old-hlf, semantic-stickyfunc-header-line-format) | ||
| 77 | (semantic-stickyfunc-sticky-classes, semantic-highlight-func-mode-setup) | ||
| 78 | (semantic-stickyfunc-fetch-stickyline): Fix typos in docstrings. | ||
| 79 | (semantic-stickyfunc-popup-menu, semantic-highlight-func-popup-menu): | ||
| 80 | Fix typos in menu help. | ||
| 81 | |||
| 82 | * emacs-lisp/chart.el (chart-file-count, chart-rmail-from): | ||
| 83 | Fix typos in chart titles. | ||
| 84 | |||
| 85 | * whitespace.el (whitespace-style, global-whitespace-newline-mode): | ||
| 86 | * cedet/semantic.el (semantic-require-version, semantic--buffer-cache) | ||
| 87 | (semantic-unmatched-syntax-cache-check, semantic-unmatched-syntax-hook) | ||
| 88 | (semantic--before-fetch-tags-hook, semantic-new-buffer-fcn-was-run) | ||
| 89 | (semantic--umatched-syntax-needs-refresh-p, semantic-elapsed-time) | ||
| 90 | (semantic-parse-stream, semantic-parse-region) | ||
| 91 | (semantic-parse-region-default, semantic--set-buffer-cache) | ||
| 92 | (semantic-minimum-working-buffer-size, semantic-refresh-tags-safe) | ||
| 93 | (semantic-bovinate-toplevel, semantic-load-system-cache-loaded) | ||
| 94 | (semantic-default-submodes): | ||
| 95 | * cedet/semantic/db-ebrowse.el (semanticdb-table-ebrowse) | ||
| 96 | (semanticdb-create-ebrowse-database) | ||
| 97 | (semanticdb-find-tags-for-completion-method) | ||
| 98 | (semanticdb-find-tags-by-class-method) | ||
| 99 | (semanticdb-deep-find-tags-by-name-method) | ||
| 100 | (semanticdb-deep-find-tags-for-completion-method): | ||
| 101 | * cedet/semantic/db-el.el (semanticdb-elisp-mapatom-collector) | ||
| 102 | (semanticdb-find-tags-by-name-method, emacs-lisp-mode) | ||
| 103 | (semanticdb-find-tags-for-completion-method) | ||
| 104 | (semanticdb-find-tags-by-class-method) | ||
| 105 | (semanticdb-deep-find-tags-for-completion-method): | ||
| 106 | * cedet/semantic/db-find.el (semanticdb-find-translate-path) | ||
| 107 | (semanticdb-find-need-cache-update-p, semanticdb-find-result-with-nil-p) | ||
| 108 | (semanticdb-find-scanned-include-tags, semanticdb-find-tags-collector) | ||
| 109 | (semanticdb-find-tags-by-name-method) | ||
| 110 | (semanticdb-find-tags-by-name-regexp-method) | ||
| 111 | (semanticdb-find-tags-for-completion-method) | ||
| 112 | (semanticdb-find-tags-by-class-method) | ||
| 113 | (semanticdb-find-tags-external-children-of-type-method) | ||
| 114 | (semanticdb-find-tags-subclasses-of-type-method) | ||
| 115 | (semanticdb-deep-find-tags-by-name-method) | ||
| 116 | (semanticdb-deep-find-tags-by-name-regexp-method) | ||
| 117 | (semanticdb-deep-find-tags-for-completion-method): | ||
| 118 | * cedet/semantic/db-global.el (semanticdb-enable-gnu-global-hook) | ||
| 119 | (semanticdb-enable-gnu-global-in-buffer) | ||
| 120 | (semanticdb-find-tags-for-completion-method) | ||
| 121 | (semanticdb-deep-find-tags-by-name-method) | ||
| 122 | (semanticdb-deep-find-tags-for-completion-method): | ||
| 123 | * cedet/semantic/db-javascript.el (semanticdb-javascript-tags) | ||
| 124 | (javascript-mode, semanticdb-find-translate-path) | ||
| 125 | (semanticdb-find-tags-for-completion-method) | ||
| 126 | (semanticdb-find-tags-by-class-method) | ||
| 127 | (semanticdb-deep-find-tags-by-name-method) | ||
| 128 | (semanticdb-deep-find-tags-for-completion-method) | ||
| 129 | (semanticdb-find-tags-external-children-of-type-method): | ||
| 130 | * cedet/semantic/idle.el (semantic-idle-work-core-handler) | ||
| 131 | (define-semantic-idle-service, semantic-idle-summary-useful-context-p) | ||
| 132 | (global-semantic-idle-scheduler-mode): | ||
| 133 | * cedet/srecode/dictionary.el (srecode-field-value) | ||
| 134 | (srecode-dictionary-add-section-dictionary): | ||
| 135 | * emacs-lisp/eieio.el (eieio-error-unsupported-class-tags) | ||
| 136 | (eieio-generic-form, eieio-help-mode-augmentation-maybee, eieio-browse) | ||
| 137 | (describe-class, eieio-describe-generic, describe-generic): | ||
| 138 | * emacs-lisp/eieio-speedbar.el (eieio-speedbar-handle-click) | ||
| 139 | (eieio-speedbar-expand): | ||
| 140 | * emulation/viper-cmd.el (viper-exec-form-in-vi) | ||
| 141 | (viper-exec-form-in-emacs, viper-harness-minor-mode, viper-ESC) | ||
| 142 | (viper-repeat, viper-replace-state-exit-cmd, viper-toggle-search-style) | ||
| 143 | (viper-del-backward-char-in-replace, viper-backward-indent) | ||
| 144 | (viper-brac-function, viper-register-to-point, viper-submit-report): | ||
| 145 | * net/tramp.el (tramp-remote-coding-commands): | ||
| 146 | * term/x-win.el (emacs-session-save, x-menu-bar-open, icon-map-list): | ||
| 147 | Fix typos in docstrings. | ||
| 148 | |||
| 149 | 2010-01-17 Chong Yidong <cyd@stupidchicken.com> | ||
| 150 | |||
| 151 | * mail/sendmail.el (mail-yank-original): Set the mark if the | ||
| 152 | specified function for yanking does not do it. | ||
| 153 | |||
| 154 | 2010-01-17 Dan Nicolaescu <dann@ics.uci.edu> | ||
| 155 | |||
| 156 | * vc.el (with-vc-properties): Deal with directory arguments. (Bug#5298) | ||
| 157 | |||
| 158 | * vc-dir.el (vc-dir-resynch-file): Update the vc-dir header when | ||
| 159 | resyncing a directory. | ||
| 160 | |||
| 161 | 2010-01-17 Stephen Leake <stephen_leake@member.fsf.org> | ||
| 162 | |||
| 163 | * progmodes/ada-mode.el: Fix bug#1920. | ||
| 164 | (ada-ident-re): Delete ., allow multibyte characters. | ||
| 165 | (ada-goto-label-re): New; matches goto labels. | ||
| 166 | (ada-block-label-re): New; matches block labels. | ||
| 167 | (ada-label-re): New; matches both. | ||
| 168 | (ada-named-block-re): Deleted; callers changed to use | ||
| 169 | `ada-block-label-re' instead. | ||
| 170 | (ada-get-current-indent, ada-get-indent-noindent, ada-get-indent-loop): | ||
| 171 | Use `ada-block-label-re'. | ||
| 172 | (ada-indent-on-previous-lines): Improve handling of goto labels. | ||
| 173 | (ada-get-indent-block-start): Special-case block label. | ||
| 174 | (ada-get-indent-label): Split into `ada-indent-block-label' and | ||
| 175 | `ada-indent-goto-label'. | ||
| 176 | (ada-goto-stmt-start, ada-goto-next-non-ws): | ||
| 177 | Optionally ignore goto labels. | ||
| 178 | (ada-goto-next-word): Simplify. | ||
| 179 | (ada-indent-newline-indent-conditional): Insert newline before | ||
| 180 | trying to fix indentation; doc fix. | ||
| 181 | |||
| 182 | 2010-01-17 Jay Belanger <jay.p.belanger@gmail.com> | ||
| 183 | |||
| 184 | * calc/calc.el (calc-command-flags): Give it an initial value. | ||
| 185 | |||
| 186 | 2010-01-17 Glenn Morris <rgm@gnu.org> | ||
| 187 | |||
| 188 | * cedet/semantic/idle.el (semantic-idle-work-for-one-buffer): Doc fix. | ||
| 189 | |||
| 190 | 2010-01-17 Juanma Barranquero <lekktu@gmail.com> | ||
| 191 | |||
| 192 | * cedet/semantic.el (semantic-mode): | ||
| 193 | * files.el (minibuffer-with-setup-hook): | ||
| 194 | * textmodes/artist.el (artist-mt, artist-key-undraw-continously) | ||
| 195 | (artist-key-draw-continously, artist-key-do-continously-continously) | ||
| 196 | (artist-key-set-point-continously, artist-mouse-draw-continously): | ||
| 197 | Fix typos in docstrings. | ||
| 198 | |||
| 199 | 2010-01-16 Lennart Borgman <lennart.borgman@gmail.com> | ||
| 200 | |||
| 201 | * nxml/nxml-mode.el (nxml-extend-after-change-region): Never | ||
| 202 | return t (Bug#3898). | ||
| 203 | |||
| 204 | 2010-01-16 Frédéric Perrin <frederic.perrin@resel.fr> (tiny change) | ||
| 205 | |||
| 206 | * vc-dispatcher.el (vc-do-command): Set LC_MESSAGES, so that we | ||
| 207 | can parse the output of the external commands (Bug#5279). | ||
| 208 | |||
| 1 | 2010-01-16 Jari Aalto <jari.aalto@cante.net> | 209 | 2010-01-16 Jari Aalto <jari.aalto@cante.net> |
| 2 | 210 | ||
| 3 | * pcmpl-unix.el (pcmpl-unix-read-passwd-file): Doc fix. | 211 | * pcmpl-unix.el (pcmpl-unix-read-passwd-file): Doc fix. |
| 4 | 212 | ||
| 5 | 2010-01-16 Chong Yidong <cyd@stupidchicken.com> | 213 | 2010-01-16 Chong Yidong <cyd@stupidchicken.com> |
| 6 | 214 | ||
| 215 | * emacs-lisp/advice.el (ad-add-advice): Doc fix (Bug#5274) | ||
| 216 | |||
| 7 | * emacs-lisp/cl-macs.el (defstruct): Doc fix (Bug#5267). | 217 | * emacs-lisp/cl-macs.el (defstruct): Doc fix (Bug#5267). |
| 8 | 218 | ||
| 9 | * startup.el (command-line): Remove unused --icon-type arg. | 219 | * startup.el (command-line): Remove unused --icon-type arg. |
| @@ -34,7 +244,7 @@ | |||
| 34 | 2010-01-15 Kenichi Handa <handa@m17n.org> | 244 | 2010-01-15 Kenichi Handa <handa@m17n.org> |
| 35 | 245 | ||
| 36 | * international/mule-cmds.el (canonicalize-coding-system-name): | 246 | * international/mule-cmds.el (canonicalize-coding-system-name): |
| 37 | Convert "msXXX", "ibmXXX", "windows-XXX" to "cpXXX". | 247 | Convert "msXXX", "ibmXXX", "windows-XXX" to "cpXXX" (Bug#5387). |
| 38 | 248 | ||
| 39 | 2010-01-15 Glenn Morris <rgm@gnu.org> | 249 | 2010-01-15 Glenn Morris <rgm@gnu.org> |
| 40 | 250 | ||
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/calendar/time-date.el b/lisp/calendar/time-date.el index 3b4495881f6..914d2d33928 100644 --- a/lisp/calendar/time-date.el +++ b/lisp/calendar/time-date.el | |||
| @@ -98,7 +98,8 @@ and type 2 is the list (HIGH LOW MICRO)." | |||
| 98 | 98 | ||
| 99 | ;;;###autoload | 99 | ;;;###autoload |
| 100 | (defun date-to-time (date) | 100 | (defun date-to-time (date) |
| 101 | "Parse a string DATE that represents a date-time and return a time value." | 101 | "Parse a string DATE that represents a date-time and return a time value. |
| 102 | If DATE lacks timezone information, GMT is assumed." | ||
| 102 | (condition-case () | 103 | (condition-case () |
| 103 | (apply 'encode-time | 104 | (apply 'encode-time |
| 104 | (parse-time-string | 105 | (parse-time-string |
diff --git a/lisp/cedet/cedet-files.el b/lisp/cedet/cedet-files.el index 5d149ee7560..9dacf062288 100644 --- a/lisp/cedet/cedet-files.el +++ b/lisp/cedet/cedet-files.el | |||
| @@ -69,7 +69,7 @@ specific conversions during tests." | |||
| 69 | (let ((file referencefile)) | 69 | (let ((file referencefile)) |
| 70 | ;; Replace the ! with / | 70 | ;; Replace the ! with / |
| 71 | (setq file (subst-char-in-string ?! ?/ file)) | 71 | (setq file (subst-char-in-string ?! ?/ file)) |
| 72 | ;; Occurances of // meant there was once a single !. | 72 | ;; Occurrences of // meant there was once a single !. |
| 73 | (setq file (replace-regexp-in-string "//" "!" file)) | 73 | (setq file (replace-regexp-in-string "//" "!" file)) |
| 74 | 74 | ||
| 75 | ;; Handle Windows special cases | 75 | ;; Handle Windows special cases |
diff --git a/lisp/cedet/ede/locate.el b/lisp/cedet/ede/locate.el index 0f9e4b22be2..099e193f010 100644 --- a/lisp/cedet/ede/locate.el +++ b/lisp/cedet/ede/locate.el | |||
| @@ -97,7 +97,7 @@ based on `ede-locate-setup-options'." | |||
| 97 | (setq ans 'ede-locate-base)) | 97 | (setq ans 'ede-locate-base)) |
| 98 | (oset proj locate-obj (make-instance ans "Loc" :root root)) | 98 | (oset proj locate-obj (make-instance ans "Loc" :root root)) |
| 99 | (when (called-interactively-p 'interactive) | 99 | (when (called-interactively-p 'interactive) |
| 100 | (message "Setting locator to %s." ans)) | 100 | (message "Setting locator to %s" ans)) |
| 101 | )) | 101 | )) |
| 102 | 102 | ||
| 103 | ;;; LOCATE BASECLASS | 103 | ;;; LOCATE BASECLASS |
| @@ -142,9 +142,9 @@ based on `ede-locate-setup-options'." | |||
| 142 | (defmethod ede-locate-file-in-project ((loc ede-locate-base) | 142 | (defmethod ede-locate-file-in-project ((loc ede-locate-base) |
| 143 | filesubstring | 143 | filesubstring |
| 144 | ) | 144 | ) |
| 145 | "Locate with LOC occurances of FILESUBSTRING. | 145 | "Locate with LOC occurrences of FILESUBSTRING. |
| 146 | Searches are done under the current root of the EDE project | 146 | Searches are done under the current root of the EDE project |
| 147 | that crated this ede locat object." | 147 | that created this EDE locate object." |
| 148 | (let ((ans (ede-locate-file-in-project-impl loc filesubstring)) | 148 | (let ((ans (ede-locate-file-in-project-impl loc filesubstring)) |
| 149 | ) | 149 | ) |
| 150 | (oset loc file filesubstring) | 150 | (oset loc file filesubstring) |
| @@ -154,9 +154,9 @@ that crated this ede locat object." | |||
| 154 | (defmethod ede-locate-file-in-project-impl ((loc ede-locate-base) | 154 | (defmethod ede-locate-file-in-project-impl ((loc ede-locate-base) |
| 155 | filesubstring | 155 | filesubstring |
| 156 | ) | 156 | ) |
| 157 | "Locate with LOC occurances of FILESUBSTRING. | 157 | "Locate with LOC occurrences of FILESUBSTRING. |
| 158 | Searches are done under the current root of the EDE project | 158 | Searches are done under the current root of the EDE project |
| 159 | that crated this ede locat object." | 159 | that created this EDE locate object." |
| 160 | nil | 160 | nil |
| 161 | ) | 161 | ) |
| 162 | 162 | ||
| @@ -180,9 +180,9 @@ configure the use of EDE locate.") | |||
| 180 | 180 | ||
| 181 | (defmethod ede-locate-file-in-project-impl ((loc ede-locate-locate) | 181 | (defmethod ede-locate-file-in-project-impl ((loc ede-locate-locate) |
| 182 | filesubstring) | 182 | filesubstring) |
| 183 | "Locate with LOC occurances of FILESUBSTRING under PROJECTROOT. | 183 | "Locate with LOC occurrences of FILESUBSTRING under PROJECTROOT. |
| 184 | Searches are done under the current root of the EDE project | 184 | Searches are done under the current root of the EDE project |
| 185 | that crated this ede locat object." | 185 | that created this EDE locate object." |
| 186 | ;; We want something like: | 186 | ;; We want something like: |
| 187 | ;; /my/project/root*/filesubstring.c | 187 | ;; /my/project/root*/filesubstring.c |
| 188 | (let* ((searchstr (concat (directory-file-name (oref loc root)) | 188 | (let* ((searchstr (concat (directory-file-name (oref loc root)) |
| @@ -235,9 +235,9 @@ variable `cedet-global-command'.") | |||
| 235 | 235 | ||
| 236 | (defmethod ede-locate-file-in-project-impl ((loc ede-locate-global) | 236 | (defmethod ede-locate-file-in-project-impl ((loc ede-locate-global) |
| 237 | filesubstring) | 237 | filesubstring) |
| 238 | "Locate with LOC occurances of FILESUBSTRING under PROJECTROOT. | 238 | "Locate with LOC occurrences of FILESUBSTRING under PROJECTROOT. |
| 239 | Searches are done under the current root of the EDE project | 239 | Searches are done under the current root of the EDE project |
| 240 | that crated this ede locat object." | 240 | that created this EDE locate object." |
| 241 | (require 'cedet-global) | 241 | (require 'cedet-global) |
| 242 | (let ((default-directory (oref loc root))) | 242 | (let ((default-directory (oref loc root))) |
| 243 | (cedet-gnu-global-expand-filename filesubstring))) | 243 | (cedet-gnu-global-expand-filename filesubstring))) |
| @@ -273,9 +273,9 @@ file name searching variable `cedet-idutils-file-command'.") | |||
| 273 | 273 | ||
| 274 | (defmethod ede-locate-file-in-project-impl ((loc ede-locate-idutils) | 274 | (defmethod ede-locate-file-in-project-impl ((loc ede-locate-idutils) |
| 275 | filesubstring) | 275 | filesubstring) |
| 276 | "Locate with LOC occurances of FILESUBSTRING under PROJECTROOT. | 276 | "Locate with LOC occurrences of FILESUBSTRING under PROJECTROOT. |
| 277 | Searches are done under the current root of the EDE project | 277 | Searches are done under the current root of the EDE project |
| 278 | that crated this ede locat object." | 278 | that created this EDE locate object." |
| 279 | (require 'cedet-idutils) | 279 | (require 'cedet-idutils) |
| 280 | (let ((default-directory (oref loc root))) | 280 | (let ((default-directory (oref loc root))) |
| 281 | (cedet-idutils-expand-filename filesubstring))) | 281 | (cedet-idutils-expand-filename filesubstring))) |
| @@ -309,9 +309,9 @@ file name searching variable `cedet-cscope-file-command'.") | |||
| 309 | 309 | ||
| 310 | (defmethod ede-locate-file-in-project-impl ((loc ede-locate-cscope) | 310 | (defmethod ede-locate-file-in-project-impl ((loc ede-locate-cscope) |
| 311 | filesubstring) | 311 | filesubstring) |
| 312 | "Locate with LOC occurances of FILESUBSTRING under PROJECTROOT. | 312 | "Locate with LOC occurrences of FILESUBSTRING under PROJECTROOT. |
| 313 | Searches are done under the current root of the EDE project | 313 | Searches are done under the current root of the EDE project |
| 314 | that crated this ede locat object." | 314 | that created this EDE locate object." |
| 315 | (let ((default-directory (oref loc root))) | 315 | (let ((default-directory (oref loc root))) |
| 316 | (cedet-cscope-expand-filename filesubstring))) | 316 | (cedet-cscope-expand-filename filesubstring))) |
| 317 | 317 | ||
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/semantic.el b/lisp/cedet/semantic.el index 108a8c4b294..b7d5f700d78 100644 --- a/lisp/cedet/semantic.el +++ b/lisp/cedet/semantic.el | |||
| @@ -45,7 +45,7 @@ | |||
| 45 | (declare-function semanticdb-load-ebrowse-caches "semantic/db-ebrowse") | 45 | (declare-function semanticdb-load-ebrowse-caches "semantic/db-ebrowse") |
| 46 | 46 | ||
| 47 | (defun semantic-require-version (major minor &optional beta) | 47 | (defun semantic-require-version (major minor &optional beta) |
| 48 | "Non-nil if this version of semantic does not satisfy a specific version. | 48 | "Non-nil if this version of Semantic does not satisfy a specific version. |
| 49 | Arguments can be: | 49 | Arguments can be: |
| 50 | 50 | ||
| 51 | (MAJOR MINOR &optional BETA) | 51 | (MAJOR MINOR &optional BETA) |
| @@ -130,7 +130,7 @@ this is returned instead of re-parsing the buffer. | |||
| 130 | DO NOT USE THIS VARIABLE IN PROGRAMS. | 130 | DO NOT USE THIS VARIABLE IN PROGRAMS. |
| 131 | 131 | ||
| 132 | If you need a tag list, use `semantic-fetch-tags'. If you need the | 132 | If you need a tag list, use `semantic-fetch-tags'. If you need the |
| 133 | cached values for some reason, chances are you can, add a hook to | 133 | cached values for some reason, chances are you can add a hook to |
| 134 | `semantic-after-toplevel-cache-change-hook'.") | 134 | `semantic-after-toplevel-cache-change-hook'.") |
| 135 | (make-variable-buffer-local 'semantic--buffer-cache) | 135 | (make-variable-buffer-local 'semantic--buffer-cache) |
| 136 | (semantic-varalias-obsolete 'semantic-toplevel-bovine-cache | 136 | (semantic-varalias-obsolete 'semantic-toplevel-bovine-cache |
| @@ -141,7 +141,7 @@ cached values for some reason, chances are you can, add a hook to | |||
| 141 | (make-variable-buffer-local 'semantic-unmatched-syntax-cache) | 141 | (make-variable-buffer-local 'semantic-unmatched-syntax-cache) |
| 142 | 142 | ||
| 143 | (defvar semantic-unmatched-syntax-cache-check nil | 143 | (defvar semantic-unmatched-syntax-cache-check nil |
| 144 | "Non nil if the unmatched syntax cache is out of date. | 144 | "Non-nil if the unmatched syntax cache is out of date. |
| 145 | This is tracked with `semantic-change-function'.") | 145 | This is tracked with `semantic-change-function'.") |
| 146 | (make-variable-buffer-local 'semantic-unmatched-syntax-cache-check) | 146 | (make-variable-buffer-local 'semantic-unmatched-syntax-cache-check) |
| 147 | 147 | ||
| @@ -154,18 +154,18 @@ will not change the tag structure, such as adding or updating | |||
| 154 | `top-level' comments.") | 154 | `top-level' comments.") |
| 155 | 155 | ||
| 156 | (defvar semantic-unmatched-syntax-hook nil | 156 | (defvar semantic-unmatched-syntax-hook nil |
| 157 | "Hooks run when semantic detects syntax not matched in a grammar. | 157 | "Hooks run when Semantic detects syntax not matched in a grammar. |
| 158 | Each individual piece of syntax (such as a symbol or punctuation | 158 | Each individual piece of syntax (such as a symbol or punctuation |
| 159 | character) is called with this hook when it doesn't match in the | 159 | character) is called with this hook when it doesn't match in the |
| 160 | grammar, and multiple unmatched syntax elements are not grouped | 160 | grammar, and multiple unmatched syntax elements are not grouped |
| 161 | together. Each hook is called with one argument, which is a list of | 161 | together. Each hook is called with one argument, which is a list |
| 162 | syntax tokens created by the semantic lexer. Use the functions | 162 | of syntax tokens created by the semantic lexer. Use the functions |
| 163 | `semantic-lex-token-start', `semantic-lex-token-end' and | 163 | `semantic-lex-token-start', `semantic-lex-token-end' and |
| 164 | `semantic-lex-token-text' to get information about these tokens. The | 164 | `semantic-lex-token-text' to get information about these tokens. |
| 165 | current buffer is the buffer these tokens are derived from.") | 165 | The current buffer is the buffer these tokens are derived from.") |
| 166 | 166 | ||
| 167 | (defvar semantic--before-fetch-tags-hook nil | 167 | (defvar semantic--before-fetch-tags-hook nil |
| 168 | "Hooks run before a buffer is parses for tags. | 168 | "Hooks run before a buffer is parsed for tags. |
| 169 | It is called before any request for tags is made via the function | 169 | It is called before any request for tags is made via the function |
| 170 | `semantic-fetch-tags' by an application. | 170 | `semantic-fetch-tags' by an application. |
| 171 | If any hook returns a nil value, the cached value is returned | 171 | If any hook returns a nil value, the cached value is returned |
| @@ -311,7 +311,7 @@ a parse of the buffer.") | |||
| 311 | 'semantic-init-db-hook "23.2") | 311 | 'semantic-init-db-hook "23.2") |
| 312 | 312 | ||
| 313 | (defvar semantic-new-buffer-fcn-was-run nil | 313 | (defvar semantic-new-buffer-fcn-was-run nil |
| 314 | "Non nil after `semantic-new-buffer-fcn' has been executed.") | 314 | "Non-nil after `semantic-new-buffer-fcn' has been executed.") |
| 315 | (make-variable-buffer-local 'semantic-new-buffer-fcn-was-run) | 315 | (make-variable-buffer-local 'semantic-new-buffer-fcn-was-run) |
| 316 | 316 | ||
| 317 | (defsubst semantic-active-p () | 317 | (defsubst semantic-active-p () |
| @@ -320,7 +320,7 @@ a parse of the buffer.") | |||
| 320 | 320 | ||
| 321 | (defsubst semantic--umatched-syntax-needs-refresh-p () | 321 | (defsubst semantic--umatched-syntax-needs-refresh-p () |
| 322 | "Return non-nil if the unmatched syntax cache needs a refresh. | 322 | "Return non-nil if the unmatched syntax cache needs a refresh. |
| 323 | That is if it is dirty or if the current parse tree isn't up to date." | 323 | That is, if it is dirty or if the current parse tree isn't up to date." |
| 324 | (or semantic-unmatched-syntax-cache-check | 324 | (or semantic-unmatched-syntax-cache-check |
| 325 | (not (semantic-parse-tree-up-to-date-p)))) | 325 | (not (semantic-parse-tree-up-to-date-p)))) |
| 326 | 326 | ||
| @@ -377,7 +377,7 @@ to use Semantic, and `semantic-init-hook' is run." | |||
| 377 | Do not set this yourself. Call `semantic-debug'.") | 377 | Do not set this yourself. Call `semantic-debug'.") |
| 378 | 378 | ||
| 379 | (defun semantic-elapsed-time (start end) | 379 | (defun semantic-elapsed-time (start end) |
| 380 | "Copied from elp.el. Was elp-elapsed-time. | 380 | "Copied from elp.el. Was `elp-elapsed-time'. |
| 381 | Argument START and END bound the time being calculated." | 381 | Argument START and END bound the time being calculated." |
| 382 | (+ (* (- (car end) (car start)) 65536.0) | 382 | (+ (* (- (car end) (car start)) 65536.0) |
| 383 | (- (car (cdr end)) (car (cdr start))) | 383 | (- (car (cdr end)) (car (cdr start))) |
| @@ -410,14 +410,14 @@ the output buffer." | |||
| 410 | (define-overloadable-function semantic-parse-stream (stream nonterminal) | 410 | (define-overloadable-function semantic-parse-stream (stream nonterminal) |
| 411 | "Parse STREAM, starting at the first NONTERMINAL rule. | 411 | "Parse STREAM, starting at the first NONTERMINAL rule. |
| 412 | For bovine and wisent based parsers, STREAM is from the output of | 412 | For bovine and wisent based parsers, STREAM is from the output of |
| 413 | `semantic-lex', and NONTERMINAL is a rule in the apropriate language | 413 | `semantic-lex', and NONTERMINAL is a rule in the appropriate language |
| 414 | specific rules file. | 414 | specific rules file. |
| 415 | The default parser table used for bovine or wisent based parsers is | 415 | The default parser table used for bovine or wisent based parsers is |
| 416 | `semantic--parse-table'. | 416 | `semantic--parse-table'. |
| 417 | 417 | ||
| 418 | Must return a list: (STREAM TAGS) where STREAM is the unused elements | 418 | Must return a list: (STREAM TAGS) where STREAM is the unused elements |
| 419 | from STREAM, and TAGS is the list of semantic tags found, usually only | 419 | from STREAM, and TAGS is the list of semantic tags found; usually only |
| 420 | one tag is returned with the exception of compound statements") | 420 | one tag is returned with the exception of compound statements.") |
| 421 | 421 | ||
| 422 | (define-overloadable-function semantic-parse-changes () | 422 | (define-overloadable-function semantic-parse-changes () |
| 423 | "Reparse changes in the current buffer. | 423 | "Reparse changes in the current buffer. |
| @@ -433,7 +433,7 @@ will be silently ignored. | |||
| 433 | 433 | ||
| 434 | Optional arguments: | 434 | Optional arguments: |
| 435 | NONTERMINAL is the rule to start parsing at. | 435 | NONTERMINAL is the rule to start parsing at. |
| 436 | DEPTH specifies the lexical depth to decend for parser that use | 436 | DEPTH specifies the lexical depth to descend for parser that use |
| 437 | lexical analysis as their first step. | 437 | lexical analysis as their first step. |
| 438 | RETURNONERROR specifies that parsing should stop on the first | 438 | RETURNONERROR specifies that parsing should stop on the first |
| 439 | unmatched syntax encountered. When nil, parsing skips the syntax, | 439 | unmatched syntax encountered. When nil, parsing skips the syntax, |
| @@ -447,8 +447,8 @@ to cook raw tags.") | |||
| 447 | (defun semantic-parse-region-default | 447 | (defun semantic-parse-region-default |
| 448 | (start end &optional nonterminal depth returnonerror) | 448 | (start end &optional nonterminal depth returnonerror) |
| 449 | "Parse the area between START and END, and return any tags found. | 449 | "Parse the area between START and END, and return any tags found. |
| 450 | If END needs to be extended due to a lexical token being too large, it | 450 | If END needs to be extended due to a lexical token being too large, |
| 451 | will be silently ignored. | 451 | it will be silently ignored. |
| 452 | Optional arguments: | 452 | Optional arguments: |
| 453 | NONTERMINAL is the rule to start parsing at if it is known. | 453 | NONTERMINAL is the rule to start parsing at if it is known. |
| 454 | DEPTH specifies the lexical depth to scan. | 454 | DEPTH specifies the lexical depth to scan. |
| @@ -532,7 +532,7 @@ is requested." | |||
| 532 | (defvar semantic-bovinate-nonterminal-check-obarray) | 532 | (defvar semantic-bovinate-nonterminal-check-obarray) |
| 533 | 533 | ||
| 534 | (defun semantic--set-buffer-cache (tagtable) | 534 | (defun semantic--set-buffer-cache (tagtable) |
| 535 | "Set the toplevel cache cache to TAGTABLE." | 535 | "Set the toplevel tag cache to TAGTABLE." |
| 536 | (setq semantic--buffer-cache tagtable | 536 | (setq semantic--buffer-cache tagtable |
| 537 | semantic-unmatched-syntax-cache-check nil) | 537 | semantic-unmatched-syntax-cache-check nil) |
| 538 | ;; This is specific to the bovine parser. | 538 | ;; This is specific to the bovine parser. |
| @@ -560,7 +560,7 @@ is requested." | |||
| 560 | 560 | ||
| 561 | (defvar semantic-minimum-working-buffer-size (* 1024 5) | 561 | (defvar semantic-minimum-working-buffer-size (* 1024 5) |
| 562 | "*The minimum size of a buffer before working messages are displayed. | 562 | "*The minimum size of a buffer before working messages are displayed. |
| 563 | Buffers smaller than will parse silently. | 563 | Buffers smaller than this will parse silently. |
| 564 | Buffers larger than this will display the working progress bar.") | 564 | Buffers larger than this will display the working progress bar.") |
| 565 | 565 | ||
| 566 | (defsubst semantic-parser-working-message (&optional arg) | 566 | (defsubst semantic-parser-working-message (&optional arg) |
| @@ -652,7 +652,7 @@ was marked unparseable, then do nothing, and return the cache." | |||
| 652 | semantic--buffer-cache) | 652 | semantic--buffer-cache) |
| 653 | 653 | ||
| 654 | (defun semantic-refresh-tags-safe () | 654 | (defun semantic-refresh-tags-safe () |
| 655 | "Refreshes the current buffer's tags safely. | 655 | "Refresh the current buffer's tags safely. |
| 656 | 656 | ||
| 657 | Return non-nil if the refresh was successful. | 657 | Return non-nil if the refresh was successful. |
| 658 | Return nil if there is some sort of syntax error preventing a reparse. | 658 | Return nil if there is some sort of syntax error preventing a reparse. |
| @@ -694,7 +694,7 @@ Does nothing if the current buffer doesn't need reparsing." | |||
| 694 | lexically-safe)))) | 694 | lexically-safe)))) |
| 695 | 695 | ||
| 696 | (defun semantic-bovinate-toplevel (&optional ignored) | 696 | (defun semantic-bovinate-toplevel (&optional ignored) |
| 697 | "Backward Compatibility Function." | 697 | "Backward compatibility function." |
| 698 | (semantic-fetch-tags)) | 698 | (semantic-fetch-tags)) |
| 699 | (make-obsolete 'semantic-bovinate-toplevel 'semantic-fetch-tags "23.2") | 699 | (make-obsolete 'semantic-bovinate-toplevel 'semantic-fetch-tags "23.2") |
| 700 | 700 | ||
| @@ -1014,10 +1014,10 @@ 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. |
| 1021 | Prevent this load system from loading files in twice.") | 1021 | Prevent this load system from loading files in twice.") |
| 1022 | 1022 | ||
| 1023 | (defconst semantic-submode-list | 1023 | (defconst semantic-submode-list |
| @@ -1045,7 +1045,7 @@ The possible elements of this list include the following: | |||
| 1045 | `global-semantic-highlight-func-mode' - Highlight the current tag. | 1045 | `global-semantic-highlight-func-mode' - Highlight the current tag. |
| 1046 | `global-semantic-stickyfunc-mode' - Show current fun in header line. | 1046 | `global-semantic-stickyfunc-mode' - Show current fun in header line. |
| 1047 | `global-semantic-mru-bookmark-mode' - Provide `switch-to-buffer'-like | 1047 | `global-semantic-mru-bookmark-mode' - Provide `switch-to-buffer'-like |
| 1048 | keybinding for tag names." | 1048 | keybinding for tag names." |
| 1049 | :group 'semantic | 1049 | :group 'semantic |
| 1050 | :type `(set ,@(mapcar (lambda (c) (list 'const c)) | 1050 | :type `(set ,@(mapcar (lambda (c) (list 'const c)) |
| 1051 | semantic-submode-list))) | 1051 | semantic-submode-list))) |
| @@ -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/db-ebrowse.el b/lisp/cedet/semantic/db-ebrowse.el index cd511708661..86602aaa95b 100644 --- a/lisp/cedet/semantic/db-ebrowse.el +++ b/lisp/cedet/semantic/db-ebrowse.el | |||
| @@ -90,7 +90,7 @@ be searched." | |||
| 90 | :initarg :global-extract | 90 | :initarg :global-extract |
| 91 | :documentation | 91 | :documentation |
| 92 | "Table of ebrowse tags specific to this file. | 92 | "Table of ebrowse tags specific to this file. |
| 93 | This table is compisited from the ebrowse *Globals* section.") | 93 | This table is composited from the ebrowse *Globals* section.") |
| 94 | ) | 94 | ) |
| 95 | "A table for returning search results from ebrowse.") | 95 | "A table for returning search results from ebrowse.") |
| 96 | 96 | ||
| @@ -128,7 +128,7 @@ EBROWSE is a C/C++ parser for use with `ebrowse' Emacs program.") | |||
| 128 | ))) | 128 | ))) |
| 129 | 129 | ||
| 130 | (defun semanticdb-create-ebrowse-database (dir) | 130 | (defun semanticdb-create-ebrowse-database (dir) |
| 131 | "Create an EBROSE database for directory DIR. | 131 | "Create an EBROWSE database for directory DIR. |
| 132 | The database file is stored in ~/.semanticdb, or whichever directory | 132 | The database file is stored in ~/.semanticdb, or whichever directory |
| 133 | is specified by `semanticdb-default-save-directory'." | 133 | is specified by `semanticdb-default-save-directory'." |
| 134 | (interactive "DDirectory: ") | 134 | (interactive "DDirectory: ") |
| @@ -597,7 +597,7 @@ Return a list of tags." | |||
| 597 | 597 | ||
| 598 | (defmethod semanticdb-find-tags-for-completion-method | 598 | (defmethod semanticdb-find-tags-for-completion-method |
| 599 | ((table semanticdb-table-ebrowse) prefix &optional tags) | 599 | ((table semanticdb-table-ebrowse) prefix &optional tags) |
| 600 | "In TABLE, find all occurances of tags matching PREFIX. | 600 | "In TABLE, find all occurrences of tags matching PREFIX. |
| 601 | Optional argument TAGS is a list of tags to search. | 601 | Optional argument TAGS is a list of tags to search. |
| 602 | Returns a table of all matching tags." | 602 | Returns a table of all matching tags." |
| 603 | (if tags (call-next-method) | 603 | (if tags (call-next-method) |
| @@ -607,7 +607,7 @@ Returns a table of all matching tags." | |||
| 607 | 607 | ||
| 608 | (defmethod semanticdb-find-tags-by-class-method | 608 | (defmethod semanticdb-find-tags-by-class-method |
| 609 | ((table semanticdb-table-ebrowse) class &optional tags) | 609 | ((table semanticdb-table-ebrowse) class &optional tags) |
| 610 | "In TABLE, find all occurances of tags of CLASS. | 610 | "In TABLE, find all occurrences of tags of CLASS. |
| 611 | Optional argument TAGS is a list of tags to search. | 611 | Optional argument TAGS is a list of tags to search. |
| 612 | Returns a table of all matching tags." | 612 | Returns a table of all matching tags." |
| 613 | (if tags (call-next-method) | 613 | (if tags (call-next-method) |
| @@ -625,7 +625,7 @@ Returns a table of all matching tags." | |||
| 625 | (defmethod semanticdb-deep-find-tags-by-name-method | 625 | (defmethod semanticdb-deep-find-tags-by-name-method |
| 626 | ((table semanticdb-table-ebrowse) name &optional tags) | 626 | ((table semanticdb-table-ebrowse) name &optional tags) |
| 627 | "Find all tags name NAME in TABLE. | 627 | "Find all tags name NAME in TABLE. |
| 628 | Optional argument TAGS is a list of tags t | 628 | Optional argument TAGS is a list of tags to search. |
| 629 | Like `semanticdb-find-tags-by-name-method' for ebrowse." | 629 | Like `semanticdb-find-tags-by-name-method' for ebrowse." |
| 630 | ;;(semanticdb-find-tags-by-name-method table name tags) | 630 | ;;(semanticdb-find-tags-by-name-method table name tags) |
| 631 | (call-next-method)) | 631 | (call-next-method)) |
| @@ -640,7 +640,7 @@ Like `semanticdb-find-tags-by-name-method' for ebrowse." | |||
| 640 | 640 | ||
| 641 | (defmethod semanticdb-deep-find-tags-for-completion-method | 641 | (defmethod semanticdb-deep-find-tags-for-completion-method |
| 642 | ((table semanticdb-table-ebrowse) prefix &optional tags) | 642 | ((table semanticdb-table-ebrowse) prefix &optional tags) |
| 643 | "In TABLE, find all occurances of tags matching PREFIX. | 643 | "In TABLE, find all occurrences of tags matching PREFIX. |
| 644 | Optional argument TAGS is a list of tags to search. | 644 | Optional argument TAGS is a list of tags to search. |
| 645 | Like `semanticdb-find-tags-for-completion-method' for ebrowse." | 645 | Like `semanticdb-find-tags-for-completion-method' for ebrowse." |
| 646 | ;;(semanticdb-find-tags-for-completion-method table prefix tags) | 646 | ;;(semanticdb-find-tags-for-completion-method table prefix tags) |
diff --git a/lisp/cedet/semantic/db-el.el b/lisp/cedet/semantic/db-el.el index d46f727fca6..d313d1dc578 100644 --- a/lisp/cedet/semantic/db-el.el +++ b/lisp/cedet/semantic/db-el.el | |||
| @@ -76,7 +76,7 @@ It does not need refreshing." | |||
| 76 | (defvar-mode-local emacs-lisp-mode semanticdb-find-default-throttle | 76 | (defvar-mode-local emacs-lisp-mode semanticdb-find-default-throttle |
| 77 | '(project omniscience) | 77 | '(project omniscience) |
| 78 | "Search project files, then search this omniscience database. | 78 | "Search project files, then search this omniscience database. |
| 79 | It is not necessary to to system or recursive searching because of | 79 | It is not necessary to do system or recursive searching because of |
| 80 | the omniscience database.") | 80 | the omniscience database.") |
| 81 | 81 | ||
| 82 | ;;; Filename based methods | 82 | ;;; Filename based methods |
| @@ -246,12 +246,12 @@ TOKTYPE is a hint to the type of tag desired." | |||
| 246 | ;;; Search Overrides | 246 | ;;; Search Overrides |
| 247 | ;; | 247 | ;; |
| 248 | (defvar semanticdb-elisp-mapatom-collector nil | 248 | (defvar semanticdb-elisp-mapatom-collector nil |
| 249 | "Variable used to collect mapatoms output.") | 249 | "Variable used to collect `mapatoms' output.") |
| 250 | 250 | ||
| 251 | (defmethod semanticdb-find-tags-by-name-method | 251 | (defmethod semanticdb-find-tags-by-name-method |
| 252 | ((table semanticdb-table-emacs-lisp) name &optional tags) | 252 | ((table semanticdb-table-emacs-lisp) name &optional tags) |
| 253 | "Find all tags name NAME in TABLE. | 253 | "Find all tags named NAME in TABLE. |
| 254 | Uses `inter-soft' to match NAME to emacs symbols. | 254 | Uses `intern-soft' to match NAME to Emacs symbols. |
| 255 | Return a list of tags." | 255 | Return a list of tags." |
| 256 | (if tags (call-next-method) | 256 | (if tags (call-next-method) |
| 257 | ;; No need to search. Use `intern-soft' which does the same thing for us. | 257 | ;; No need to search. Use `intern-soft' which does the same thing for us. |
| @@ -281,7 +281,7 @@ Return a list of tags." | |||
| 281 | 281 | ||
| 282 | (defmethod semanticdb-find-tags-for-completion-method | 282 | (defmethod semanticdb-find-tags-for-completion-method |
| 283 | ((table semanticdb-table-emacs-lisp) prefix &optional tags) | 283 | ((table semanticdb-table-emacs-lisp) prefix &optional tags) |
| 284 | "In TABLE, find all occurances of tags matching PREFIX. | 284 | "In TABLE, find all occurrences of tags matching PREFIX. |
| 285 | Optional argument TAGS is a list of tags to search. | 285 | Optional argument TAGS is a list of tags to search. |
| 286 | Returns a table of all matching tags." | 286 | Returns a table of all matching tags." |
| 287 | (if tags (call-next-method) | 287 | (if tags (call-next-method) |
| @@ -290,7 +290,7 @@ Returns a table of all matching tags." | |||
| 290 | 290 | ||
| 291 | (defmethod semanticdb-find-tags-by-class-method | 291 | (defmethod semanticdb-find-tags-by-class-method |
| 292 | ((table semanticdb-table-emacs-lisp) class &optional tags) | 292 | ((table semanticdb-table-emacs-lisp) class &optional tags) |
| 293 | "In TABLE, find all occurances of tags of CLASS. | 293 | "In TABLE, find all occurrences of tags of CLASS. |
| 294 | Optional argument TAGS is a list of tags to search. | 294 | Optional argument TAGS is a list of tags to search. |
| 295 | Returns a table of all matching tags." | 295 | Returns a table of all matching tags." |
| 296 | (if tags (call-next-method) | 296 | (if tags (call-next-method) |
| @@ -316,7 +316,7 @@ Like `semanticdb-find-tags-by-name-method' for Emacs Lisp." | |||
| 316 | 316 | ||
| 317 | (defmethod semanticdb-deep-find-tags-for-completion-method | 317 | (defmethod semanticdb-deep-find-tags-for-completion-method |
| 318 | ((table semanticdb-table-emacs-lisp) prefix &optional tags) | 318 | ((table semanticdb-table-emacs-lisp) prefix &optional tags) |
| 319 | "In TABLE, find all occurances of tags matching PREFIX. | 319 | "In TABLE, find all occurrences of tags matching PREFIX. |
| 320 | Optional argument TAGS is a list of tags to search. | 320 | Optional argument TAGS is a list of tags to search. |
| 321 | Like `semanticdb-find-tags-for-completion-method' for Emacs Lisp." | 321 | Like `semanticdb-find-tags-for-completion-method' for Emacs Lisp." |
| 322 | (semanticdb-find-tags-for-completion-method table prefix tags)) | 322 | (semanticdb-find-tags-for-completion-method table prefix tags)) |
diff --git a/lisp/cedet/semantic/db-find.el b/lisp/cedet/semantic/db-find.el index 59b190f0073..eba04a7ee02 100644 --- a/lisp/cedet/semantic/db-find.el +++ b/lisp/cedet/semantic/db-find.el | |||
| @@ -281,7 +281,7 @@ identified by translating PATH. Such searches use brute force to | |||
| 281 | scan every available table. | 281 | scan every available table. |
| 282 | 282 | ||
| 283 | The return value is a list of objects of type `semanticdb-table' or | 283 | The return value is a list of objects of type `semanticdb-table' or |
| 284 | it's children. In the case of passing in a find result, the result | 284 | their children. In the case of passing in a find result, the result |
| 285 | is returned unchanged. | 285 | is returned unchanged. |
| 286 | 286 | ||
| 287 | This routine uses `semanticdb-find-table-for-include' to translate | 287 | This routine uses `semanticdb-find-table-for-include' to translate |
| @@ -366,7 +366,7 @@ Default action as described in `semanticdb-find-translate-path'." | |||
| 366 | ans)) | 366 | ans)) |
| 367 | 367 | ||
| 368 | (defun semanticdb-find-need-cache-update-p (table) | 368 | (defun semanticdb-find-need-cache-update-p (table) |
| 369 | "Non nil if the semanticdb TABLE cache needs to be updated." | 369 | "Non-nil if the semanticdb TABLE cache needs to be updated." |
| 370 | ;; If we were passed in something related to a TABLE, | 370 | ;; If we were passed in something related to a TABLE, |
| 371 | ;; do a caching lookup. | 371 | ;; do a caching lookup. |
| 372 | (let* ((index (semanticdb-get-table-index table)) | 372 | (let* ((index (semanticdb-get-table-index table)) |
| @@ -431,7 +431,7 @@ Default action as described in `semanticdb-find-translate-path'." | |||
| 431 | "All include tags scanned, plus action taken on the tag. | 431 | "All include tags scanned, plus action taken on the tag. |
| 432 | Each entry is an alist: | 432 | Each entry is an alist: |
| 433 | (ACTION . TAG) | 433 | (ACTION . TAG) |
| 434 | where ACTION is one of 'scanned, 'duplicate, 'lost. | 434 | where ACTION is one of 'scanned, 'duplicate, 'lost |
| 435 | and TAG is a clone of the include tag that was found.") | 435 | and TAG is a clone of the include tag that was found.") |
| 436 | (make-variable-buffer-local 'semanticdb-find-scanned-include-tags) | 436 | (make-variable-buffer-local 'semanticdb-find-scanned-include-tags) |
| 437 | 437 | ||
| @@ -927,7 +927,7 @@ but should be good enough for debugging assertions." | |||
| 927 | 927 | ||
| 928 | (defun semanticdb-find-result-with-nil-p (resultp) | 928 | (defun semanticdb-find-result-with-nil-p (resultp) |
| 929 | "Non-nil of RESULTP is in the form of a semanticdb search result. | 929 | "Non-nil of RESULTP is in the form of a semanticdb search result. |
| 930 | nil is a valid value where a TABLE usually is, but only if the TAG | 930 | The value nil is valid where a TABLE usually is, but only if the TAG |
| 931 | results include overlays. | 931 | results include overlays. |
| 932 | This query only really tests the first entry in the list that is RESULTP, | 932 | This query only really tests the first entry in the list that is RESULTP, |
| 933 | but should be good enough for debugging assertions." | 933 | but should be good enough for debugging assertions." |
| @@ -1090,8 +1090,8 @@ Returns result." | |||
| 1090 | "Collect all tags returned by FUNCTION over PATH. | 1090 | "Collect all tags returned by FUNCTION over PATH. |
| 1091 | The FUNCTION must take two arguments. The first is TABLE, | 1091 | The FUNCTION must take two arguments. The first is TABLE, |
| 1092 | which is a semanticdb table containing tags. The second argument | 1092 | which is a semanticdb table containing tags. The second argument |
| 1093 | to FUNCTION is TAGS. TAGS may be a list of tags. If TAGS is non-nil, then | 1093 | to FUNCTION is TAGS. TAGS may be a list of tags. If TAGS is non-nil, |
| 1094 | FUNCTION should search the TAG list, not through TABLE. | 1094 | then FUNCTION should search the TAG list, not through TABLE. |
| 1095 | 1095 | ||
| 1096 | See `semanticdb-find-translate-path' for details on PATH. | 1096 | See `semanticdb-find-translate-path' for details on PATH. |
| 1097 | FIND-FILE-MATCH indicates that any time a match is found, the file | 1097 | FIND-FILE-MATCH indicates that any time a match is found, the file |
| @@ -1296,38 +1296,38 @@ associated with that tag should be loaded into a buffer." | |||
| 1296 | 1296 | ||
| 1297 | ;;; Top level Searches | 1297 | ;;; Top level Searches |
| 1298 | (defmethod semanticdb-find-tags-by-name-method ((table semanticdb-abstract-table) name &optional tags) | 1298 | (defmethod semanticdb-find-tags-by-name-method ((table semanticdb-abstract-table) name &optional tags) |
| 1299 | "In TABLE, find all occurances of tags with NAME. | 1299 | "In TABLE, find all occurrences of tags with NAME. |
| 1300 | Optional argument TAGS is a list of tags to search. | 1300 | Optional argument TAGS is a list of tags to search. |
| 1301 | Returns a table of all matching tags." | 1301 | Returns a table of all matching tags." |
| 1302 | (semantic-find-tags-by-name name (or tags (semanticdb-get-tags table)))) | 1302 | (semantic-find-tags-by-name name (or tags (semanticdb-get-tags table)))) |
| 1303 | 1303 | ||
| 1304 | (defmethod semanticdb-find-tags-by-name-regexp-method ((table semanticdb-abstract-table) regexp &optional tags) | 1304 | (defmethod semanticdb-find-tags-by-name-regexp-method ((table semanticdb-abstract-table) regexp &optional tags) |
| 1305 | "In TABLE, find all occurances of tags matching REGEXP. | 1305 | "In TABLE, find all occurrences of tags matching REGEXP. |
| 1306 | Optional argument TAGS is a list of tags to search. | 1306 | Optional argument TAGS is a list of tags to search. |
| 1307 | Returns a table of all matching tags." | 1307 | Returns a table of all matching tags." |
| 1308 | (semantic-find-tags-by-name-regexp regexp (or tags (semanticdb-get-tags table)))) | 1308 | (semantic-find-tags-by-name-regexp regexp (or tags (semanticdb-get-tags table)))) |
| 1309 | 1309 | ||
| 1310 | (defmethod semanticdb-find-tags-for-completion-method ((table semanticdb-abstract-table) prefix &optional tags) | 1310 | (defmethod semanticdb-find-tags-for-completion-method ((table semanticdb-abstract-table) prefix &optional tags) |
| 1311 | "In TABLE, find all occurances of tags matching PREFIX. | 1311 | "In TABLE, find all occurrences of tags matching PREFIX. |
| 1312 | Optional argument TAGS is a list of tags to search. | 1312 | Optional argument TAGS is a list of tags to search. |
| 1313 | Returns a table of all matching tags." | 1313 | Returns a table of all matching tags." |
| 1314 | (semantic-find-tags-for-completion prefix (or tags (semanticdb-get-tags table)))) | 1314 | (semantic-find-tags-for-completion prefix (or tags (semanticdb-get-tags table)))) |
| 1315 | 1315 | ||
| 1316 | (defmethod semanticdb-find-tags-by-class-method ((table semanticdb-abstract-table) class &optional tags) | 1316 | (defmethod semanticdb-find-tags-by-class-method ((table semanticdb-abstract-table) class &optional tags) |
| 1317 | "In TABLE, find all occurances of tags of CLASS. | 1317 | "In TABLE, find all occurrences of tags of CLASS. |
| 1318 | Optional argument TAGS is a list of tags to search. | 1318 | Optional argument TAGS is a list of tags to search. |
| 1319 | Returns a table of all matching tags." | 1319 | Returns a table of all matching tags." |
| 1320 | (semantic-find-tags-by-class class (or tags (semanticdb-get-tags table)))) | 1320 | (semantic-find-tags-by-class class (or tags (semanticdb-get-tags table)))) |
| 1321 | 1321 | ||
| 1322 | (defmethod semanticdb-find-tags-external-children-of-type-method ((table semanticdb-abstract-table) parent &optional tags) | 1322 | (defmethod semanticdb-find-tags-external-children-of-type-method ((table semanticdb-abstract-table) parent &optional tags) |
| 1323 | "In TABLE, find all occurances of tags whose parent is the PARENT type. | 1323 | "In TABLE, find all occurrences of tags whose parent is the PARENT type. |
| 1324 | Optional argument TAGS is a list of tags to search. | 1324 | Optional argument TAGS is a list of tags to search. |
| 1325 | Returns a table of all matching tags." | 1325 | Returns a table of all matching tags." |
| 1326 | (require 'semantic/find) | 1326 | (require 'semantic/find) |
| 1327 | (semantic-find-tags-external-children-of-type parent (or tags (semanticdb-get-tags table)))) | 1327 | (semantic-find-tags-external-children-of-type parent (or tags (semanticdb-get-tags table)))) |
| 1328 | 1328 | ||
| 1329 | (defmethod semanticdb-find-tags-subclasses-of-type-method ((table semanticdb-abstract-table) parent &optional tags) | 1329 | (defmethod semanticdb-find-tags-subclasses-of-type-method ((table semanticdb-abstract-table) parent &optional tags) |
| 1330 | "In TABLE, find all occurances of tags whose parent is the PARENT type. | 1330 | "In TABLE, find all occurrences of tags whose parent is the PARENT type. |
| 1331 | Optional argument TAGS is a list of tags to search. | 1331 | Optional argument TAGS is a list of tags to search. |
| 1332 | Returns a table of all matching tags." | 1332 | Returns a table of all matching tags." |
| 1333 | (require 'semantic/find) | 1333 | (require 'semantic/find) |
| @@ -1335,7 +1335,7 @@ Returns a table of all matching tags." | |||
| 1335 | 1335 | ||
| 1336 | ;;; Deep Searches | 1336 | ;;; Deep Searches |
| 1337 | (defmethod semanticdb-deep-find-tags-by-name-method ((table semanticdb-abstract-table) name &optional tags) | 1337 | (defmethod semanticdb-deep-find-tags-by-name-method ((table semanticdb-abstract-table) name &optional tags) |
| 1338 | "In TABLE, find all occurances of tags with NAME. | 1338 | "In TABLE, find all occurrences of tags with NAME. |
| 1339 | Search in all tags in TABLE, and all components of top level tags in | 1339 | Search in all tags in TABLE, and all components of top level tags in |
| 1340 | TABLE. | 1340 | TABLE. |
| 1341 | Optional argument TAGS is a list of tags to search. | 1341 | Optional argument TAGS is a list of tags to search. |
| @@ -1343,7 +1343,7 @@ Return a table of all matching tags." | |||
| 1343 | (semantic-find-tags-by-name name (semantic-flatten-tags-table (or tags (semanticdb-get-tags table))))) | 1343 | (semantic-find-tags-by-name name (semantic-flatten-tags-table (or tags (semanticdb-get-tags table))))) |
| 1344 | 1344 | ||
| 1345 | (defmethod semanticdb-deep-find-tags-by-name-regexp-method ((table semanticdb-abstract-table) regexp &optional tags) | 1345 | (defmethod semanticdb-deep-find-tags-by-name-regexp-method ((table semanticdb-abstract-table) regexp &optional tags) |
| 1346 | "In TABLE, find all occurances of tags matching REGEXP. | 1346 | "In TABLE, find all occurrences of tags matching REGEXP. |
| 1347 | Search in all tags in TABLE, and all components of top level tags in | 1347 | Search in all tags in TABLE, and all components of top level tags in |
| 1348 | TABLE. | 1348 | TABLE. |
| 1349 | Optional argument TAGS is a list of tags to search. | 1349 | Optional argument TAGS is a list of tags to search. |
| @@ -1351,7 +1351,7 @@ Return a table of all matching tags." | |||
| 1351 | (semantic-find-tags-by-name-regexp regexp (semantic-flatten-tags-table (or tags (semanticdb-get-tags table))))) | 1351 | (semantic-find-tags-by-name-regexp regexp (semantic-flatten-tags-table (or tags (semanticdb-get-tags table))))) |
| 1352 | 1352 | ||
| 1353 | (defmethod semanticdb-deep-find-tags-for-completion-method ((table semanticdb-abstract-table) prefix &optional tags) | 1353 | (defmethod semanticdb-deep-find-tags-for-completion-method ((table semanticdb-abstract-table) prefix &optional tags) |
| 1354 | "In TABLE, find all occurances of tags matching PREFIX. | 1354 | "In TABLE, find all occurrences of tags matching PREFIX. |
| 1355 | Search in all tags in TABLE, and all components of top level tags in | 1355 | Search in all tags in TABLE, and all components of top level tags in |
| 1356 | TABLE. | 1356 | TABLE. |
| 1357 | Optional argument TAGS is a list of tags to search. | 1357 | Optional argument TAGS is a list of tags to search. |
diff --git a/lisp/cedet/semantic/db-global.el b/lisp/cedet/semantic/db-global.el index bfd97fc5a54..444efbd17e0 100644 --- a/lisp/cedet/semantic/db-global.el +++ b/lisp/cedet/semantic/db-global.el | |||
| @@ -66,7 +66,7 @@ in a GNU Global supported hierarchy." | |||
| 66 | ) | 66 | ) |
| 67 | 67 | ||
| 68 | (defun semanticdb-enable-gnu-global-hook () | 68 | (defun semanticdb-enable-gnu-global-hook () |
| 69 | "Add support for GNU Global in the current buffer via semantic-init-hook. | 69 | "Add support for GNU Global in the current buffer via `semantic-init-hook'. |
| 70 | MODE is the major mode to support." | 70 | MODE is the major mode to support." |
| 71 | (semanticdb-enable-gnu-global-in-buffer t)) | 71 | (semanticdb-enable-gnu-global-in-buffer t)) |
| 72 | 72 | ||
| @@ -78,8 +78,8 @@ MODE is the major mode to support." | |||
| 78 | 78 | ||
| 79 | (defun semanticdb-enable-gnu-global-in-buffer (&optional dont-err-if-not-available) | 79 | (defun semanticdb-enable-gnu-global-in-buffer (&optional dont-err-if-not-available) |
| 80 | "Enable a GNU Global database in the current buffer. | 80 | "Enable a GNU Global database in the current buffer. |
| 81 | Argument DONT-ERR-IF-NOT-AVAILABLE will throw an error if GNU Global | 81 | When GNU Global is not available for this directory, display a message |
| 82 | is not available for this directory." | 82 | if optional DONT-ERR-IF-NOT-AVAILABLE is non-nil; else throw an error." |
| 83 | (interactive "P") | 83 | (interactive "P") |
| 84 | (if (cedet-gnu-global-root) | 84 | (if (cedet-gnu-global-root) |
| 85 | (setq | 85 | (setq |
| @@ -168,7 +168,7 @@ Return a list of tags." | |||
| 168 | 168 | ||
| 169 | (defmethod semanticdb-find-tags-for-completion-method | 169 | (defmethod semanticdb-find-tags-for-completion-method |
| 170 | ((table semanticdb-table-global) prefix &optional tags) | 170 | ((table semanticdb-table-global) prefix &optional tags) |
| 171 | "In TABLE, find all occurances of tags matching PREFIX. | 171 | "In TABLE, find all occurrences of tags matching PREFIX. |
| 172 | Optional argument TAGS is a list of tags to search. | 172 | Optional argument TAGS is a list of tags to search. |
| 173 | Returns a table of all matching tags." | 173 | Returns a table of all matching tags." |
| 174 | (if tags (call-next-method) | 174 | (if tags (call-next-method) |
| @@ -195,7 +195,7 @@ Returns a table of all matching tags." | |||
| 195 | (defmethod semanticdb-deep-find-tags-by-name-method | 195 | (defmethod semanticdb-deep-find-tags-by-name-method |
| 196 | ((table semanticdb-table-global) name &optional tags) | 196 | ((table semanticdb-table-global) name &optional tags) |
| 197 | "Find all tags name NAME in TABLE. | 197 | "Find all tags name NAME in TABLE. |
| 198 | Optional argument TAGS is a list of tags t | 198 | Optional argument TAGS is a list of tags to search. |
| 199 | Like `semanticdb-find-tags-by-name-method' for global." | 199 | Like `semanticdb-find-tags-by-name-method' for global." |
| 200 | (semanticdb-find-tags-by-name-method table name tags)) | 200 | (semanticdb-find-tags-by-name-method table name tags)) |
| 201 | 201 | ||
| @@ -208,7 +208,7 @@ Like `semanticdb-find-tags-by-name-method' for global." | |||
| 208 | 208 | ||
| 209 | (defmethod semanticdb-deep-find-tags-for-completion-method | 209 | (defmethod semanticdb-deep-find-tags-for-completion-method |
| 210 | ((table semanticdb-table-global) prefix &optional tags) | 210 | ((table semanticdb-table-global) prefix &optional tags) |
| 211 | "In TABLE, find all occurances of tags matching PREFIX. | 211 | "In TABLE, find all occurrences of tags matching PREFIX. |
| 212 | Optional argument TAGS is a list of tags to search. | 212 | Optional argument TAGS is a list of tags to search. |
| 213 | Like `semanticdb-find-tags-for-completion-method' for global." | 213 | Like `semanticdb-find-tags-for-completion-method' for global." |
| 214 | (semanticdb-find-tags-for-completion-method table prefix tags)) | 214 | (semanticdb-find-tags-for-completion-method table prefix tags)) |
diff --git a/lisp/cedet/semantic/db-javascript.el b/lisp/cedet/semantic/db-javascript.el index 2e357e677e2..a972c33f32a 100644 --- a/lisp/cedet/semantic/db-javascript.el +++ b/lisp/cedet/semantic/db-javascript.el | |||
| @@ -77,7 +77,7 @@ | |||
| 77 | (("uriComponent" variable nil nil nil))) | 77 | (("uriComponent" variable nil nil nil))) |
| 78 | nil nil)) | 78 | nil nil)) |
| 79 | "Hard-coded list of javascript tags for semanticdb. | 79 | "Hard-coded list of javascript tags for semanticdb. |
| 80 | See bottom of this file for instruction on managing this list.") | 80 | See bottom of this file for instructions on managing this list.") |
| 81 | 81 | ||
| 82 | ;;; Classes: | 82 | ;;; Classes: |
| 83 | (defclass semanticdb-table-javascript (semanticdb-search-results-table) | 83 | (defclass semanticdb-table-javascript (semanticdb-search-results-table) |
| @@ -87,7 +87,7 @@ See bottom of this file for instruction on managing this list.") | |||
| 87 | 87 | ||
| 88 | (defclass semanticdb-project-database-javascript | 88 | (defclass semanticdb-project-database-javascript |
| 89 | (semanticdb-project-database | 89 | (semanticdb-project-database |
| 90 | eieio-singleton ;this db is for js globals, so singleton is apropriate | 90 | eieio-singleton ;this db is for js globals, so singleton is appropriate |
| 91 | ) | 91 | ) |
| 92 | ((new-table-class :initform semanticdb-table-javascript | 92 | ((new-table-class :initform semanticdb-table-javascript |
| 93 | :type class | 93 | :type class |
| @@ -107,7 +107,7 @@ See bottom of this file for instruction on managing this list.") | |||
| 107 | (defvar-mode-local javascript-mode semanticdb-find-default-throttle | 107 | (defvar-mode-local javascript-mode semanticdb-find-default-throttle |
| 108 | '(project omniscience) | 108 | '(project omniscience) |
| 109 | "Search project files, then search this omniscience database. | 109 | "Search project files, then search this omniscience database. |
| 110 | It is not necessary to to system or recursive searching because of | 110 | It is not necessary to do system or recursive searching because of |
| 111 | the omniscience database.") | 111 | the omniscience database.") |
| 112 | 112 | ||
| 113 | ;;; Filename based methods | 113 | ;;; Filename based methods |
| @@ -157,7 +157,7 @@ local variable." | |||
| 157 | ;; to a search list. | 157 | ;; to a search list. |
| 158 | (define-mode-local-override semanticdb-find-translate-path javascript-mode | 158 | (define-mode-local-override semanticdb-find-translate-path javascript-mode |
| 159 | (path brutish) | 159 | (path brutish) |
| 160 | "Return a list of semanticdb tables asociated with PATH. | 160 | "Return a list of semanticdb tables associated with PATH. |
| 161 | If brutish, do the default action. | 161 | If brutish, do the default action. |
| 162 | If not brutish, do the default action, and append the system | 162 | If not brutish, do the default action, and append the system |
| 163 | database (if available.)" | 163 | database (if available.)" |
| @@ -216,7 +216,7 @@ Return a list of tags." | |||
| 216 | 216 | ||
| 217 | (defmethod semanticdb-find-tags-for-completion-method | 217 | (defmethod semanticdb-find-tags-for-completion-method |
| 218 | ((table semanticdb-table-javascript) prefix &optional tags) | 218 | ((table semanticdb-table-javascript) prefix &optional tags) |
| 219 | "In TABLE, find all occurances of tags matching PREFIX. | 219 | "In TABLE, find all occurrences of tags matching PREFIX. |
| 220 | Optional argument TAGS is a list of tags to search. | 220 | Optional argument TAGS is a list of tags to search. |
| 221 | Returns a table of all matching tags." | 221 | Returns a table of all matching tags." |
| 222 | (if tags (call-next-method) | 222 | (if tags (call-next-method) |
| @@ -226,7 +226,7 @@ Returns a table of all matching tags." | |||
| 226 | 226 | ||
| 227 | (defmethod semanticdb-find-tags-by-class-method | 227 | (defmethod semanticdb-find-tags-by-class-method |
| 228 | ((table semanticdb-table-javascript) class &optional tags) | 228 | ((table semanticdb-table-javascript) class &optional tags) |
| 229 | "In TABLE, find all occurances of tags of CLASS. | 229 | "In TABLE, find all occurrences of tags of CLASS. |
| 230 | Optional argument TAGS is a list of tags to search. | 230 | Optional argument TAGS is a list of tags to search. |
| 231 | Returns a table of all matching tags." | 231 | Returns a table of all matching tags." |
| 232 | (if tags (call-next-method) | 232 | (if tags (call-next-method) |
| @@ -248,7 +248,7 @@ Returns a table of all matching tags." | |||
| 248 | (defmethod semanticdb-deep-find-tags-by-name-method | 248 | (defmethod semanticdb-deep-find-tags-by-name-method |
| 249 | ((table semanticdb-table-javascript) name &optional tags) | 249 | ((table semanticdb-table-javascript) name &optional tags) |
| 250 | "Find all tags name NAME in TABLE. | 250 | "Find all tags name NAME in TABLE. |
| 251 | Optional argument TAGS is a list of tags t | 251 | Optional argument TAGS is a list of tags to search. |
| 252 | Like `semanticdb-find-tags-by-name-method' for javascript." | 252 | Like `semanticdb-find-tags-by-name-method' for javascript." |
| 253 | (semanticdb-find-tags-by-name-method table name tags)) | 253 | (semanticdb-find-tags-by-name-method table name tags)) |
| 254 | 254 | ||
| @@ -261,7 +261,7 @@ Like `semanticdb-find-tags-by-name-method' for javascript." | |||
| 261 | 261 | ||
| 262 | (defmethod semanticdb-deep-find-tags-for-completion-method | 262 | (defmethod semanticdb-deep-find-tags-for-completion-method |
| 263 | ((table semanticdb-table-javascript) prefix &optional tags) | 263 | ((table semanticdb-table-javascript) prefix &optional tags) |
| 264 | "In TABLE, find all occurances of tags matching PREFIX. | 264 | "In TABLE, find all occurrences of tags matching PREFIX. |
| 265 | Optional argument TAGS is a list of tags to search. | 265 | Optional argument TAGS is a list of tags to search. |
| 266 | Like `semanticdb-find-tags-for-completion-method' for javascript." | 266 | Like `semanticdb-find-tags-for-completion-method' for javascript." |
| 267 | (semanticdb-find-tags-for-completion-method table prefix tags)) | 267 | (semanticdb-find-tags-for-completion-method table prefix tags)) |
| @@ -270,7 +270,7 @@ Like `semanticdb-find-tags-for-completion-method' for javascript." | |||
| 270 | ;; | 270 | ;; |
| 271 | (defmethod semanticdb-find-tags-external-children-of-type-method | 271 | (defmethod semanticdb-find-tags-external-children-of-type-method |
| 272 | ((table semanticdb-table-javascript) type &optional tags) | 272 | ((table semanticdb-table-javascript) type &optional tags) |
| 273 | "Find all nonterminals which are child elements of TYPE | 273 | "Find all nonterminals which are child elements of TYPE. |
| 274 | Optional argument TAGS is a list of tags to search. | 274 | Optional argument TAGS is a list of tags to search. |
| 275 | Return a list of tags." | 275 | Return a list of tags." |
| 276 | (if tags (call-next-method) | 276 | (if tags (call-next-method) |
diff --git a/lisp/cedet/semantic/idle.el b/lisp/cedet/semantic/idle.el index cf107232645..ba7a49757a5 100644 --- a/lisp/cedet/semantic/idle.el +++ b/lisp/cedet/semantic/idle.el | |||
| @@ -338,7 +338,7 @@ Disable to prevent lots of excessive parsing in idle time." | |||
| 338 | (defun semantic-idle-work-for-one-buffer (buffer) | 338 | (defun semantic-idle-work-for-one-buffer (buffer) |
| 339 | "Do long-processing work 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 |
| @@ -367,7 +367,7 @@ Returns t of all processing succeeded." | |||
| 367 | 367 | ||
| 368 | (defun semantic-idle-work-core-handler () | 368 | (defun semantic-idle-work-core-handler () |
| 369 | "Core handler for idle work processing of long running tasks. | 369 | "Core handler for idle work processing of long running tasks. |
| 370 | Visits semantic controlled buffers, and makes sure all needed | 370 | Visits Semantic controlled buffers, and makes sure all needed |
| 371 | include files have been parsed, and that the typecache is up to date. | 371 | include files have been parsed, and that the typecache is up to date. |
| 372 | Uses `semantic-idle-work-for-on-buffer' to do the work." | 372 | Uses `semantic-idle-work-for-on-buffer' to do the work." |
| 373 | (let ((errbuf nil) | 373 | (let ((errbuf nil) |
| @@ -577,7 +577,7 @@ Does nothing if the current buffer doesn't need reparsing." | |||
| 577 | DOC will be a documentation string describing FORMS. | 577 | DOC will be a documentation string describing FORMS. |
| 578 | FORMS will be called during idle time after the current buffer's | 578 | FORMS will be called during idle time after the current buffer's |
| 579 | semantic tag information has been updated. | 579 | semantic tag information has been updated. |
| 580 | This routines creates the following functions and variables:" | 580 | This routine creates the following functions and variables:" |
| 581 | (let ((global (intern (concat "global-" (symbol-name name) "-mode"))) | 581 | (let ((global (intern (concat "global-" (symbol-name name) "-mode"))) |
| 582 | (mode (intern (concat (symbol-name name) "-mode"))) | 582 | (mode (intern (concat (symbol-name name) "-mode"))) |
| 583 | (hook (intern (concat (symbol-name name) "-mode-hook"))) | 583 | (hook (intern (concat (symbol-name name) "-mode-hook"))) |
| @@ -764,7 +764,7 @@ specific to a major mode. For example, in jde mode: | |||
| 764 | jde-java-font-lock-code-face)))") | 764 | jde-java-font-lock-code-face)))") |
| 765 | 765 | ||
| 766 | (defun semantic-idle-summary-useful-context-p () | 766 | (defun semantic-idle-summary-useful-context-p () |
| 767 | "Non-nil of we should show a summary based on context." | 767 | "Non-nil if we should show a summary based on context." |
| 768 | (if (and (boundp 'font-lock-mode) | 768 | (if (and (boundp 'font-lock-mode) |
| 769 | font-lock-mode | 769 | font-lock-mode |
| 770 | (memq (get-text-property (point) 'face) | 770 | (memq (get-text-property (point) 'face) |
| @@ -959,7 +959,7 @@ Call `semantic-symref-hits-in-region' to identify local references." | |||
| 959 | ;;;###autoload | 959 | ;;;###autoload |
| 960 | (defun global-semantic-idle-scheduler-mode (&optional arg) | 960 | (defun global-semantic-idle-scheduler-mode (&optional arg) |
| 961 | "Toggle global use of option `semantic-idle-scheduler-mode'. | 961 | "Toggle global use of option `semantic-idle-scheduler-mode'. |
| 962 | The idle scheduler with automatically reparse buffers in idle time, | 962 | The idle scheduler will automatically reparse buffers in idle time, |
| 963 | and then schedule other jobs setup with `semantic-idle-scheduler-add'. | 963 | and then schedule other jobs setup with `semantic-idle-scheduler-add'. |
| 964 | If ARG is positive, enable, if it is negative, disable. | 964 | If ARG is positive, enable, if it is negative, disable. |
| 965 | If ARG is nil, then toggle." | 965 | If ARG is nil, then toggle." |
diff --git a/lisp/cedet/semantic/util-modes.el b/lisp/cedet/semantic/util-modes.el index 21087ef2506..7e3a615d0b1 100644 --- a/lisp/cedet/semantic/util-modes.el +++ b/lisp/cedet/semantic/util-modes.el | |||
| @@ -337,7 +337,7 @@ semantic parser cannot match is highlighted with a red underline." | |||
| 337 | (((class color) (background light)) | 337 | (((class color) (background light)) |
| 338 | (:underline "red"))) | 338 | (:underline "red"))) |
| 339 | "Face used to show unmatched syntax in. | 339 | "Face used to show unmatched syntax in. |
| 340 | The face is used in `semantic-show-unmatched-syntax-mode'." | 340 | The face is used in `semantic-show-unmatched-syntax-mode'." |
| 341 | :group 'semantic-faces) | 341 | :group 'semantic-faces) |
| 342 | 342 | ||
| 343 | (defsubst semantic-unmatched-syntax-overlay-p (overlay) | 343 | (defsubst semantic-unmatched-syntax-overlay-p (overlay) |
| @@ -767,7 +767,7 @@ This makes it appear that the first line of that tag is | |||
| 767 | ] | 767 | ] |
| 768 | [ "Narrow To Headerline Tag" senator-narrow-to-defun | 768 | [ "Narrow To Headerline Tag" senator-narrow-to-defun |
| 769 | :active (semantic-current-tag) | 769 | :active (semantic-current-tag) |
| 770 | :help "Narrow to the bounds of the current tag."] | 770 | :help "Narrow to the bounds of the current tag"] |
| 771 | [ "Fold Headerline Tag" senator-fold-tag-toggle | 771 | [ "Fold Headerline Tag" senator-fold-tag-toggle |
| 772 | :active (semantic-current-tag) | 772 | :active (semantic-current-tag) |
| 773 | :style toggle | 773 | :style toggle |
| @@ -854,7 +854,7 @@ when it lands in the sticky line." | |||
| 854 | :type 'string) | 854 | :type 'string) |
| 855 | 855 | ||
| 856 | (defvar semantic-stickyfunc-old-hlf nil | 856 | (defvar semantic-stickyfunc-old-hlf nil |
| 857 | "Value of the header line when entering sticky func mode.") | 857 | "Value of the header line when entering stickyfunc mode.") |
| 858 | 858 | ||
| 859 | (defconst semantic-stickyfunc-header-line-format | 859 | (defconst semantic-stickyfunc-header-line-format |
| 860 | (cond ((featurep 'xemacs) | 860 | (cond ((featurep 'xemacs) |
| @@ -868,7 +868,7 @@ when it lands in the sticky line." | |||
| 868 | '(:eval (list semantic-stickyfunc-indent-string | 868 | '(:eval (list semantic-stickyfunc-indent-string |
| 869 | (semantic-stickyfunc-fetch-stickyline)))) | 869 | (semantic-stickyfunc-fetch-stickyline)))) |
| 870 | (t nil)) | 870 | (t nil)) |
| 871 | "The header line format used by sticky func mode.") | 871 | "The header line format used by stickyfunc mode.") |
| 872 | 872 | ||
| 873 | (defun semantic-stickyfunc-mode-setup () | 873 | (defun semantic-stickyfunc-mode-setup () |
| 874 | "Setup option `semantic-stickyfunc-mode'. | 874 | "Setup option `semantic-stickyfunc-mode'. |
| @@ -936,7 +936,7 @@ minor mode is enabled." | |||
| 936 | 936 | ||
| 937 | (defvar semantic-stickyfunc-sticky-classes | 937 | (defvar semantic-stickyfunc-sticky-classes |
| 938 | '(function type) | 938 | '(function type) |
| 939 | "List of tag classes which sticky func will display in the header line.") | 939 | "List of tag classes which stickyfunc will display in the header line.") |
| 940 | (make-variable-buffer-local 'semantic-stickyfunc-sticky-classes) | 940 | (make-variable-buffer-local 'semantic-stickyfunc-sticky-classes) |
| 941 | 941 | ||
| 942 | (defun semantic-stickyfunc-tag-to-stick () | 942 | (defun semantic-stickyfunc-tag-to-stick () |
| @@ -953,7 +953,7 @@ minor mode is enabled." | |||
| 953 | 953 | ||
| 954 | (defun semantic-stickyfunc-fetch-stickyline () | 954 | (defun semantic-stickyfunc-fetch-stickyline () |
| 955 | "Make the function at the top of the current window sticky. | 955 | "Make the function at the top of the current window sticky. |
| 956 | Capture it's function declaration, and place it in the header line. | 956 | Capture its function declaration, and place it in the header line. |
| 957 | If there is no function, disable the header line." | 957 | If there is no function, disable the header line." |
| 958 | (let ((str | 958 | (let ((str |
| 959 | (save-excursion | 959 | (save-excursion |
| @@ -962,7 +962,7 @@ If there is no function, disable the header line." | |||
| 962 | (end-of-line) | 962 | (end-of-line) |
| 963 | ;; Capture this function | 963 | ;; Capture this function |
| 964 | (let* ((tag (semantic-stickyfunc-tag-to-stick))) | 964 | (let* ((tag (semantic-stickyfunc-tag-to-stick))) |
| 965 | ;; TAG is nil if there was nothing of the apropriate type there. | 965 | ;; TAG is nil if there was nothing of the appropriate type there. |
| 966 | (if (not tag) | 966 | (if (not tag) |
| 967 | ;; Set it to be the text under the header line | 967 | ;; Set it to be the text under the header line |
| 968 | (buffer-substring (point-at-bol) (point-at-eol)) | 968 | (buffer-substring (point-at-bol) (point-at-eol)) |
| @@ -1080,7 +1080,7 @@ When enabled, the first line of the current tag is highlighted." | |||
| 1080 | ] | 1080 | ] |
| 1081 | [ "Narrow To Tag" senator-narrow-to-defun | 1081 | [ "Narrow To Tag" senator-narrow-to-defun |
| 1082 | :active (semantic-current-tag) | 1082 | :active (semantic-current-tag) |
| 1083 | :help "Narrow to the bounds of the current tag."] | 1083 | :help "Narrow to the bounds of the current tag"] |
| 1084 | [ "Fold Tag" senator-fold-tag-toggle | 1084 | [ "Fold Tag" senator-fold-tag-toggle |
| 1085 | :active (semantic-current-tag) | 1085 | :active (semantic-current-tag) |
| 1086 | :style toggle | 1086 | :style toggle |
| @@ -1129,7 +1129,7 @@ Use the command `semantic-highlight-func-mode' to change this variable.") | |||
| 1129 | 1129 | ||
| 1130 | (defun semantic-highlight-func-mode-setup () | 1130 | (defun semantic-highlight-func-mode-setup () |
| 1131 | "Setup option `semantic-highlight-func-mode'. | 1131 | "Setup option `semantic-highlight-func-mode'. |
| 1132 | For semantic enabled buffers, highlight the first line of the | 1132 | For Semantic enabled buffers, highlight the first line of the |
| 1133 | current tag declaration." | 1133 | current tag declaration." |
| 1134 | (if semantic-highlight-func-mode | 1134 | (if semantic-highlight-func-mode |
| 1135 | (progn | 1135 | (progn |
| @@ -1202,7 +1202,7 @@ function was called, move the overlay." | |||
| 1202 | (setq semantic-highlight-func-ct-overlay ol) | 1202 | (setq semantic-highlight-func-ct-overlay ol) |
| 1203 | ) | 1203 | ) |
| 1204 | 1204 | ||
| 1205 | ;; TAG is nil if there was nothing of the apropriate type there. | 1205 | ;; TAG is nil if there was nothing of the appropriate type there. |
| 1206 | (if (or (not tag) disable) | 1206 | (if (or (not tag) disable) |
| 1207 | ;; No tag, make the overlay go away. | 1207 | ;; No tag, make the overlay go away. |
| 1208 | (progn | 1208 | (progn |
diff --git a/lisp/cedet/srecode/dictionary.el b/lisp/cedet/srecode/dictionary.el index deadc06abba..8d168a7f339 100644 --- a/lisp/cedet/srecode/dictionary.el +++ b/lisp/cedet/srecode/dictionary.el | |||
| @@ -240,7 +240,7 @@ You can add several dictionaries to the same section macro. | |||
| 240 | For each dictionary added to a macro, the block of codes in the | 240 | For each dictionary added to a macro, the block of codes in the |
| 241 | template will be repeated. | 241 | template will be repeated. |
| 242 | 242 | ||
| 243 | If optional argument SHOW-ONLY is non-nil, then don't add a new dictionarly | 243 | If optional argument SHOW-ONLY is non-nil, then don't add a new dictionary |
| 244 | if there is already one in place. Also, don't add FIRST/LAST entries. | 244 | if there is already one in place. Also, don't add FIRST/LAST entries. |
| 245 | These entries are not needed when we are just showing a section. | 245 | These entries are not needed when we are just showing a section. |
| 246 | 246 | ||
| @@ -402,7 +402,7 @@ FUNCTION and DICTIONARY are as for the baseclass." | |||
| 402 | (defclass srecode-field-value (srecode-dictionary-compound-value) | 402 | (defclass srecode-field-value (srecode-dictionary-compound-value) |
| 403 | ((firstinserter :initarg :firstinserter | 403 | ((firstinserter :initarg :firstinserter |
| 404 | :documentation | 404 | :documentation |
| 405 | "The inserter object for the first occurance of this field.") | 405 | "The inserter object for the first occurrence of this field.") |
| 406 | (defaultvalue :initarg :defaultvalue | 406 | (defaultvalue :initarg :defaultvalue |
| 407 | :documentation | 407 | :documentation |
| 408 | "The default value for this inserter.") | 408 | "The default value for this inserter.") |
diff --git a/lisp/cedet/srecode/extract.el b/lisp/cedet/srecode/extract.el index 8a324550c4d..90eda533335 100644 --- a/lisp/cedet/srecode/extract.el +++ b/lisp/cedet/srecode/extract.el | |||
| @@ -216,7 +216,7 @@ Return nil if nothing was extracted." | |||
| 216 | (srecode-insert-include-lookup ins dict) | 216 | (srecode-insert-include-lookup ins dict) |
| 217 | ;; There are two modes for includes. One is with no dict, | 217 | ;; There are two modes for includes. One is with no dict, |
| 218 | ;; so it is inserted straight. If the dict has a name, then | 218 | ;; so it is inserted straight. If the dict has a name, then |
| 219 | ;; we need to run once per dictionary occurance. | 219 | ;; we need to run once per dictionary occurrence. |
| 220 | (if (not (string= (oref ins :object-name) "")) | 220 | (if (not (string= (oref ins :object-name) "")) |
| 221 | ;; With a name, do the insertion. | 221 | ;; With a name, do the insertion. |
| 222 | (let ((subdict (srecode-dictionary-add-section-dictionary | 222 | (let ((subdict (srecode-dictionary-add-section-dictionary |
diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el index 7c53c3d9461..62d6928c024 100644 --- a/lisp/dired-aux.el +++ b/lisp/dired-aux.el | |||
| @@ -2308,7 +2308,7 @@ Use \\[dired-hide-all] to (un)hide all directories." | |||
| 2308 | (restore-buffer-modified-p modflag))) | 2308 | (restore-buffer-modified-p modflag))) |
| 2309 | 2309 | ||
| 2310 | ;;;###autoload | 2310 | ;;;###autoload |
| 2311 | (defun dired-hide-all (arg) | 2311 | (defun dired-hide-all (&optional ignored) |
| 2312 | "Hide all subdirectories, leaving only their header lines. | 2312 | "Hide all subdirectories, leaving only their header lines. |
| 2313 | If there is already something hidden, make everything visible again. | 2313 | If there is already something hidden, make everything visible again. |
| 2314 | Use \\[dired-hide-subdir] to (un)hide a particular subdirectory." | 2314 | Use \\[dired-hide-subdir] to (un)hide a particular subdirectory." |
diff --git a/lisp/dired.el b/lisp/dired.el index d4bf1d019a0..1fc90c308b1 100644 --- a/lisp/dired.el +++ b/lisp/dired.el | |||
| @@ -3517,7 +3517,7 @@ Ask means pop up a menu for the user to select one of copy, move or link." | |||
| 3517 | ;;;;;; dired-run-shell-command dired-do-shell-command dired-do-async-shell-command | 3517 | ;;;;;; dired-run-shell-command dired-do-shell-command dired-do-async-shell-command |
| 3518 | ;;;;;; dired-clean-directory dired-do-print dired-do-touch dired-do-chown | 3518 | ;;;;;; dired-clean-directory dired-do-print dired-do-touch dired-do-chown |
| 3519 | ;;;;;; dired-do-chgrp dired-do-chmod dired-compare-directories dired-backup-diff | 3519 | ;;;;;; dired-do-chgrp dired-do-chmod dired-compare-directories dired-backup-diff |
| 3520 | ;;;;;; dired-diff) "dired-aux" "dired-aux.el" "557aca1f6e86b39f1c7612ee123d5354") | 3520 | ;;;;;; dired-diff) "dired-aux" "dired-aux.el" "07676ea25af17f5d50cc5db4f53bddc0") |
| 3521 | ;;; Generated autoloads from dired-aux.el | 3521 | ;;; Generated autoloads from dired-aux.el |
| 3522 | 3522 | ||
| 3523 | (autoload 'dired-diff "dired-aux" "\ | 3523 | (autoload 'dired-diff "dired-aux" "\ |
| @@ -3917,7 +3917,7 @@ Hide all subdirectories, leaving only their header lines. | |||
| 3917 | If there is already something hidden, make everything visible again. | 3917 | If there is already something hidden, make everything visible again. |
| 3918 | Use \\[dired-hide-subdir] to (un)hide a particular subdirectory. | 3918 | Use \\[dired-hide-subdir] to (un)hide a particular subdirectory. |
| 3919 | 3919 | ||
| 3920 | \(fn ARG)" t nil) | 3920 | \(fn &optional IGNORED)" t nil) |
| 3921 | 3921 | ||
| 3922 | (autoload 'dired-isearch-filenames-setup "dired-aux" "\ | 3922 | (autoload 'dired-isearch-filenames-setup "dired-aux" "\ |
| 3923 | Set up isearch to search in Dired file names. | 3923 | Set up isearch to search in Dired file names. |
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 4f01e540601..d2abdcffe0d 100644 --- a/lisp/emacs-lisp/chart.el +++ b/lisp/emacs-lisp/chart.el | |||
| @@ -644,7 +644,7 @@ SORT-PRED if desired." | |||
| 644 | ;; Lets create the chart! | 644 | ;; Lets create the chart! |
| 645 | (chart-bar-quickie 'vertical "Files Extension Distribution" | 645 | (chart-bar-quickie 'vertical "Files Extension Distribution" |
| 646 | extlst "File Extensions" | 646 | extlst "File Extensions" |
| 647 | cntlst "# of occurances" | 647 | cntlst "# of occurrences" |
| 648 | 10 | 648 | 10 |
| 649 | '(lambda (a b) (> (cdr a) (cdr b)))) | 649 | '(lambda (a b) (> (cdr a) (cdr b)))) |
| 650 | )) | 650 | )) |
| @@ -740,9 +740,9 @@ SORT-PRED if desired." | |||
| 740 | (setcar cell (1+ (car cell)))) | 740 | (setcar cell (1+ (car cell)))) |
| 741 | (setq nmlst (cons nam nmlst) | 741 | (setq nmlst (cons nam nmlst) |
| 742 | cntlst (cons 1 cntlst)))))) | 742 | cntlst (cons 1 cntlst)))))) |
| 743 | (chart-bar-quickie 'vertical "Username Occurance in RMAIL box" | 743 | (chart-bar-quickie 'vertical "Username Occurrence in RMAIL box" |
| 744 | nmlst "User Names" | 744 | nmlst "User Names" |
| 745 | cntlst "# of occurances" | 745 | cntlst "# of occurrences" |
| 746 | 10 | 746 | 10 |
| 747 | '(lambda (a b) (> (cdr a) (cdr b)))) | 747 | '(lambda (a b) (> (cdr a) (cdr b)))) |
| 748 | )) | 748 | )) |
diff --git a/lisp/emacs-lisp/eieio-speedbar.el b/lisp/emacs-lisp/eieio-speedbar.el index aff078e9998..e4c1c50aa8f 100644 --- a/lisp/emacs-lisp/eieio-speedbar.el +++ b/lisp/emacs-lisp/eieio-speedbar.el | |||
| @@ -227,7 +227,7 @@ attributes. These default objects will be pulled up in a custom | |||
| 227 | object edit buffer doing an in-place edit. | 227 | object edit buffer doing an in-place edit. |
| 228 | 228 | ||
| 229 | If your object represents some other item, override this method | 229 | If your object represents some other item, override this method |
| 230 | and take the apropriate action." | 230 | and take the appropriate action." |
| 231 | (require 'eieio-custom) | 231 | (require 'eieio-custom) |
| 232 | (speedbar-with-attached-buffer | 232 | (speedbar-with-attached-buffer |
| 233 | (eieio-customize-object object)) | 233 | (eieio-customize-object object)) |
| @@ -327,7 +327,7 @@ Argument DEPTH is the depth at which the tag line is inserted." | |||
| 327 | 327 | ||
| 328 | (defmethod eieio-speedbar-expand ((object eieio-speedbar) depth) | 328 | (defmethod eieio-speedbar-expand ((object eieio-speedbar) depth) |
| 329 | "Expand OBJECT at indentation DEPTH. | 329 | "Expand OBJECT at indentation DEPTH. |
| 330 | Inserts a list of new tag lines representing expanded elements withing | 330 | Inserts a list of new tag lines representing expanded elements within |
| 331 | OBJECT." | 331 | OBJECT." |
| 332 | (let ((children (eieio-speedbar-object-children object))) | 332 | (let ((children (eieio-speedbar-object-children object))) |
| 333 | (cond ((eieio-object-p (car children)) | 333 | (cond ((eieio-object-p (car children)) |
diff --git a/lisp/emacs-lisp/eieio.el b/lisp/emacs-lisp/eieio.el index 69ddaa72c1c..f5e684e1323 100644 --- a/lisp/emacs-lisp/eieio.el +++ b/lisp/emacs-lisp/eieio.el | |||
| @@ -79,7 +79,7 @@ | |||
| 79 | "*This hook is executed, then cleared each time `defclass' is called.") | 79 | "*This hook is executed, then cleared each time `defclass' is called.") |
| 80 | 80 | ||
| 81 | (defvar eieio-error-unsupported-class-tags nil | 81 | (defvar eieio-error-unsupported-class-tags nil |
| 82 | "*Non nil to throw an error if an encountered tag us unsupported. | 82 | "*Non-nil to throw an error if an encountered tag us unsupported. |
| 83 | This may prevent classes from CLOS applications from being used with EIEIO | 83 | This may prevent classes from CLOS applications from being used with EIEIO |
| 84 | since EIEIO does not support all CLOS tags.") | 84 | since EIEIO does not support all CLOS tags.") |
| 85 | 85 | ||
| @@ -2021,7 +2021,7 @@ This should only be called from a generic function." | |||
| 2021 | (run-hook-with-args 'eieio-pre-method-execution-hooks | 2021 | (run-hook-with-args 'eieio-pre-method-execution-hooks |
| 2022 | primarymethodlist) | 2022 | primarymethodlist) |
| 2023 | 2023 | ||
| 2024 | ;; Now loop through all occurances forms which we must execute | 2024 | ;; Now loop through all occurrences forms which we must execute |
| 2025 | ;; (which are happily sorted now) and execute them all! | 2025 | ;; (which are happily sorted now) and execute them all! |
| 2026 | (let ((rval nil) (lastval nil) (rvalever nil) (found nil)) | 2026 | (let ((rval nil) (lastval nil) (rvalever nil) (found nil)) |
| 2027 | (while lambdas | 2027 | (while lambdas |
| @@ -2101,7 +2101,7 @@ for this common case to improve performance." | |||
| 2101 | (setq primarymethodlist ;; Re-use even with bad name here | 2101 | (setq primarymethodlist ;; Re-use even with bad name here |
| 2102 | (eieiomt-method-list method method-primary mclass)) | 2102 | (eieiomt-method-list method method-primary mclass)) |
| 2103 | 2103 | ||
| 2104 | ;; Now loop through all occurances forms which we must execute | 2104 | ;; Now loop through all occurrences forms which we must execute |
| 2105 | ;; (which are happily sorted now) and execute them all! | 2105 | ;; (which are happily sorted now) and execute them all! |
| 2106 | (let* ((rval nil) (lastval nil) (rvalever nil) | 2106 | (let* ((rval nil) (lastval nil) (rvalever nil) |
| 2107 | (scoped-class (cdr lambdas)) | 2107 | (scoped-class (cdr lambdas)) |
| @@ -2331,7 +2331,7 @@ nil for superclasses. This function performs no type checking!" | |||
| 2331 | If CLASS is not a class then use `generic' instead. If class has | 2331 | If CLASS is not a class then use `generic' instead. If class has |
| 2332 | no form, but has a parent class, then trace to that parent class. | 2332 | no form, but has a parent class, then trace to that parent class. |
| 2333 | The first time a form is requested from a symbol, an optimized path | 2333 | The first time a form is requested from a symbol, an optimized path |
| 2334 | is memorized for future faster use." | 2334 | is memorized for faster future use." |
| 2335 | (let ((emto (aref (get method 'eieio-method-obarray) | 2335 | (let ((emto (aref (get method 'eieio-method-obarray) |
| 2336 | (if class key (+ key 3))))) | 2336 | (if class key (+ key 3))))) |
| 2337 | (if (class-p class) | 2337 | (if (class-p class) |
| @@ -2814,13 +2814,13 @@ Optional argument NOESCAPE is passed to `prin1-to-string' when appropriate." | |||
| 2814 | ;;; Autoloading some external symbols, and hooking into the help system | 2814 | ;;; Autoloading some external symbols, and hooking into the help system |
| 2815 | ;; | 2815 | ;; |
| 2816 | 2816 | ||
| 2817 | (autoload 'eieio-help-mode-augmentation-maybee "eieio-opt" "For buffers thrown into help mode, augment for eieio.") | 2817 | (autoload 'eieio-help-mode-augmentation-maybee "eieio-opt" "For buffers thrown into help mode, augment for EIEIO.") |
| 2818 | (autoload 'eieio-browse "eieio-opt" "Create an object browser window" t) | 2818 | (autoload 'eieio-browse "eieio-opt" "Create an object browser window." t) |
| 2819 | (autoload 'eieio-describe-class "eieio-opt" "Describe CLASS defined by a string or symbol" t) | 2819 | (autoload 'eieio-describe-class "eieio-opt" "Describe CLASS defined by a string or symbol" t) |
| 2820 | (autoload 'eieio-describe-constructor "eieio-opt" "Describe the constructor function FCN." t) | 2820 | (autoload 'eieio-describe-constructor "eieio-opt" "Describe the constructor function FCN." t) |
| 2821 | (autoload 'describe-class "eieio-opt" "Describe CLASS defined by a string or symbol" t) | 2821 | (autoload 'describe-class "eieio-opt" "Describe CLASS defined by a string or symbol." t) |
| 2822 | (autoload 'eieio-describe-generic "eieio-opt" "Describe GENERIC defined by a string or symbol" t) | 2822 | (autoload 'eieio-describe-generic "eieio-opt" "Describe GENERIC defined by a string or symbol." t) |
| 2823 | (autoload 'describe-generic "eieio-opt" "Describe GENERIC defined by a string or symbol" t) | 2823 | (autoload 'describe-generic "eieio-opt" "Describe GENERIC defined by a string or symbol." t) |
| 2824 | 2824 | ||
| 2825 | (autoload 'customize-object "eieio-custom" "Create a custom buffer editing OBJ.") | 2825 | (autoload 'customize-object "eieio-custom" "Create a custom buffer editing OBJ.") |
| 2826 | 2826 | ||
diff --git a/lisp/emulation/viper-cmd.el b/lisp/emulation/viper-cmd.el index 73cff9d8934..8c216d9aca6 100644 --- a/lisp/emulation/viper-cmd.el +++ b/lisp/emulation/viper-cmd.el | |||
| @@ -479,7 +479,7 @@ | |||
| 479 | (assoc major-mode viper-emacs-state-modifier-alist)) | 479 | (assoc major-mode viper-emacs-state-modifier-alist)) |
| 480 | viper-empty-keymap)) | 480 | viper-empty-keymap)) |
| 481 | )) | 481 | )) |
| 482 | 482 | ||
| 483 | ;; This var is not local in Emacs, so we make it local. It must be local | 483 | ;; This var is not local in Emacs, so we make it local. It must be local |
| 484 | ;; because although the stack of minor modes can be the same for all buffers, | 484 | ;; because although the stack of minor modes can be the same for all buffers, |
| 485 | ;; the associated *keymaps* can be different. In Viper, | 485 | ;; the associated *keymaps* can be different. In Viper, |
| @@ -891,7 +891,7 @@ Vi's prefix argument will be used. Otherwise, the prefix argument passed to | |||
| 891 | 891 | ||
| 892 | 892 | ||
| 893 | (defun viper-exec-form-in-vi (form) | 893 | (defun viper-exec-form-in-vi (form) |
| 894 | "Execute FORM in Vi state, regardless of the Ccurrent Vi state." | 894 | "Execute FORM in Vi state, regardless of the current Vi state." |
| 895 | (let ((buff (current-buffer)) | 895 | (let ((buff (current-buffer)) |
| 896 | result) | 896 | result) |
| 897 | (viper-set-mode-vars-for 'vi-state) | 897 | (viper-set-mode-vars-for 'vi-state) |
| @@ -910,7 +910,7 @@ Vi's prefix argument will be used. Otherwise, the prefix argument passed to | |||
| 910 | 910 | ||
| 911 | (defun viper-exec-form-in-emacs (form) | 911 | (defun viper-exec-form-in-emacs (form) |
| 912 | "Execute FORM in Emacs, temporarily disabling Viper's minor modes. | 912 | "Execute FORM in Emacs, temporarily disabling Viper's minor modes. |
| 913 | Similar to viper-escape-to-emacs, but accepts forms rather than keystrokes." | 913 | Similar to `viper-escape-to-emacs', but accepts forms rather than keystrokes." |
| 914 | (let ((buff (current-buffer)) | 914 | (let ((buff (current-buffer)) |
| 915 | result) | 915 | result) |
| 916 | (viper-set-mode-vars-for 'emacs-state) | 916 | (viper-set-mode-vars-for 'emacs-state) |
| @@ -939,7 +939,7 @@ such minor modes. | |||
| 939 | Usage: | 939 | Usage: |
| 940 | (viper-harness-minor-mode load-file) | 940 | (viper-harness-minor-mode load-file) |
| 941 | 941 | ||
| 942 | LOAD-FILE is a name of the file where the specific minor mode is defined. | 942 | LOAD-FILE is the name of the file where the specific minor mode is defined. |
| 943 | Suffixes such as .el or .elc should be stripped." | 943 | Suffixes such as .el or .elc should be stripped." |
| 944 | 944 | ||
| 945 | (interactive "sEnter name of the load file: ") | 945 | (interactive "sEnter name of the load file: ") |
| @@ -961,9 +961,9 @@ Prevents multiple escape keystrokes if viper-no-multiple-ESC is true. | |||
| 961 | If viper-no-multiple-ESC is 'twice double ESC would ding in vi-state. | 961 | If viper-no-multiple-ESC is 'twice double ESC would ding in vi-state. |
| 962 | Other ESC sequences are emulated via the current Emacs's major mode | 962 | Other ESC sequences are emulated via the current Emacs's major mode |
| 963 | keymap. This is more convenient on TTYs, since this won't block | 963 | keymap. This is more convenient on TTYs, since this won't block |
| 964 | function keys such as up,down, etc. ESC will also will also work as | 964 | function keys such as up, down, etc. ESC will also will also work as |
| 965 | a Meta key in this case. When viper-no-multiple-ESC is nil, ESC functions | 965 | a Meta key in this case. When viper-no-multiple-ESC is nil, ESC works |
| 966 | as a Meta key and any number of multiple escapes is allowed." | 966 | as a Meta key and any number of multiple escapes are allowed." |
| 967 | (interactive "P") | 967 | (interactive "P") |
| 968 | (let (char) | 968 | (let (char) |
| 969 | (cond ((and (not viper-no-multiple-ESC) (eq viper-current-state 'vi-state)) | 969 | (cond ((and (not viper-no-multiple-ESC) (eq viper-current-state 'vi-state)) |
| @@ -1181,7 +1181,7 @@ as a Meta key and any number of multiple escapes is allowed." | |||
| 1181 | ((eq event-char 'delete) (setq event-char ?\C-?)) | 1181 | ((eq event-char 'delete) (setq event-char ?\C-?)) |
| 1182 | ((eq event-char 'backspace) (setq event-char ?\C-h)) | 1182 | ((eq event-char 'backspace) (setq event-char ?\C-h)) |
| 1183 | ((eq event-char 'space) (setq event-char ?\ ))) | 1183 | ((eq event-char 'space) (setq event-char ?\ ))) |
| 1184 | (setq last-command-event | 1184 | (setq last-command-event |
| 1185 | (if (featurep 'xemacs) | 1185 | (if (featurep 'xemacs) |
| 1186 | (character-to-event (or com event-char)) | 1186 | (character-to-event (or com event-char)) |
| 1187 | (or com event-char))) | 1187 | (or com event-char))) |
| @@ -1257,7 +1257,7 @@ as a Meta key and any number of multiple escapes is allowed." | |||
| 1257 | 1257 | ||
| 1258 | ;; as com is non-nil, this means that we have a command to execute | 1258 | ;; as com is non-nil, this means that we have a command to execute |
| 1259 | (if (viper-memq-char (car com) '(?r ?R)) | 1259 | (if (viper-memq-char (car com) '(?r ?R)) |
| 1260 | ;; execute apropriate region command. | 1260 | ;; execute appropriate region command. |
| 1261 | (let ((char (car com)) (com (cdr com))) | 1261 | (let ((char (car com)) (com (cdr com))) |
| 1262 | (setq prefix-arg (cons value com)) | 1262 | (setq prefix-arg (cons value com)) |
| 1263 | (if (viper= char ?r) | 1263 | (if (viper= char ?r) |
| @@ -1285,7 +1285,7 @@ as a Meta key and any number of multiple escapes is allowed." | |||
| 1285 | ;; gg acts as G0 | 1285 | ;; gg acts as G0 |
| 1286 | ((equal (car com) ?g) (viper-goto-line 0)) | 1286 | ((equal (car com) ?g) (viper-goto-line 0)) |
| 1287 | (t (error "Viper bell"))))) | 1287 | (t (error "Viper bell"))))) |
| 1288 | 1288 | ||
| 1289 | (if cmd-to-exec-at-end | 1289 | (if cmd-to-exec-at-end |
| 1290 | (progn | 1290 | (progn |
| 1291 | (setq last-command-event | 1291 | (setq last-command-event |
| @@ -1621,7 +1621,7 @@ Use the info in viper-d-com, which has the form | |||
| 1621 | where `com' is the command to be re-executed, `val' is the | 1621 | where `com' is the command to be re-executed, `val' is the |
| 1622 | argument to `com', `ch' is a flag for repeat, and `reg' is optional; | 1622 | argument to `com', `ch' is a flag for repeat, and `reg' is optional; |
| 1623 | if it exists, it is the name of the register for `com'. | 1623 | if it exists, it is the name of the register for `com'. |
| 1624 | If the prefix argument, ARG, is non-nil, it is used instead of `val'." | 1624 | If the prefix argument ARG is non-nil, it is used instead of `val'." |
| 1625 | (interactive "P") | 1625 | (interactive "P") |
| 1626 | (let ((save-point (point)) ; save point before repeating prev cmd | 1626 | (let ((save-point (point)) ; save point before repeating prev cmd |
| 1627 | ;; Pass along that we are repeating a destructive command | 1627 | ;; Pass along that we are repeating a destructive command |
| @@ -1944,7 +1944,7 @@ Undo previous insertion and inserts new." | |||
| 1944 | require-final-newline | 1944 | require-final-newline |
| 1945 | ;; add newline only if we actually edited buffer. otherwise it | 1945 | ;; add newline only if we actually edited buffer. otherwise it |
| 1946 | ;; might unintentionally modify binary buffers | 1946 | ;; might unintentionally modify binary buffers |
| 1947 | (buffer-modified-p) | 1947 | (buffer-modified-p) |
| 1948 | (not (viper-is-in-minibuffer)) | 1948 | (not (viper-is-in-minibuffer)) |
| 1949 | (not buffer-read-only)) | 1949 | (not buffer-read-only)) |
| 1950 | ;; text property may be read-only | 1950 | ;; text property may be read-only |
| @@ -2539,7 +2539,7 @@ problems." | |||
| 2539 | 2539 | ||
| 2540 | (defun viper-replace-state-exit-cmd () | 2540 | (defun viper-replace-state-exit-cmd () |
| 2541 | "Binding for keys that cause Replace state to switch to Vi or to Insert. | 2541 | "Binding for keys that cause Replace state to switch to Vi or to Insert. |
| 2542 | These keys are ESC, RET, and LineFeed" | 2542 | These keys are ESC, RET, and LineFeed." |
| 2543 | (interactive) | 2543 | (interactive) |
| 2544 | (if overwrite-mode ; if in replace mode invoked via 'R' | 2544 | (if overwrite-mode ; if in replace mode invoked via 'R' |
| 2545 | (viper-finish-R-mode) | 2545 | (viper-finish-R-mode) |
| @@ -3711,7 +3711,7 @@ controlled by the sign of prefix numeric value." | |||
| 3711 | (defun viper-toggle-search-style (arg) | 3711 | (defun viper-toggle-search-style (arg) |
| 3712 | "Toggle the value of viper-case-fold-search/viper-re-search. | 3712 | "Toggle the value of viper-case-fold-search/viper-re-search. |
| 3713 | Without prefix argument, will ask which search style to toggle. With prefix | 3713 | Without prefix argument, will ask which search style to toggle. With prefix |
| 3714 | arg 1,toggles viper-case-fold-search; with arg 2 toggles viper-re-search. | 3714 | arg 1, toggles viper-case-fold-search; with arg 2 toggles viper-re-search. |
| 3715 | 3715 | ||
| 3716 | Although this function is bound to \\[viper-toggle-search-style], the most | 3716 | Although this function is bound to \\[viper-toggle-search-style], the most |
| 3717 | convenient way to use it is to bind `//' to the macro | 3717 | convenient way to use it is to bind `//' to the macro |
| @@ -4262,7 +4262,7 @@ Null string will repeat previous search." | |||
| 4262 | (defun viper-del-backward-char-in-replace () | 4262 | (defun viper-del-backward-char-in-replace () |
| 4263 | "Delete one character in replace mode. | 4263 | "Delete one character in replace mode. |
| 4264 | If `viper-delete-backwards-in-replace' is t, then DEL key actually deletes | 4264 | If `viper-delete-backwards-in-replace' is t, then DEL key actually deletes |
| 4265 | charecters. If it is nil, then the cursor just moves backwards, similarly | 4265 | characters. If it is nil, then the cursor just moves backwards, similarly |
| 4266 | to Vi. The variable `viper-ex-style-editing', if t, doesn't let the | 4266 | to Vi. The variable `viper-ex-style-editing', if t, doesn't let the |
| 4267 | cursor move past the beginning of line." | 4267 | cursor move past the beginning of line." |
| 4268 | (interactive) | 4268 | (interactive) |
| @@ -4614,7 +4614,7 @@ One can use `` and '' to temporarily jump 1 step back." | |||
| 4614 | (indent-to (+ (current-column) viper-shift-width))) | 4614 | (indent-to (+ (current-column) viper-shift-width))) |
| 4615 | 4615 | ||
| 4616 | (defun viper-backward-indent () | 4616 | (defun viper-backward-indent () |
| 4617 | "Backtab, C-d in VI" | 4617 | "Backtab, `C-d' in Vi." |
| 4618 | (interactive) | 4618 | (interactive) |
| 4619 | (if viper-cted | 4619 | (if viper-cted |
| 4620 | (let ((p (point)) (c (current-column)) bol (indent t)) | 4620 | (let ((p (point)) (c (current-column)) bol (indent t)) |
| @@ -4689,7 +4689,7 @@ One can use `` and '' to temporarily jump 1 step back." | |||
| 4689 | viper-InvalidRegister reg))))) | 4689 | viper-InvalidRegister reg))))) |
| 4690 | 4690 | ||
| 4691 | (defun viper-brac-function (arg) | 4691 | (defun viper-brac-function (arg) |
| 4692 | "Function called by \[, the brac. View textmarkers and call \[\[" | 4692 | "Function called by \[, the brac. View textmarkers and call \[\[." |
| 4693 | (interactive "P") | 4693 | (interactive "P") |
| 4694 | (let ((reg (read-char))) | 4694 | (let ((reg (read-char))) |
| 4695 | (cond ((viper= ?\[ reg) | 4695 | (cond ((viper= ?\[ reg) |
| @@ -4922,7 +4922,7 @@ Please, specify your level now: ") | |||
| 4922 | 4922 | ||
| 4923 | ;; if ENFORCE-BUFFER is not nil, error if CHAR is a marker in another buffer | 4923 | ;; if ENFORCE-BUFFER is not nil, error if CHAR is a marker in another buffer |
| 4924 | (defun viper-register-to-point (char &optional enforce-buffer) | 4924 | (defun viper-register-to-point (char &optional enforce-buffer) |
| 4925 | "Like jump-to-register, but switches to another buffer in another window." | 4925 | "Like `jump-to-register', but switches to another buffer in another window." |
| 4926 | (interactive "cViper register to point: ") | 4926 | (interactive "cViper register to point: ") |
| 4927 | (let ((val (get-register char))) | 4927 | (let ((val (get-register char))) |
| 4928 | (cond | 4928 | (cond |
| @@ -5047,7 +5047,7 @@ PLEASE FOLLOW THESE PROCEDURES | |||
| 5047 | ------------------------------ | 5047 | ------------------------------ |
| 5048 | 5048 | ||
| 5049 | Before reporting a bug, please verify that it is related to Viper, and is | 5049 | Before reporting a bug, please verify that it is related to Viper, and is |
| 5050 | not cause by other packages you are using. | 5050 | not caused by other packages you are using. |
| 5051 | 5051 | ||
| 5052 | Don't report compilation warnings, unless you are certain that there is a | 5052 | Don't report compilation warnings, unless you are certain that there is a |
| 5053 | problem. These warnings are normal and unavoidable. | 5053 | problem. These warnings are normal and unavoidable. |
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/ido.el b/lisp/ido.el index 60b874dcd49..48acc50581d 100644 --- a/lisp/ido.el +++ b/lisp/ido.el | |||
| @@ -1042,11 +1042,11 @@ Value is an integer which is number of chars to right of prompt.") | |||
| 1042 | ;; Stores the current list of items that will be searched through. | 1042 | ;; Stores the current list of items that will be searched through. |
| 1043 | ;; The list is ordered, so that the most interesting item comes first, | 1043 | ;; The list is ordered, so that the most interesting item comes first, |
| 1044 | ;; although by default, the files visible in the current frame are put | 1044 | ;; although by default, the files visible in the current frame are put |
| 1045 | ;; at the end of the list. Created by `ido-make-item-list'. | 1045 | ;; at the end of the list. |
| 1046 | (defvar ido-cur-list) | 1046 | (defvar ido-cur-list nil) |
| 1047 | 1047 | ||
| 1048 | ;; Stores the choice list for ido-completing-read | 1048 | ;; Stores the choice list for ido-completing-read |
| 1049 | (defvar ido-choice-list) | 1049 | (defvar ido-choice-list nil) |
| 1050 | 1050 | ||
| 1051 | ;; Stores the list of items which are ignored when building | 1051 | ;; Stores the list of items which are ignored when building |
| 1052 | ;; `ido-cur-list'. It is in no specific order. | 1052 | ;; `ido-cur-list'. It is in no specific order. |
| @@ -3344,7 +3344,7 @@ for first matching file." | |||
| 3344 | (if ido-temp-list | 3344 | (if ido-temp-list |
| 3345 | (nconc ido-temp-list ido-current-buffers) | 3345 | (nconc ido-temp-list ido-current-buffers) |
| 3346 | (setq ido-temp-list ido-current-buffers)) | 3346 | (setq ido-temp-list ido-current-buffers)) |
| 3347 | (if default | 3347 | (if (and default (buffer-live-p (get-buffer default))) |
| 3348 | (progn | 3348 | (progn |
| 3349 | (setq ido-temp-list | 3349 | (setq ido-temp-list |
| 3350 | (delete default ido-temp-list)) | 3350 | (delete default ido-temp-list)) |
| @@ -3590,6 +3590,7 @@ for first matching file." | |||
| 3590 | ;; Used by `ido-get-buffers-in-frames' to walk through all windows | 3590 | ;; Used by `ido-get-buffers-in-frames' to walk through all windows |
| 3591 | (let ((buf (buffer-name (window-buffer win)))) | 3591 | (let ((buf (buffer-name (window-buffer win)))) |
| 3592 | (unless (or (member buf ido-bufs-in-frame) | 3592 | (unless (or (member buf ido-bufs-in-frame) |
| 3593 | (minibufferp buf) | ||
| 3593 | (member buf ido-ignore-item-temp-list)) | 3594 | (member buf ido-ignore-item-temp-list)) |
| 3594 | ;; Only add buf if it is not already in list. | 3595 | ;; Only add buf if it is not already in list. |
| 3595 | ;; This prevents same buf in two different windows being | 3596 | ;; This prevents same buf in two different windows being |
| @@ -3830,6 +3831,27 @@ for first matching file." | |||
| 3830 | ;;(add-hook 'completion-setup-hook 'completion-setup-function) | 3831 | ;;(add-hook 'completion-setup-hook 'completion-setup-function) |
| 3831 | (display-completion-list completion-list))))))) | 3832 | (display-completion-list completion-list))))))) |
| 3832 | 3833 | ||
| 3834 | (defun ido-kill-buffer-internal (buf) | ||
| 3835 | "Kill buffer BUF and rebuild ido's buffer list if needed." | ||
| 3836 | (if (not (kill-buffer buf)) | ||
| 3837 | ;; buffer couldn't be killed. | ||
| 3838 | (setq ido-rescan t) | ||
| 3839 | ;; else buffer was killed so remove name from list. | ||
| 3840 | (setq ido-cur-list (delq buf ido-cur-list)) | ||
| 3841 | ;; Some packages, like uniquify.el, may rename buffers when one | ||
| 3842 | ;; is killed, so we need to test this condition to avoid using | ||
| 3843 | ;; an outdated list of buffer names. We don't want to always | ||
| 3844 | ;; rebuild the list of buffers, as this alters the previous | ||
| 3845 | ;; buffer order that the user was seeing on the prompt. However, | ||
| 3846 | ;; when we rebuild the list, we try to keep the previous second | ||
| 3847 | ;; buffer as the first one. | ||
| 3848 | (catch 'update | ||
| 3849 | (dolist (b ido-cur-list) | ||
| 3850 | (unless (get-buffer b) | ||
| 3851 | (setq ido-cur-list (ido-make-buffer-list (cadr ido-matches))) | ||
| 3852 | (setq ido-rescan t) | ||
| 3853 | (throw 'update nil)))))) | ||
| 3854 | |||
| 3833 | ;;; KILL CURRENT BUFFER | 3855 | ;;; KILL CURRENT BUFFER |
| 3834 | (defun ido-kill-buffer-at-head () | 3856 | (defun ido-kill-buffer-at-head () |
| 3835 | "Kill the buffer at the head of `ido-matches'. | 3857 | "Kill the buffer at the head of `ido-matches'. |
| @@ -3840,7 +3862,7 @@ If cursor is not at the end of the user input, delete to end of input." | |||
| 3840 | (let ((enable-recursive-minibuffers t) | 3862 | (let ((enable-recursive-minibuffers t) |
| 3841 | (buf (ido-name (car ido-matches)))) | 3863 | (buf (ido-name (car ido-matches)))) |
| 3842 | (when buf | 3864 | (when buf |
| 3843 | (kill-buffer buf) | 3865 | (ido-kill-buffer-internal buf) |
| 3844 | ;; Check if buffer still exists. | 3866 | ;; Check if buffer still exists. |
| 3845 | (if (get-buffer buf) | 3867 | (if (get-buffer buf) |
| 3846 | ;; buffer couldn't be killed. | 3868 | ;; buffer couldn't be killed. |
| @@ -3884,7 +3906,7 @@ Record command in `command-history' if optional RECORD is non-nil." | |||
| 3884 | ((eq method 'kill) | 3906 | ((eq method 'kill) |
| 3885 | (if record | 3907 | (if record |
| 3886 | (ido-record-command 'kill-buffer buffer)) | 3908 | (ido-record-command 'kill-buffer buffer)) |
| 3887 | (kill-buffer buffer)) | 3909 | (ido-kill-buffer-internal buffer)) |
| 3888 | 3910 | ||
| 3889 | ((eq method 'other-window) | 3911 | ((eq method 'other-window) |
| 3890 | (if record | 3912 | (if record |
diff --git a/lisp/indent.el b/lisp/indent.el index 12cf9c9bb5d..3f8353bd90c 100644 --- a/lisp/indent.el +++ b/lisp/indent.el | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | ;;; indent.el --- indentation commands for Emacs | 1 | ;;; indent.el --- indentation commands for Emacs |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1985, 1995, 2001, 2002, 2003, 2004, | 3 | ;; Copyright (C) 1985, 1995, 2001, 2002, 2003, 2004, 2005, 2006, 2007, |
| 4 | ;; 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 4 | ;; 2008, 2009, 2010 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | ;; Maintainer: FSF | 6 | ;; Maintainer: FSF |
| 7 | 7 | ||
| @@ -55,7 +55,11 @@ was already indented, then try to complete the thing at point. | |||
| 55 | Some programming language modes have their own variable to control this, | 55 | Some programming language modes have their own variable to control this, |
| 56 | e.g., `c-tab-always-indent', and do not respect this variable." | 56 | e.g., `c-tab-always-indent', and do not respect this variable." |
| 57 | :group 'indent | 57 | :group 'indent |
| 58 | :type '(choice (const nil) (const t) (const always))) | 58 | :type '(choice |
| 59 | (const :tag "Always indent" t) | ||
| 60 | (const :tag "Indent if inside indentation, else TAB" nil) | ||
| 61 | (const :tag "Indent, or if already indented complete" complete))) | ||
| 62 | |||
| 59 | 63 | ||
| 60 | (defun indent-according-to-mode () | 64 | (defun indent-according-to-mode () |
| 61 | "Indent line in proper way for current major mode. | 65 | "Indent line in proper way for current major mode. |
diff --git a/lisp/isearch.el b/lisp/isearch.el index ab40678e69c..d0ad330c5c0 100644 --- a/lisp/isearch.el +++ b/lisp/isearch.el | |||
| @@ -1754,7 +1754,10 @@ Scroll-bar or mode-line events are processed appropriately." | |||
| 1754 | (put 'digit-argument 'isearch-scroll t) | 1754 | (put 'digit-argument 'isearch-scroll t) |
| 1755 | 1755 | ||
| 1756 | (defcustom isearch-allow-scroll nil | 1756 | (defcustom isearch-allow-scroll nil |
| 1757 | "If non-nil, scrolling commands are allowed during incremental search." | 1757 | "Whether scrolling is allowed during incremental search. |
| 1758 | If non-nil, scrolling commands can be used in Isearch mode. | ||
| 1759 | However, the current match will never scroll offscreen. | ||
| 1760 | If nil, scolling commands will first cancel Isearch mode." | ||
| 1758 | :type 'boolean | 1761 | :type 'boolean |
| 1759 | :group 'isearch) | 1762 | :group 'isearch) |
| 1760 | 1763 | ||
diff --git a/lisp/jka-compr.el b/lisp/jka-compr.el index 12f48bd96b1..34ffcc90a76 100644 --- a/lisp/jka-compr.el +++ b/lisp/jka-compr.el | |||
| @@ -590,7 +590,14 @@ There should be no more than seven characters after the final `/'." | |||
| 590 | (or nomessage | 590 | (or nomessage |
| 591 | (message "Loading %s...done." file)) | 591 | (message "Loading %s...done." file)) |
| 592 | ;; Fix up the load history to point at the right library. | 592 | ;; Fix up the load history to point at the right library. |
| 593 | (let ((l (assoc load-file load-history))) | 593 | (let ((l (or (assoc load-file load-history) |
| 594 | ;; On MS-Windows, if load-file is in | ||
| 595 | ;; temporary-file-directory, it will look like | ||
| 596 | ;; "c:/DOCUME~1/USER/LOCALS~1/foo", whereas | ||
| 597 | ;; readevalloop will record its truename in | ||
| 598 | ;; load-history. Therefore try truename if the | ||
| 599 | ;; original name is not in load-history. | ||
| 600 | (assoc (file-truename load-file) load-history)))) | ||
| 594 | ;; Remove .gz and .elc?. | 601 | ;; Remove .gz and .elc?. |
| 595 | (while (file-name-extension file) | 602 | (while (file-name-extension file) |
| 596 | (setq file (file-name-sans-extension file))) | 603 | (setq file (file-name-sans-extension file))) |
diff --git a/lisp/mail/mail-utils.el b/lisp/mail/mail-utils.el index 3bca0b23a8c..5fad3554ae5 100644 --- a/lisp/mail/mail-utils.el +++ b/lisp/mail/mail-utils.el | |||
| @@ -133,6 +133,8 @@ If NOERROR is non-nil, return t if successful. | |||
| 133 | If UNIBYTE is non-nil, insert converted characters as unibyte. | 133 | If UNIBYTE is non-nil, insert converted characters as unibyte. |
| 134 | That is useful if you are going to character code decoding afterward, | 134 | That is useful if you are going to character code decoding afterward, |
| 135 | as Rmail does." | 135 | as Rmail does." |
| 136 | ;; FIXME: `unibyte' should always be non-nil, and the iso-latin-1 | ||
| 137 | ;; specific handling should be removed (or moved elsewhere and generalized). | ||
| 136 | (interactive "r\nP") | 138 | (interactive "r\nP") |
| 137 | (let (failed) | 139 | (let (failed) |
| 138 | (save-match-data | 140 | (save-match-data |
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el index 67ea3fdc158..20a03ede965 100644 --- a/lisp/mail/rmail.el +++ b/lisp/mail/rmail.el | |||
| @@ -2727,7 +2727,8 @@ The current mail message becomes the message displayed." | |||
| 2727 | (insert-buffer-substring mbox-buf body-start end) | 2727 | (insert-buffer-substring mbox-buf body-start end) |
| 2728 | (cond | 2728 | (cond |
| 2729 | ((string= character-coding "quoted-printable") | 2729 | ((string= character-coding "quoted-printable") |
| 2730 | (mail-unquote-printable-region (point-min) (point-max))) | 2730 | (mail-unquote-printable-region (point-min) (point-max) |
| 2731 | nil nil 'unibyte)) | ||
| 2731 | ((and (string= character-coding "base64") is-text-message) | 2732 | ((and (string= character-coding "base64") is-text-message) |
| 2732 | (base64-decode-region (point-min) (point-max))) | 2733 | (base64-decode-region (point-min) (point-max))) |
| 2733 | ((eq character-coding 'uuencode) | 2734 | ((eq character-coding 'uuencode) |
diff --git a/lisp/mail/rmailmm.el b/lisp/mail/rmailmm.el index e87f72a2e47..415bc20cf50 100644 --- a/lisp/mail/rmailmm.el +++ b/lisp/mail/rmailmm.el | |||
| @@ -361,7 +361,10 @@ The parsed header value: | |||
| 361 | (setq content-transfer-encoding nil)) | 361 | (setq content-transfer-encoding nil)) |
| 362 | ((string= content-transfer-encoding "8bit") | 362 | ((string= content-transfer-encoding "8bit") |
| 363 | ;; FIXME: Is this the correct way? | 363 | ;; FIXME: Is this the correct way? |
| 364 | (set-buffer-multibyte nil))) | 364 | ;; No, of course not, it just means there's no decoding to do. |
| 365 | ;; (set-buffer-multibyte nil) | ||
| 366 | (setq content-transfer-encoding nil) | ||
| 367 | )) | ||
| 365 | ;; Inline stuff requires work. Attachments are handled by the bulk | 368 | ;; Inline stuff requires work. Attachments are handled by the bulk |
| 366 | ;; handler. | 369 | ;; handler. |
| 367 | (if (string= "inline" (car content-disposition)) | 370 | (if (string= "inline" (car content-disposition)) |
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/net/tramp.el b/lisp/net/tramp.el index f789110d26f..3f4af0ebf0e 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el | |||
| @@ -6890,7 +6890,7 @@ input. | |||
| 6890 | 6890 | ||
| 6891 | If they are variables, this variable is a string containing a Perl | 6891 | If they are variables, this variable is a string containing a Perl |
| 6892 | implementation for this functionality. This Perl program will be transferred | 6892 | implementation for this functionality. This Perl program will be transferred |
| 6893 | to the remote host, and it is avalible as shell function with the same name.") | 6893 | to the remote host, and it is available as shell function with the same name.") |
| 6894 | 6894 | ||
| 6895 | (defun tramp-find-inline-encoding (vec) | 6895 | (defun tramp-find-inline-encoding (vec) |
| 6896 | "Find an inline transfer encoding that works. | 6896 | "Find an inline transfer encoding that works. |
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/progmodes/ada-mode.el b/lisp/progmodes/ada-mode.el index 2b94fdb25ff..3694de23f88 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. |
| @@ -660,14 +677,6 @@ A new statement starts after these.") | |||
| 660 | "\\>")) | 677 | "\\>")) |
| 661 | "Regexp used in `ada-goto-matching-start'.") | 678 | "Regexp used in `ada-goto-matching-start'.") |
| 662 | 679 | ||
| 663 | (defvar ada-matching-decl-start-re | ||
| 664 | (eval-when-compile | ||
| 665 | (concat "\\<" | ||
| 666 | (regexp-opt | ||
| 667 | '("is" "separate" "end" "declare" "if" "new" "begin" "generic" "when") t) | ||
| 668 | "\\>")) | ||
| 669 | "Regexp used in `ada-goto-matching-decl-start'.") | ||
| 670 | |||
| 671 | (defvar ada-loop-start-re | 680 | (defvar ada-loop-start-re |
| 672 | "\\<\\(for\\|while\\|loop\\)\\>" | 681 | "\\<\\(for\\|while\\|loop\\)\\>" |
| 673 | "Regexp for the start of a loop.") | 682 | "Regexp for the start of a loop.") |
| @@ -678,10 +687,6 @@ A new statement starts after these.") | |||
| 678 | "protected" "task") t) "\\>")) | 687 | "protected" "task") t) "\\>")) |
| 679 | "Regexp for the start of a subprogram.") | 688 | "Regexp for the start of a subprogram.") |
| 680 | 689 | ||
| 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 | 690 | (defvar ada-contextual-menu-on-identifier nil |
| 686 | "Set to true when the right mouse button was clicked on an identifier.") | 691 | "Set to true when the right mouse button was clicked on an identifier.") |
| 687 | 692 | ||
| @@ -2108,10 +2113,18 @@ Return the equivalent internal parameter list." | |||
| 2108 | 2113 | ||
| 2109 | (defun ada-indent-newline-indent-conditional () | 2114 | (defun ada-indent-newline-indent-conditional () |
| 2110 | "Insert a newline and indent it. | 2115 | "Insert a newline and indent it. |
| 2111 | The original line is indented first if `ada-indent-after-return' is non-nil." | 2116 | The original line is re-indented if `ada-indent-after-return' is non-nil." |
| 2112 | (interactive "*") | 2117 | (interactive "*") |
| 2113 | (if ada-indent-after-return (ada-indent-current)) | 2118 | ;; If at end of buffer (entering brand new code), some indentation |
| 2119 | ;; fails. For example, a block label requires whitespace following | ||
| 2120 | ;; the : to be recognized. So we do the newline first, then | ||
| 2121 | ;; go back and indent the original line. | ||
| 2114 | (newline) | 2122 | (newline) |
| 2123 | (if ada-indent-after-return | ||
| 2124 | (progn | ||
| 2125 | (forward-char -1) | ||
| 2126 | (ada-indent-current) | ||
| 2127 | (forward-char 1))) | ||
| 2115 | (ada-indent-current)) | 2128 | (ada-indent-current)) |
| 2116 | 2129 | ||
| 2117 | (defun ada-justified-indent-current () | 2130 | (defun ada-justified-indent-current () |
| @@ -2335,8 +2348,8 @@ and the offset." | |||
| 2335 | (progn | 2348 | (progn |
| 2336 | (goto-char (car match-cons)) | 2349 | (goto-char (car match-cons)) |
| 2337 | (save-excursion | 2350 | (save-excursion |
| 2338 | (beginning-of-line) | 2351 | (back-to-indentation) |
| 2339 | (if (looking-at ada-named-block-re) | 2352 | (if (looking-at ada-block-label-re) |
| 2340 | (setq label (- ada-label-indent)))))))) | 2353 | (setq label (- ada-label-indent)))))))) |
| 2341 | 2354 | ||
| 2342 | ;; found 'record' => | 2355 | ;; found 'record' => |
| @@ -2455,7 +2468,7 @@ and the offset." | |||
| 2455 | ((and (= (downcase (char-after)) ?b) | 2468 | ((and (= (downcase (char-after)) ?b) |
| 2456 | (looking-at "begin\\>")) | 2469 | (looking-at "begin\\>")) |
| 2457 | (save-excursion | 2470 | (save-excursion |
| 2458 | (if (ada-goto-matching-decl-start t) | 2471 | (if (ada-goto-decl-start t) |
| 2459 | (list (progn (back-to-indentation) (point)) 0) | 2472 | (list (progn (back-to-indentation) (point)) 0) |
| 2460 | (ada-indent-on-previous-lines nil orgpoint orgpoint)))) | 2473 | (ada-indent-on-previous-lines nil orgpoint orgpoint)))) |
| 2461 | 2474 | ||
| @@ -2648,8 +2661,9 @@ and the offset." | |||
| 2648 | ;; label | 2661 | ;; label |
| 2649 | ;;--------------------------------- | 2662 | ;;--------------------------------- |
| 2650 | 2663 | ||
| 2651 | ((looking-at "\\(\\sw\\|_\\)+[ \t\n]*:[^=]") | 2664 | ((looking-at ada-label-re) |
| 2652 | (if (ada-in-decl-p) | 2665 | (if (ada-in-decl-p) |
| 2666 | ;; ada-block-label-re matches variable declarations | ||
| 2653 | (ada-indent-on-previous-lines nil orgpoint orgpoint) | 2667 | (ada-indent-on-previous-lines nil orgpoint orgpoint) |
| 2654 | (append (ada-indent-on-previous-lines nil orgpoint orgpoint) | 2668 | (append (ada-indent-on-previous-lines nil orgpoint orgpoint) |
| 2655 | '(ada-label-indent)))) | 2669 | '(ada-label-indent)))) |
| @@ -2674,9 +2688,10 @@ if INITIAL-POS is non-nil, moves point to INITIAL-POS before calculation." | |||
| 2674 | (if (ada-in-paramlist-p) | 2688 | (if (ada-in-paramlist-p) |
| 2675 | (ada-get-indent-paramlist) | 2689 | (ada-get-indent-paramlist) |
| 2676 | 2690 | ||
| 2677 | ;; move to beginning of current statement | 2691 | ;; Move to beginning of current statement. If already at a |
| 2692 | ;; statement start, move to beginning of enclosing statement. | ||
| 2678 | (unless nomove | 2693 | (unless nomove |
| 2679 | (ada-goto-stmt-start)) | 2694 | (ada-goto-stmt-start t)) |
| 2680 | 2695 | ||
| 2681 | ;; no beginning found => don't change indentation | 2696 | ;; no beginning found => don't change indentation |
| 2682 | (if (and (eq oldpoint (point)) | 2697 | (if (and (eq oldpoint (point)) |
| @@ -2702,6 +2717,12 @@ if INITIAL-POS is non-nil, moves point to INITIAL-POS before calculation." | |||
| 2702 | ((looking-at ada-block-start-re) | 2717 | ((looking-at ada-block-start-re) |
| 2703 | (ada-get-indent-block-start orgpoint)) | 2718 | (ada-get-indent-block-start orgpoint)) |
| 2704 | ;; | 2719 | ;; |
| 2720 | ((looking-at ada-block-label-re) ; also variable declaration | ||
| 2721 | (ada-get-indent-block-label orgpoint)) | ||
| 2722 | ;; | ||
| 2723 | ((looking-at ada-goto-label-re) | ||
| 2724 | (ada-get-indent-goto-label orgpoint)) | ||
| 2725 | ;; | ||
| 2705 | ((looking-at "\\(sub\\)?type\\>") | 2726 | ((looking-at "\\(sub\\)?type\\>") |
| 2706 | (ada-get-indent-type orgpoint)) | 2727 | (ada-get-indent-type orgpoint)) |
| 2707 | ;; | 2728 | ;; |
| @@ -2717,17 +2738,8 @@ if INITIAL-POS is non-nil, moves point to INITIAL-POS before calculation." | |||
| 2717 | ((looking-at "when\\>") | 2738 | ((looking-at "when\\>") |
| 2718 | (ada-get-indent-when orgpoint)) | 2739 | (ada-get-indent-when orgpoint)) |
| 2719 | ;; | 2740 | ;; |
| 2720 | ((looking-at "\\(\\sw\\|_\\)+[ \t\n]*:[^=]") | ||
| 2721 | (ada-get-indent-label orgpoint)) | ||
| 2722 | ;; | ||
| 2723 | ((looking-at "separate\\>") | 2741 | ((looking-at "separate\\>") |
| 2724 | (ada-get-indent-nochange)) | 2742 | (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 | ;; | 2743 | ;; |
| 2732 | ((looking-at "with\\>\\|use\\>") | 2744 | ((looking-at "with\\>\\|use\\>") |
| 2733 | ;; Are we still in that statement, or are we in fact looking at | 2745 | ;; Are we still in that statement, or are we in fact looking at |
| @@ -2835,7 +2847,7 @@ ORGPOINT is the limit position used in the calculation." | |||
| 2835 | (if (looking-at "\\<begin\\>") | 2847 | (if (looking-at "\\<begin\\>") |
| 2836 | (progn | 2848 | (progn |
| 2837 | (setq indent (list (point) 0)) | 2849 | (setq indent (list (point) 0)) |
| 2838 | (if (ada-goto-matching-decl-start t) | 2850 | (if (ada-goto-decl-start t) |
| 2839 | (list (progn (back-to-indentation) (point)) 0) | 2851 | (list (progn (back-to-indentation) (point)) 0) |
| 2840 | indent)) | 2852 | indent)) |
| 2841 | (list (progn (back-to-indentation) (point)) 0) | 2853 | (list (progn (back-to-indentation) (point)) 0) |
| @@ -2960,6 +2972,10 @@ ORGPOINT is the limit position used in the calculation." | |||
| 2960 | (car (ada-search-ignore-string-comment "\\<type\\>" t))) | 2972 | (car (ada-search-ignore-string-comment "\\<type\\>" t))) |
| 2961 | 'ada-indent))) | 2973 | 'ada-indent))) |
| 2962 | 2974 | ||
| 2975 | ;; Special case for label: | ||
| 2976 | ((looking-at ada-block-label-re) | ||
| 2977 | (list (- (save-excursion (back-to-indentation) (point)) ada-label-indent) 'ada-indent)) | ||
| 2978 | |||
| 2963 | ;; nothing follows the block-start | 2979 | ;; nothing follows the block-start |
| 2964 | (t | 2980 | (t |
| 2965 | (list (save-excursion (back-to-indentation) (point)) 'ada-indent))))) | 2981 | (list (save-excursion (back-to-indentation) (point)) 'ada-indent))))) |
| @@ -3055,10 +3071,10 @@ ORGPOINT is the limit position used in the calculation." | |||
| 3055 | (list (save-excursion (back-to-indentation) (point)) | 3071 | (list (save-excursion (back-to-indentation) (point)) |
| 3056 | 'ada-broken-decl-indent)) | 3072 | 'ada-broken-decl-indent)) |
| 3057 | 3073 | ||
| 3058 | ;; This one is called in every over case when indenting a line at the | 3074 | ;; This one is called in every other case when indenting a line at the |
| 3059 | ;; top level | 3075 | ;; top level |
| 3060 | (t | 3076 | (t |
| 3061 | (if (looking-at ada-named-block-re) | 3077 | (if (looking-at (concat "[ \t]*" ada-block-label-re)) |
| 3062 | (setq label (- ada-label-indent)) | 3078 | (setq label (- ada-label-indent)) |
| 3063 | 3079 | ||
| 3064 | (let (p) | 3080 | (let (p) |
| @@ -3087,7 +3103,7 @@ ORGPOINT is the limit position used in the calculation." | |||
| 3087 | (list (+ (save-excursion (back-to-indentation) (point)) label) | 3103 | (list (+ (save-excursion (back-to-indentation) (point)) label) |
| 3088 | 'ada-broken-indent))))))) | 3104 | 'ada-broken-indent))))))) |
| 3089 | 3105 | ||
| 3090 | (defun ada-get-indent-label (orgpoint) | 3106 | (defun ada-get-indent-block-label (orgpoint) |
| 3091 | "Calculate the indentation when before a label or variable declaration. | 3107 | "Calculate the indentation when before a label or variable declaration. |
| 3092 | ORGPOINT is the limit position used in the calculation." | 3108 | ORGPOINT is the limit position used in the calculation." |
| 3093 | (let ((match-cons nil) | 3109 | (let ((match-cons nil) |
| @@ -3119,6 +3135,16 @@ ORGPOINT is the limit position used in the calculation." | |||
| 3119 | (t | 3135 | (t |
| 3120 | (list cur-indent '(- ada-label-indent)))))) | 3136 | (list cur-indent '(- ada-label-indent)))))) |
| 3121 | 3137 | ||
| 3138 | (defun ada-get-indent-goto-label (orgpoint) | ||
| 3139 | "Calculate the indentation when at a goto label." | ||
| 3140 | (search-forward ">>") | ||
| 3141 | (ada-goto-next-non-ws) | ||
| 3142 | (if (>= (point) orgpoint) | ||
| 3143 | ;; labeled statement is the one we need to indent | ||
| 3144 | (list (- (point) ada-label-indent)) | ||
| 3145 | ;; else indentation is indent for labeled statement | ||
| 3146 | (ada-indent-on-previous-lines t orgpoint))) | ||
| 3147 | |||
| 3122 | (defun ada-get-indent-loop (orgpoint) | 3148 | (defun ada-get-indent-loop (orgpoint) |
| 3123 | "Calculate the indentation when just before a loop or a for ... use. | 3149 | "Calculate the indentation when just before a loop or a for ... use. |
| 3124 | ORGPOINT is the limit position used in the calculation." | 3150 | ORGPOINT is the limit position used in the calculation." |
| @@ -3127,8 +3153,8 @@ ORGPOINT is the limit position used in the calculation." | |||
| 3127 | 3153 | ||
| 3128 | ;; If looking at a named block, skip the label | 3154 | ;; If looking at a named block, skip the label |
| 3129 | (label (save-excursion | 3155 | (label (save-excursion |
| 3130 | (beginning-of-line) | 3156 | (back-to-indentation) |
| 3131 | (if (looking-at ada-named-block-re) | 3157 | (if (looking-at ada-block-label-re) |
| 3132 | (- ada-label-indent) | 3158 | (- ada-label-indent) |
| 3133 | 0)))) | 3159 | 0)))) |
| 3134 | 3160 | ||
| @@ -3286,7 +3312,7 @@ ORGPOINT is the limit position used in the calculation." | |||
| 3286 | ;; -- searching and matching | 3312 | ;; -- searching and matching |
| 3287 | ;; ----------------------------------------------------------- | 3313 | ;; ----------------------------------------------------------- |
| 3288 | 3314 | ||
| 3289 | (defun ada-goto-stmt-start () | 3315 | (defun ada-goto-stmt-start (&optional ignore-goto-label) |
| 3290 | "Move point to the beginning of the statement that point is in or after. | 3316 | "Move point to the beginning of the statement that point is in or after. |
| 3291 | Return the new position of point. | 3317 | Return the new position of point. |
| 3292 | As a special case, if we are looking at a closing parenthesis, skip to the | 3318 | As a special case, if we are looking at a closing parenthesis, skip to the |
| @@ -3304,7 +3330,7 @@ open parenthesis." | |||
| 3304 | (progn | 3330 | (progn |
| 3305 | (unless (save-excursion | 3331 | (unless (save-excursion |
| 3306 | (goto-char (cdr match-dat)) | 3332 | (goto-char (cdr match-dat)) |
| 3307 | (ada-goto-next-non-ws orgpoint)) | 3333 | (ada-goto-next-non-ws orgpoint ignore-goto-label)) |
| 3308 | ;; | 3334 | ;; |
| 3309 | ;; nothing follows => it's the end-statement directly in | 3335 | ;; nothing follows => it's the end-statement directly in |
| 3310 | ;; front of point => search again | 3336 | ;; front of point => search again |
| @@ -3326,7 +3352,7 @@ open parenthesis." | |||
| 3326 | (goto-char (point-min)) | 3352 | (goto-char (point-min)) |
| 3327 | ;; | 3353 | ;; |
| 3328 | ;; skip to the very first statement, if there is one | 3354 | ;; skip to the very first statement, if there is one |
| 3329 | ;; | 3355 | ;; |
| 3330 | (unless (ada-goto-next-non-ws orgpoint) | 3356 | (unless (ada-goto-next-non-ws orgpoint) |
| 3331 | (goto-char orgpoint)))) | 3357 | (goto-char orgpoint)))) |
| 3332 | (point))) | 3358 | (point))) |
| @@ -3387,19 +3413,25 @@ is the end of the match." | |||
| 3387 | match-dat | 3413 | match-dat |
| 3388 | nil))) | 3414 | nil))) |
| 3389 | 3415 | ||
| 3390 | 3416 | (defun ada-goto-next-non-ws (&optional limit skip-goto-label) | |
| 3391 | (defun ada-goto-next-non-ws (&optional limit) | 3417 | "Skip to next non-whitespace character. |
| 3392 | "Skip white spaces, newlines and comments to next non-ws character. | 3418 | Skips spaces, newlines and comments, and possibly goto labels. |
| 3419 | Return `point' if moved, nil if not. | ||
| 3393 | Stop the search at LIMIT. | 3420 | Stop the search at LIMIT. |
| 3394 | Do not call this function from within a string." | 3421 | Do not call this function from within a string." |
| 3395 | (unless limit | 3422 | (unless limit |
| 3396 | (setq limit (point-max))) | 3423 | (setq limit (point-max))) |
| 3397 | (while (and (<= (point) limit) | 3424 | (while (and (<= (point) limit) |
| 3398 | (progn (forward-comment 10000) | 3425 | (or (progn (forward-comment 10000) |
| 3399 | (if (and (not (eobp)) | 3426 | (if (and (not (eobp)) |
| 3400 | (save-excursion (forward-char 1) | 3427 | (save-excursion (forward-char 1) |
| 3401 | (ada-in-string-p))) | 3428 | (ada-in-string-p))) |
| 3402 | (progn (forward-sexp 1) t))))) | 3429 | (progn (forward-sexp 1) t))) |
| 3430 | (and skip-goto-label | ||
| 3431 | (looking-at ada-goto-label-re) | ||
| 3432 | (progn | ||
| 3433 | (goto-char (match-end 0)) | ||
| 3434 | t))))) | ||
| 3403 | (if (< (point) limit) | 3435 | (if (< (point) limit) |
| 3404 | (point) | 3436 | (point) |
| 3405 | nil) | 3437 | nil) |
| @@ -3426,9 +3458,7 @@ Return the new position of point or nil if not found." | |||
| 3426 | (unless backward | 3458 | (unless backward |
| 3427 | (skip-syntax-forward "w")) | 3459 | (skip-syntax-forward "w")) |
| 3428 | (if (setq match-cons | 3460 | (if (setq match-cons |
| 3429 | (if backward | 3461 | (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 | ;; | 3462 | ;; |
| 3433 | ;; move to the beginning of the word found | 3463 | ;; move to the beginning of the word found |
| 3434 | ;; | 3464 | ;; |
| @@ -3463,13 +3493,13 @@ Moves point to the beginning of the declaration." | |||
| 3463 | (if (save-excursion | 3493 | (if (save-excursion |
| 3464 | (ada-goto-previous-word) | 3494 | (ada-goto-previous-word) |
| 3465 | (looking-at (concat "\\<" defun-name "\\> *:"))) | 3495 | (looking-at (concat "\\<" defun-name "\\> *:"))) |
| 3466 | t ; do nothing | 3496 | t ; name matches |
| 3467 | ;; else | 3497 | ;; else |
| 3468 | ;; | 3498 | ;; |
| 3469 | ;; 'accept' or 'package' ? | 3499 | ;; 'accept' or 'package' ? |
| 3470 | ;; | 3500 | ;; |
| 3471 | (unless (looking-at ada-subprog-start-re) | 3501 | (unless (looking-at ada-subprog-start-re) |
| 3472 | (ada-goto-matching-decl-start)) | 3502 | (ada-goto-decl-start)) |
| 3473 | ;; | 3503 | ;; |
| 3474 | ;; 'begin' of 'procedure'/'function'/'task' or 'declare' | 3504 | ;; 'begin' of 'procedure'/'function'/'task' or 'declare' |
| 3475 | ;; | 3505 | ;; |
| @@ -3502,14 +3532,20 @@ Moves point to the beginning of the declaration." | |||
| 3502 | (buffer-substring (point) | 3532 | (buffer-substring (point) |
| 3503 | (progn (forward-sexp 1) (point)))))))) | 3533 | (progn (forward-sexp 1) (point)))))))) |
| 3504 | 3534 | ||
| 3505 | (defun ada-goto-matching-decl-start (&optional noerror recursive) | 3535 | (defun ada-goto-decl-start (&optional noerror) |
| 3506 | "Move point to the matching declaration start of the current 'begin'. | 3536 | "Move point to the declaration start of the current construct. |
| 3507 | If NOERROR is non-nil, it only returns nil if no match was found." | 3537 | If NOERROR is non-nil, return nil if no match was found; |
| 3538 | otherwise throw error." | ||
| 3508 | (let ((nest-count 1) | 3539 | (let ((nest-count 1) |
| 3540 | (regexp (eval-when-compile | ||
| 3541 | (concat "\\<" | ||
| 3542 | (regexp-opt | ||
| 3543 | '("is" "separate" "end" "declare" "if" "new" "begin" "generic" "when") t) | ||
| 3544 | "\\>"))) | ||
| 3509 | 3545 | ||
| 3510 | ;; first should be set to t if we should stop at the first | 3546 | ;; first should be set to t if we should stop at the first |
| 3511 | ;; "begin" we encounter. | 3547 | ;; "begin" we encounter. |
| 3512 | (first (not recursive)) | 3548 | (first t) |
| 3513 | (count-generic nil) | 3549 | (count-generic nil) |
| 3514 | (stop-at-when nil) | 3550 | (stop-at-when nil) |
| 3515 | ) | 3551 | ) |
| @@ -3533,7 +3569,7 @@ If NOERROR is non-nil, it only returns nil if no match was found." | |||
| 3533 | ;; search backward for interesting keywords | 3569 | ;; search backward for interesting keywords |
| 3534 | (while (and | 3570 | (while (and |
| 3535 | (not (zerop nest-count)) | 3571 | (not (zerop nest-count)) |
| 3536 | (ada-search-ignore-string-comment ada-matching-decl-start-re t)) | 3572 | (ada-search-ignore-string-comment regexp t)) |
| 3537 | ;; | 3573 | ;; |
| 3538 | ;; calculate nest-depth | 3574 | ;; calculate nest-depth |
| 3539 | ;; | 3575 | ;; |
| @@ -3566,7 +3602,6 @@ If NOERROR is non-nil, it only returns nil if no match was found." | |||
| 3566 | 3602 | ||
| 3567 | (if (looking-at "end") | 3603 | (if (looking-at "end") |
| 3568 | (ada-goto-matching-start 1 noerror t) | 3604 | (ada-goto-matching-start 1 noerror t) |
| 3569 | ;; (ada-goto-matching-decl-start noerror t) | ||
| 3570 | 3605 | ||
| 3571 | (setq loop-again nil) | 3606 | (setq loop-again nil) |
| 3572 | (unless (looking-at "begin") | 3607 | (unless (looking-at "begin") |
| @@ -3594,34 +3629,50 @@ If NOERROR is non-nil, it only returns nil if no match was found." | |||
| 3594 | (setq first t)) | 3629 | (setq first t)) |
| 3595 | ;; | 3630 | ;; |
| 3596 | ((looking-at "is") | 3631 | ((looking-at "is") |
| 3597 | ;; check if it is only a type definition, but not a protected | 3632 | ;; look for things to ignore |
| 3598 | ;; type definition, which should be handled like a procedure. | 3633 | (if |
| 3599 | (if (or (looking-at "is[ \t]+<>") | 3634 | (or |
| 3600 | (save-excursion | 3635 | ;; generic formal parameter |
| 3601 | (forward-comment -10000) | 3636 | (looking-at "is[ t]+<>") |
| 3602 | (forward-char -1) | 3637 | |
| 3603 | 3638 | ;; A type definition, or a case statement. Note that the | |
| 3604 | ;; Detect if we have a closing parenthesis (Could be | 3639 | ;; goto-matching-start above on 'end record' leaves us at |
| 3605 | ;; either the end of subprogram parameters or (<>) | 3640 | ;; 'record', not at 'type'. |
| 3606 | ;; in a type definition | 3641 | ;; |
| 3607 | (if (= (char-after) ?\)) | 3642 | ;; We get to a case statement here by calling |
| 3608 | (progn | 3643 | ;; 'ada-move-to-end' from inside a case statement; then |
| 3609 | (forward-char 1) | 3644 | ;; we are not ignoring 'when'. |
| 3610 | (backward-sexp 1) | 3645 | (save-excursion |
| 3611 | (forward-comment -10000) | 3646 | ;; Skip type discriminants or case argument function call param list |
| 3612 | )) | 3647 | (forward-comment -10000) |
| 3613 | (skip-chars-backward "a-zA-Z0-9_.'") | 3648 | (forward-char -1) |
| 3614 | (ada-goto-previous-word) | 3649 | (if (= (char-after) ?\)) |
| 3615 | (and | 3650 | (progn |
| 3616 | (looking-at "\\<\\(sub\\)?type\\|case\\>") | 3651 | (forward-char 1) |
| 3652 | (backward-sexp 1) | ||
| 3653 | (forward-comment -10000) | ||
| 3654 | )) | ||
| 3655 | ;; skip type or case argument name | ||
| 3656 | (skip-chars-backward "a-zA-Z0-9_.'") | ||
| 3657 | (ada-goto-previous-word) | ||
| 3658 | (and | ||
| 3659 | ;; if it's a protected type, it's the decl start we | ||
| 3660 | ;; are looking for; since we didn't see the 'end' | ||
| 3661 | ;; above, we are inside it. | ||
| 3662 | (looking-at "\\<\\(sub\\)?type\\|case\\>") | ||
| 3617 | (save-match-data | 3663 | (save-match-data |
| 3618 | (ada-goto-previous-word) | 3664 | (ada-goto-previous-word) |
| 3619 | (not (looking-at "\\<protected\\>")))) | 3665 | (not (looking-at "\\<protected\\>")))) |
| 3620 | )) ; end of `or' | 3666 | ) ; end of type definition p |
| 3621 | (goto-char (match-beginning 0)) | 3667 | |
| 3622 | (progn | 3668 | ;; null procedure declaration |
| 3623 | (setq nest-count (1- nest-count)) | 3669 | (save-excursion (ada-goto-next-word) (looking-at "\\<null\\>")) |
| 3624 | (setq first nil)))) | 3670 | );; end or |
| 3671 | ;; skip this construct | ||
| 3672 | nil | ||
| 3673 | ;; this is the right "is" | ||
| 3674 | (setq nest-count (1- nest-count)) | ||
| 3675 | (setq first nil))) | ||
| 3625 | 3676 | ||
| 3626 | ;; | 3677 | ;; |
| 3627 | ((looking-at "new") | 3678 | ((looking-at "new") |
| @@ -4076,7 +4127,7 @@ Point is moved at the beginning of the SEARCH-RE." | |||
| 4076 | Assumes point to be at the end of a statement." | 4127 | Assumes point to be at the end of a statement." |
| 4077 | (or (ada-in-paramlist-p) | 4128 | (or (ada-in-paramlist-p) |
| 4078 | (save-excursion | 4129 | (save-excursion |
| 4079 | (ada-goto-matching-decl-start t)))) | 4130 | (ada-goto-decl-start t)))) |
| 4080 | 4131 | ||
| 4081 | 4132 | ||
| 4082 | (defun ada-looking-at-semi-or () | 4133 | (defun ada-looking-at-semi-or () |
| @@ -4370,7 +4421,7 @@ of the region. Otherwise, operate only on the current line." | |||
| 4370 | ;; | 4421 | ;; |
| 4371 | ada-move-to-declaration | 4422 | ada-move-to-declaration |
| 4372 | (looking-at "\\<begin\\>") | 4423 | (looking-at "\\<begin\\>") |
| 4373 | (ada-goto-matching-decl-start) | 4424 | (ada-goto-decl-start) |
| 4374 | (setq pos (point)))) | 4425 | (setq pos (point)))) |
| 4375 | 4426 | ||
| 4376 | ) ; end of save-excursion | 4427 | ) ; end of save-excursion |
| @@ -4382,7 +4433,7 @@ of the region. Otherwise, operate only on the current line." | |||
| 4382 | (set-syntax-table previous-syntax-table)))) | 4433 | (set-syntax-table previous-syntax-table)))) |
| 4383 | 4434 | ||
| 4384 | (defun ada-move-to-end () | 4435 | (defun ada-move-to-end () |
| 4385 | "Move point to the matching end of the block around point. | 4436 | "Move point to the end of the block around point. |
| 4386 | Moves to 'begin' if in a declarative part." | 4437 | Moves to 'begin' if in a declarative part." |
| 4387 | (interactive) | 4438 | (interactive) |
| 4388 | (let ((pos (point)) | 4439 | (let ((pos (point)) |
| @@ -4432,7 +4483,7 @@ Moves to 'begin' if in a declarative part." | |||
| 4432 | (ada-goto-matching-end 0)) | 4483 | (ada-goto-matching-end 0)) |
| 4433 | ;; package start | 4484 | ;; package start |
| 4434 | ((save-excursion | 4485 | ((save-excursion |
| 4435 | (setq decl-start (and (ada-goto-matching-decl-start t) (point))) | 4486 | (setq decl-start (and (ada-goto-decl-start t) (point))) |
| 4436 | (and decl-start (looking-at "\\<package\\>"))) | 4487 | (and decl-start (looking-at "\\<package\\>"))) |
| 4437 | (ada-goto-matching-end 1)) | 4488 | (ada-goto-matching-end 1)) |
| 4438 | 4489 | ||
diff --git a/lisp/progmodes/cc-defs.el b/lisp/progmodes/cc-defs.el index de0cd896b8e..bb91dee6ce8 100644 --- a/lisp/progmodes/cc-defs.el +++ b/lisp/progmodes/cc-defs.el | |||
| @@ -1217,12 +1217,14 @@ been put there by c-put-char-property. POINT remains unchanged." | |||
| 1217 | ;; This macro does a hidden buffer change. | 1217 | ;; This macro does a hidden buffer change. |
| 1218 | `(progn | 1218 | `(progn |
| 1219 | (c-put-char-property ,beg 'category 'c-cpp-delimiter) | 1219 | (c-put-char-property ,beg 'category 'c-cpp-delimiter) |
| 1220 | (c-put-char-property ,end 'category 'c-cpp-delimiter))) | 1220 | (if (< ,end (point-max)) |
| 1221 | (c-put-char-property ,end 'category 'c-cpp-delimiter)))) | ||
| 1221 | (defmacro c-clear-cpp-delimiters (beg end) | 1222 | (defmacro c-clear-cpp-delimiters (beg end) |
| 1222 | ;; This macro does a hidden buffer change. | 1223 | ;; This macro does a hidden buffer change. |
| 1223 | `(progn | 1224 | `(progn |
| 1224 | (c-clear-char-property ,beg 'category) | 1225 | (c-clear-char-property ,beg 'category) |
| 1225 | (c-clear-char-property ,end 'category))) | 1226 | (if (< ,end (point-max)) |
| 1227 | (c-clear-char-property ,end 'category)))) | ||
| 1226 | 1228 | ||
| 1227 | (defsubst c-comment-out-cpps () | 1229 | (defsubst c-comment-out-cpps () |
| 1228 | ;; Render all preprocessor constructs syntactically commented out. | 1230 | ;; Render all preprocessor constructs syntactically commented out. |
diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el index 0e6358aeee1..9d0af1d53ce 100644 --- a/lisp/progmodes/cc-engine.el +++ b/lisp/progmodes/cc-engine.el | |||
| @@ -2996,9 +2996,11 @@ comment at the start of cc-engine.el for more info." | |||
| 2996 | ;; containing point. We can then call `c-invalidate-state-cache-1' without | 2996 | ;; containing point. We can then call `c-invalidate-state-cache-1' without |
| 2997 | ;; worrying further about macros and template delimiters. | 2997 | ;; worrying further about macros and template delimiters. |
| 2998 | (c-with-<->-as-parens-suppressed | 2998 | (c-with-<->-as-parens-suppressed |
| 2999 | (if c-state-old-cpp-beg | 2999 | (if (and c-state-old-cpp-beg |
| 3000 | (< c-state-old-cpp-beg here)) | ||
| 3000 | (c-with-all-but-one-cpps-commented-out | 3001 | (c-with-all-but-one-cpps-commented-out |
| 3001 | c-state-old-cpp-beg c-state-old-cpp-end | 3002 | c-state-old-cpp-beg |
| 3003 | (min c-state-old-cpp-end here) | ||
| 3002 | (c-invalidate-state-cache-1 here)) | 3004 | (c-invalidate-state-cache-1 here)) |
| 3003 | (c-with-cpps-commented-out | 3005 | (c-with-cpps-commented-out |
| 3004 | (c-invalidate-state-cache-1 here))))) | 3006 | (c-invalidate-state-cache-1 here))))) |
| @@ -3029,8 +3031,9 @@ comment at the start of cc-engine.el for more info." | |||
| 3029 | (c-parse-state-1)) | 3031 | (c-parse-state-1)) |
| 3030 | (c-with-cpps-commented-out | 3032 | (c-with-cpps-commented-out |
| 3031 | (c-parse-state-1)))) | 3033 | (c-parse-state-1)))) |
| 3032 | (setq c-state-old-cpp-beg here-cpp-beg | 3034 | (setq c-state-old-cpp-beg (and here-cpp-beg (copy-marker here-cpp-beg t)) |
| 3033 | c-state-old-cpp-end here-cpp-end)))) | 3035 | c-state-old-cpp-end (and here-cpp-end (copy-marker here-cpp-end t))) |
| 3036 | ))) | ||
| 3034 | 3037 | ||
| 3035 | ;; Debug tool to catch cache inconsistencies. This is called from | 3038 | ;; Debug tool to catch cache inconsistencies. This is called from |
| 3036 | ;; 000tests.el. | 3039 | ;; 000tests.el. |
diff --git a/lisp/term.el b/lisp/term.el index a619ed6ad66..7cb364af622 100644 --- a/lisp/term.el +++ b/lisp/term.el | |||
| @@ -1208,8 +1208,17 @@ without any interpretation." | |||
| 1208 | 1208 | ||
| 1209 | (defun term-send-raw-meta () | 1209 | (defun term-send-raw-meta () |
| 1210 | (interactive) | 1210 | (interactive) |
| 1211 | (let* ((keys (this-command-keys)) | 1211 | (let ((char last-input-event)) |
| 1212 | (char (aref keys (1- (length keys))))) | 1212 | (when (symbolp last-input-event) |
| 1213 | ;; Convert `return' to C-m, etc. | ||
| 1214 | (let ((tmp (get char 'event-symbol-elements))) | ||
| 1215 | (when tmp | ||
| 1216 | (setq char (car tmp))) | ||
| 1217 | (when (symbolp char) | ||
| 1218 | (setq tmp (get char 'ascii-character)) | ||
| 1219 | (when tmp | ||
| 1220 | (setq char tmp))))) | ||
| 1221 | (setq char (event-basic-type char)) | ||
| 1213 | (term-send-raw-string (if (and (numberp char) | 1222 | (term-send-raw-string (if (and (numberp char) |
| 1214 | (> char 127) | 1223 | (> char 127) |
| 1215 | (< char 256)) | 1224 | (< char 256)) |
diff --git a/lisp/term/x-win.el b/lisp/term/x-win.el index 21be4ee85d0..3208ece9c09 100644 --- a/lisp/term/x-win.el +++ b/lisp/term/x-win.el | |||
| @@ -133,9 +133,9 @@ When a session manager tells Emacs that the window system is shutting | |||
| 133 | down, this function is called. It calls the functions in the hook | 133 | down, this function is called. It calls the functions in the hook |
| 134 | `emacs-save-session-functions'. Functions are called with the current | 134 | `emacs-save-session-functions'. Functions are called with the current |
| 135 | buffer set to a temporary buffer. Functions should use `insert' to insert | 135 | buffer set to a temporary buffer. Functions should use `insert' to insert |
| 136 | lisp code to save the session state. The buffer is saved | 136 | lisp code to save the session state. The buffer is saved in a file in the |
| 137 | in a file in the home directory of the user running Emacs. The file | 137 | home directory of the user running Emacs. The file is evaluated when |
| 138 | is evaluated when Emacs is restarted by the session manager. | 138 | Emacs is restarted by the session manager. |
| 139 | 139 | ||
| 140 | If any of the functions returns non-nil, no more functions are called | 140 | If any of the functions returns non-nil, no more functions are called |
| 141 | and this function returns non-nil. This will inform the session manager | 141 | and this function returns non-nil. This will inform the session manager |
| @@ -1286,7 +1286,7 @@ The value nil is the same as this list: | |||
| 1286 | ") | 1286 | ") |
| 1287 | 1287 | ||
| 1288 | ;; Get a selection value of type TYPE by calling x-get-selection with | 1288 | ;; Get a selection value of type TYPE by calling x-get-selection with |
| 1289 | ;; an appropiate DATA-TYPE argument decided by `x-select-request-type'. | 1289 | ;; an appropriate DATA-TYPE argument decided by `x-select-request-type'. |
| 1290 | ;; The return value is already decoded. If x-get-selection causes an | 1290 | ;; The return value is already decoded. If x-get-selection causes an |
| 1291 | ;; error, this function return nil. | 1291 | ;; error, this function return nil. |
| 1292 | 1292 | ||
| @@ -1425,7 +1425,7 @@ The value nil is the same as this list: | |||
| 1425 | (declare-function accelerate-menu "xmenu.c" (&optional frame) t) | 1425 | (declare-function accelerate-menu "xmenu.c" (&optional frame) t) |
| 1426 | 1426 | ||
| 1427 | (defun x-menu-bar-open (&optional frame) | 1427 | (defun x-menu-bar-open (&optional frame) |
| 1428 | "Open the menu bar if `menu-bar-mode' is on. otherwise call `tmm-menubar'." | 1428 | "Open the menu bar if `menu-bar-mode' is on, otherwise call `tmm-menubar'." |
| 1429 | (interactive "i") | 1429 | (interactive "i") |
| 1430 | (if (and menu-bar-mode | 1430 | (if (and menu-bar-mode |
| 1431 | (fboundp 'accelerate-menu)) | 1431 | (fboundp 'accelerate-menu)) |
| @@ -1482,7 +1482,7 @@ The value nil is the same as this list: | |||
| 1482 | ;; Create the standard fontset. | 1482 | ;; Create the standard fontset. |
| 1483 | (condition-case err | 1483 | (condition-case err |
| 1484 | (create-fontset-from-fontset-spec standard-fontset-spec t) | 1484 | (create-fontset-from-fontset-spec standard-fontset-spec t) |
| 1485 | (error (display-warning | 1485 | (error (display-warning |
| 1486 | 'initialization | 1486 | 'initialization |
| 1487 | (format "Creation of the standard fontset failed: %s" err) | 1487 | (format "Creation of the standard fontset failed: %s" err) |
| 1488 | :error))) | 1488 | :error))) |
| @@ -1654,7 +1654,7 @@ A value that begins with n: denotes a named icon instead of a stock icon." | |||
| 1654 | :group 'x) | 1654 | :group 'x) |
| 1655 | 1655 | ||
| 1656 | (defcustom icon-map-list '(x-gtk-stock-map) | 1656 | (defcustom icon-map-list '(x-gtk-stock-map) |
| 1657 | "A list of alists that maps icon file names to stock/named icons. | 1657 | "A list of alists that map icon file names to stock/named icons. |
| 1658 | The alists are searched in the order they appear. The first match is used. | 1658 | The alists are searched in the order they appear. The first match is used. |
| 1659 | The keys in the alists are file names without extension and with two directory | 1659 | The keys in the alists are file names without extension and with two directory |
| 1660 | components. For example, to map /usr/share/emacs/22.1.1/etc/images/open.xpm | 1660 | components. For example, to map /usr/share/emacs/22.1.1/etc/images/open.xpm |
diff --git a/lisp/textmodes/artist.el b/lisp/textmodes/artist.el index 137f358970c..e1d7b053491 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. |
| @@ -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 |
| @@ -5528,7 +5528,7 @@ The event, EV, is the mouse event." | |||
| 5528 | ;; See `artist-draw-rect' for an example. | 5528 | ;; See `artist-draw-rect' for an example. |
| 5529 | ;; | 5529 | ;; |
| 5530 | ;; You must call the init-fn, the prep-fill-fn, arrow-set-fn | 5530 | ;; You must call the init-fn, the prep-fill-fn, arrow-set-fn |
| 5531 | ;; and the exit-fn at the apropriate points. | 5531 | ;; and the exit-fn at the appropriate points. |
| 5532 | ;; | 5532 | ;; |
| 5533 | ;; When artist-mouse-draw-xxx ends, the shape for your mode | 5533 | ;; When artist-mouse-draw-xxx ends, the shape for your mode |
| 5534 | ;; must be completely drawn. | 5534 | ;; must be completely drawn. |
| @@ -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 |
| @@ -5561,7 +5561,7 @@ The event, EV, is the mouse event." | |||
| 5561 | ;; work. | 5561 | ;; work. |
| 5562 | ;; | 5562 | ;; |
| 5563 | ;; You must call the init-fn, the prep-fill-fn, arrow-set-fn | 5563 | ;; You must call the init-fn, the prep-fill-fn, arrow-set-fn |
| 5564 | ;; and the exit-fn at the apropriate points. | 5564 | ;; and the exit-fn at the appropriate points. |
| 5565 | ;; | 5565 | ;; |
| 5566 | ;; e. Add your new mode to the master table, `artist-mt'. | 5566 | ;; e. Add your new mode to the master table, `artist-mt'. |
| 5567 | ;; | 5567 | ;; |
diff --git a/lisp/textmodes/sgml-mode.el b/lisp/textmodes/sgml-mode.el index 996734637bc..b9d52acdeba 100644 --- a/lisp/textmodes/sgml-mode.el +++ b/lisp/textmodes/sgml-mode.el | |||
| @@ -608,11 +608,7 @@ Uses `sgml-char-names'." | |||
| 608 | "Insert a symbolic character name according to `sgml-char-names'." | 608 | "Insert a symbolic character name according to `sgml-char-names'." |
| 609 | (interactive "*") | 609 | (interactive "*") |
| 610 | (if sgml-name-8bit-mode | 610 | (if sgml-name-8bit-mode |
| 611 | (let ((mc last-command-event)) | 611 | (sgml-name-char last-command-event) |
| 612 | (if (< mc 256) | ||
| 613 | (setq mc (unibyte-char-to-multibyte mc))) | ||
| 614 | (or mc (setq mc last-command-event)) | ||
| 615 | (sgml-name-char mc)) | ||
| 616 | (self-insert-command 1))) | 612 | (self-insert-command 1))) |
| 617 | 613 | ||
| 618 | (defun sgml-name-8bit-mode () | 614 | (defun sgml-name-8bit-mode () |
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/lisp/whitespace.el b/lisp/whitespace.el index fbdc6d120a0..183698a28f3 100644 --- a/lisp/whitespace.el +++ b/lisp/whitespace.el | |||
| @@ -397,14 +397,14 @@ It's a list containing some or all of the following values: | |||
| 397 | spaces SPACEs and HARD SPACEs are visualized via | 397 | spaces SPACEs and HARD SPACEs are visualized via |
| 398 | faces. | 398 | faces. |
| 399 | 399 | ||
| 400 | lines lines whose have columns beyond | 400 | lines lines which have columns beyond |
| 401 | `whitespace-line-column' are highlighted via | 401 | `whitespace-line-column' are highlighted via |
| 402 | faces . | 402 | faces. |
| 403 | Whole line is highlighted. | 403 | Whole line is highlighted. |
| 404 | It has precedence over `lines-tail' (see | 404 | It has precedence over `lines-tail' (see |
| 405 | below). | 405 | below). |
| 406 | 406 | ||
| 407 | lines-tail lines whose have columns beyond | 407 | lines-tail lines which have columns beyond |
| 408 | `whitespace-line-column' are highlighted via | 408 | `whitespace-line-column' are highlighted via |
| 409 | faces. | 409 | faces. |
| 410 | But only the part of line which goes | 410 | But only the part of line which goes |
| @@ -462,7 +462,7 @@ Any other value is ignored. | |||
| 462 | If nil, don't visualize TABs, (HARD) SPACEs and NEWLINEs via faces and | 462 | If nil, don't visualize TABs, (HARD) SPACEs and NEWLINEs via faces and |
| 463 | via display table. | 463 | via display table. |
| 464 | 464 | ||
| 465 | There is an evaluation order for some values, if some values are | 465 | There is an evaluation order for some values, if they are |
| 466 | included in `whitespace-style' list. For example, if | 466 | included in `whitespace-style' list. For example, if |
| 467 | indentation, indentation::tab and/or indentation::space are | 467 | indentation, indentation::tab and/or indentation::space are |
| 468 | included in `whitespace-style' list. The evaluation order for | 468 | included in `whitespace-style' list. The evaluation order for |
| @@ -1134,7 +1134,7 @@ otherwise, turn off visualization. | |||
| 1134 | Use `global-whitespace-newline-mode' only for NEWLINE | 1134 | Use `global-whitespace-newline-mode' only for NEWLINE |
| 1135 | visualization exclusively. For other visualizations, including | 1135 | visualization exclusively. For other visualizations, including |
| 1136 | NEWLINE visualization together with (HARD) SPACEs and/or TABs, | 1136 | NEWLINE visualization together with (HARD) SPACEs and/or TABs, |
| 1137 | please, use `global-whitespace-mode'. | 1137 | please use `global-whitespace-mode'. |
| 1138 | 1138 | ||
| 1139 | See also `whitespace-newline' and `whitespace-display-mappings'." | 1139 | See also `whitespace-newline' and `whitespace-display-mappings'." |
| 1140 | :lighter " NL" | 1140 | :lighter " NL" |
| @@ -2046,7 +2046,7 @@ See also `whitespace-toggle-option-alist'." | |||
| 2046 | ((quit error) | 2046 | ((quit error) |
| 2047 | (whitespace-help-off) | 2047 | (whitespace-help-off) |
| 2048 | (error (error-message-string data))))) | 2048 | (error (error-message-string data))))) |
| 2049 | (list sym))) ; return the apropriate symbol | 2049 | (list sym))) ; return the appropriate symbol |
| 2050 | 2050 | ||
| 2051 | 2051 | ||
| 2052 | (defun whitespace-toggle-list (local-p arg the-list) | 2052 | (defun whitespace-toggle-list (local-p arg the-list) |
diff --git a/src/ChangeLog b/src/ChangeLog index e1d2ba440ab..5589b7f34a2 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,38 @@ | |||
| 1 | 2010-01-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 2 | |||
| 3 | * lisp.h (make_pure_string): String pointer arg now points to const. | ||
| 4 | |||
| 5 | * alloc.c (find_string_data_in_pure, make_pure_string): String pointer | ||
| 6 | args now point to const. | ||
| 7 | |||
| 8 | 2010-01-22 Eli Zaretskii <eliz@gnu.org> | ||
| 9 | |||
| 10 | * lread.c (Fload): Don't treat files without .elc extension as | ||
| 11 | byte-compiled if they are ``magic'', i.e. `openp' returned -2 for | ||
| 12 | them. (bug#5303) | ||
| 13 | |||
| 14 | 2010-01-20 Kenichi Handa <handa@m17n.org> | ||
| 15 | |||
| 16 | * coding.c (consume_chars): If ! multibyte and the encoder is ccl, | ||
| 17 | treat the source as actual byte sequence. | ||
| 18 | |||
| 19 | 2010-01-19 Alan Mackenzie <acm@muc.de> | ||
| 20 | |||
| 21 | Fix spurious before-change-functions invocation from (insert ?\n). | ||
| 22 | * textprop.c (set_text_properties): rename parameter | ||
| 23 | `signal_after_change_p' to `coherent_change_p', and make the | ||
| 24 | invocation of `modify_region' conditional on it. | ||
| 25 | |||
| 26 | 2010-01-19 Jan Djärv <jan.h.d@swipnet.se> | ||
| 27 | |||
| 28 | * xsettings.c (apply_xft_settings): Save settings in Vxft_settings | ||
| 29 | for debug purpose. | ||
| 30 | (syms_of_xsettings): Declare xft-settings. | ||
| 31 | |||
| 32 | 2010-01-18 Chong Yidong <cyd@stupidchicken.com> | ||
| 33 | |||
| 34 | * editfns.c (Fcurrent_time_string): Doc fix (Bug#5408). | ||
| 35 | |||
| 1 | 2010-01-16 Stefan Monnier <monnier@iro.umontreal.ca> | 36 | 2010-01-16 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 37 | ||
| 3 | * xterm.c (event_handler_gdk): Block input (Bug#5037). | 38 | * xterm.c (event_handler_gdk): Block input (Bug#5037). |
diff --git a/src/alloc.c b/src/alloc.c index 3c48f8762f8..9a935cc8952 100644 --- a/src/alloc.c +++ b/src/alloc.c | |||
| @@ -4725,11 +4725,11 @@ check_pure_size () | |||
| 4725 | 4725 | ||
| 4726 | static char * | 4726 | static char * |
| 4727 | find_string_data_in_pure (data, nbytes) | 4727 | find_string_data_in_pure (data, nbytes) |
| 4728 | char *data; | 4728 | const char *data; |
| 4729 | int nbytes; | 4729 | int nbytes; |
| 4730 | { | 4730 | { |
| 4731 | int i, skip, bm_skip[256], last_char_skip, infinity, start, start_max; | 4731 | int i, skip, bm_skip[256], last_char_skip, infinity, start, start_max; |
| 4732 | unsigned char *p; | 4732 | const unsigned char *p; |
| 4733 | char *non_lisp_beg; | 4733 | char *non_lisp_beg; |
| 4734 | 4734 | ||
| 4735 | if (pure_bytes_used_non_lisp < nbytes + 1) | 4735 | if (pure_bytes_used_non_lisp < nbytes + 1) |
| @@ -4740,7 +4740,7 @@ find_string_data_in_pure (data, nbytes) | |||
| 4740 | for (i = 0; i < 256; i++) | 4740 | for (i = 0; i < 256; i++) |
| 4741 | bm_skip[i] = skip; | 4741 | bm_skip[i] = skip; |
| 4742 | 4742 | ||
| 4743 | p = (unsigned char *) data; | 4743 | p = (const unsigned char *) data; |
| 4744 | while (--skip > 0) | 4744 | while (--skip > 0) |
| 4745 | bm_skip[*p++] = skip; | 4745 | bm_skip[*p++] = skip; |
| 4746 | 4746 | ||
| @@ -4754,7 +4754,7 @@ find_string_data_in_pure (data, nbytes) | |||
| 4754 | infinity = pure_bytes_used_non_lisp + 1; | 4754 | infinity = pure_bytes_used_non_lisp + 1; |
| 4755 | bm_skip['\0'] = infinity; | 4755 | bm_skip['\0'] = infinity; |
| 4756 | 4756 | ||
| 4757 | p = (unsigned char *) non_lisp_beg + nbytes; | 4757 | p = (const unsigned char *) non_lisp_beg + nbytes; |
| 4758 | start = 0; | 4758 | start = 0; |
| 4759 | do | 4759 | do |
| 4760 | { | 4760 | { |
| @@ -4796,7 +4796,7 @@ find_string_data_in_pure (data, nbytes) | |||
| 4796 | 4796 | ||
| 4797 | Lisp_Object | 4797 | Lisp_Object |
| 4798 | make_pure_string (data, nchars, nbytes, multibyte) | 4798 | make_pure_string (data, nchars, nbytes, multibyte) |
| 4799 | char *data; | 4799 | const char *data; |
| 4800 | int nchars, nbytes; | 4800 | int nchars, nbytes; |
| 4801 | int multibyte; | 4801 | int multibyte; |
| 4802 | { | 4802 | { |
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/coding.c b/src/coding.c index b3a51eb0c4c..935d32e6a58 100644 --- a/src/coding.c +++ b/src/coding.c | |||
| @@ -7417,7 +7417,8 @@ consume_chars (coding, translation_table, max_lookup) | |||
| 7417 | { | 7417 | { |
| 7418 | EMACS_INT bytes; | 7418 | EMACS_INT bytes; |
| 7419 | 7419 | ||
| 7420 | if (coding->encoder == encode_coding_raw_text) | 7420 | if (coding->encoder == encode_coding_raw_text |
| 7421 | || coding->encoder == encode_coding_ccl) | ||
| 7421 | c = *src++, pos++; | 7422 | c = *src++, pos++; |
| 7422 | else if ((bytes = MULTIBYTE_LENGTH (src, src_end)) > 0) | 7423 | else if ((bytes = MULTIBYTE_LENGTH (src, src_end)) > 0) |
| 7423 | c = STRING_CHAR_ADVANCE_NO_UNIFY (src), pos += bytes; | 7424 | c = STRING_CHAR_ADVANCE_NO_UNIFY (src), pos += bytes; |
diff --git a/src/editfns.c b/src/editfns.c index 00ac0ca0fa9..093f141bff2 100644 --- a/src/editfns.c +++ b/src/editfns.c | |||
| @@ -1897,7 +1897,7 @@ usage: (encode-time SECOND MINUTE HOUR DAY MONTH YEAR &optional ZONE) */) | |||
| 1897 | } | 1897 | } |
| 1898 | 1898 | ||
| 1899 | DEFUN ("current-time-string", Fcurrent_time_string, Scurrent_time_string, 0, 1, 0, | 1899 | DEFUN ("current-time-string", Fcurrent_time_string, Scurrent_time_string, 0, 1, 0, |
| 1900 | doc: /* Return the current time, as a human-readable string. | 1900 | doc: /* Return the current local time, as a human-readable string. |
| 1901 | Programs can use this function to decode a time, | 1901 | Programs can use this function to decode a time, |
| 1902 | since the number of columns in each field is fixed | 1902 | since the number of columns in each field is fixed |
| 1903 | if the year is in the range 1000-9999. | 1903 | if the year is in the range 1000-9999. |
diff --git a/src/lisp.h b/src/lisp.h index 5ea0303976d..7032a3f48f4 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -2686,7 +2686,7 @@ extern Lisp_Object make_uninit_multibyte_string P_ ((int, int)); | |||
| 2686 | extern Lisp_Object make_string_from_bytes P_ ((const char *, int, int)); | 2686 | extern Lisp_Object make_string_from_bytes P_ ((const char *, int, int)); |
| 2687 | extern Lisp_Object make_specified_string P_ ((const char *, int, int, int)); | 2687 | extern Lisp_Object make_specified_string P_ ((const char *, int, int, int)); |
| 2688 | EXFUN (Fpurecopy, 1); | 2688 | EXFUN (Fpurecopy, 1); |
| 2689 | extern Lisp_Object make_pure_string P_ ((char *, int, int, int)); | 2689 | extern Lisp_Object make_pure_string P_ ((const char *, int, int, int)); |
| 2690 | extern Lisp_Object make_pure_c_string (const char *data); | 2690 | extern Lisp_Object make_pure_c_string (const char *data); |
| 2691 | extern Lisp_Object pure_cons P_ ((Lisp_Object, Lisp_Object)); | 2691 | extern Lisp_Object pure_cons P_ ((Lisp_Object, Lisp_Object)); |
| 2692 | extern Lisp_Object make_pure_vector P_ ((EMACS_INT)); | 2692 | extern Lisp_Object make_pure_vector P_ ((EMACS_INT)); |
diff --git a/src/lread.c b/src/lread.c index db425b82299..ba9d5378104 100644 --- a/src/lread.c +++ b/src/lread.c | |||
| @@ -1155,7 +1155,7 @@ Return t if the file exists and loads successfully. */) | |||
| 1155 | 1155 | ||
| 1156 | if (!bcmp (SDATA (found) + SBYTES (found) - 4, | 1156 | if (!bcmp (SDATA (found) + SBYTES (found) - 4, |
| 1157 | ".elc", 4) | 1157 | ".elc", 4) |
| 1158 | || (version = safe_to_load_p (fd)) > 0) | 1158 | || (fd >= 0 && (version = safe_to_load_p (fd)) > 0)) |
| 1159 | /* Load .elc files directly, but not when they are | 1159 | /* Load .elc files directly, but not when they are |
| 1160 | remote and have no handler! */ | 1160 | remote and have no handler! */ |
| 1161 | { | 1161 | { |
diff --git a/src/textprop.c b/src/textprop.c index fee73321deb..83d09cce558 100644 --- a/src/textprop.c +++ b/src/textprop.c | |||
| @@ -1346,13 +1346,15 @@ the designated part of OBJECT. */) | |||
| 1346 | /* Replace properties of text from START to END with new list of | 1346 | /* Replace properties of text from START to END with new list of |
| 1347 | properties PROPERTIES. OBJECT is the buffer or string containing | 1347 | properties PROPERTIES. OBJECT is the buffer or string containing |
| 1348 | the text. OBJECT nil means use the current buffer. | 1348 | the text. OBJECT nil means use the current buffer. |
| 1349 | SIGNAL_AFTER_CHANGE_P nil means don't signal after changes. Value | 1349 | COHERENT_CHANGE_P nil means this is being called as an internal |
| 1350 | is nil if the function _detected_ that it did not replace any | 1350 | subroutine, rather than as a change primitive with checking of |
| 1351 | properties, non-nil otherwise. */ | 1351 | read-only, invoking change hooks, etc.. Value is nil if the |
| 1352 | function _detected_ that it did not replace any properties, non-nil | ||
| 1353 | otherwise. */ | ||
| 1352 | 1354 | ||
| 1353 | Lisp_Object | 1355 | Lisp_Object |
| 1354 | set_text_properties (start, end, properties, object, signal_after_change_p) | 1356 | set_text_properties (start, end, properties, object, coherent_change_p) |
| 1355 | Lisp_Object start, end, properties, object, signal_after_change_p; | 1357 | Lisp_Object start, end, properties, object, coherent_change_p; |
| 1356 | { | 1358 | { |
| 1357 | register INTERVAL i; | 1359 | register INTERVAL i; |
| 1358 | Lisp_Object ostart, oend; | 1360 | Lisp_Object ostart, oend; |
| @@ -1397,12 +1399,12 @@ set_text_properties (start, end, properties, object, signal_after_change_p) | |||
| 1397 | return Qnil; | 1399 | return Qnil; |
| 1398 | } | 1400 | } |
| 1399 | 1401 | ||
| 1400 | if (BUFFERP (object)) | 1402 | if (BUFFERP (object) && !NILP (coherent_change_p)) |
| 1401 | modify_region (XBUFFER (object), XINT (start), XINT (end), 1); | 1403 | modify_region (XBUFFER (object), XINT (start), XINT (end), 1); |
| 1402 | 1404 | ||
| 1403 | set_text_properties_1 (start, end, properties, object, i); | 1405 | set_text_properties_1 (start, end, properties, object, i); |
| 1404 | 1406 | ||
| 1405 | if (BUFFERP (object) && !NILP (signal_after_change_p)) | 1407 | if (BUFFERP (object) && !NILP (coherent_change_p)) |
| 1406 | signal_after_change (XINT (start), XINT (end) - XINT (start), | 1408 | signal_after_change (XINT (start), XINT (end) - XINT (start), |
| 1407 | XINT (end) - XINT (start)); | 1409 | XINT (end) - XINT (start)); |
| 1408 | return Qt; | 1410 | return Qt; |
diff --git a/src/xsettings.c b/src/xsettings.c index 3e673129d4c..945007db2f0 100644 --- a/src/xsettings.c +++ b/src/xsettings.c | |||
| @@ -42,6 +42,8 @@ static char *current_mono_font; | |||
| 42 | static struct x_display_info *first_dpyinfo; | 42 | static struct x_display_info *first_dpyinfo; |
| 43 | static Lisp_Object Qfont_name, Qfont_render; | 43 | static Lisp_Object Qfont_name, Qfont_render; |
| 44 | static int use_system_font; | 44 | static int use_system_font; |
| 45 | static Lisp_Object Vxft_settings; | ||
| 46 | |||
| 45 | 47 | ||
| 46 | #ifdef HAVE_GCONF | 48 | #ifdef HAVE_GCONF |
| 47 | static GConfClient *gconf_client; | 49 | static GConfClient *gconf_client; |
| @@ -406,12 +408,13 @@ apply_xft_settings (dpyinfo, send_event_p) | |||
| 406 | FcPattern *pat; | 408 | FcPattern *pat; |
| 407 | struct xsettings settings, oldsettings; | 409 | struct xsettings settings, oldsettings; |
| 408 | int changed = 0; | 410 | int changed = 0; |
| 411 | char buf[256]; | ||
| 409 | 412 | ||
| 410 | if (!read_xft_settings (dpyinfo, &settings)) | 413 | if (!read_xft_settings (dpyinfo, &settings)) |
| 411 | return; | 414 | return; |
| 412 | 415 | ||
| 413 | memset (&oldsettings, 0, sizeof (oldsettings)); | 416 | memset (&oldsettings, 0, sizeof (oldsettings)); |
| 414 | 417 | buf[0] = '\0'; | |
| 415 | pat = FcPatternCreate (); | 418 | pat = FcPatternCreate (); |
| 416 | XftDefaultSubstitute (dpyinfo->display, | 419 | XftDefaultSubstitute (dpyinfo->display, |
| 417 | XScreenNumberOfScreen (dpyinfo->screen), | 420 | XScreenNumberOfScreen (dpyinfo->screen), |
| @@ -428,20 +431,30 @@ apply_xft_settings (dpyinfo, send_event_p) | |||
| 428 | FcPatternDel (pat, FC_ANTIALIAS); | 431 | FcPatternDel (pat, FC_ANTIALIAS); |
| 429 | FcPatternAddBool (pat, FC_ANTIALIAS, settings.aa); | 432 | FcPatternAddBool (pat, FC_ANTIALIAS, settings.aa); |
| 430 | ++changed; | 433 | ++changed; |
| 434 | oldsettings.aa = settings.aa; | ||
| 431 | } | 435 | } |
| 436 | sprintf (buf, "Antialias: %d", oldsettings.aa); | ||
| 437 | |||
| 432 | if ((settings.seen & SEEN_HINTING) != 0 | 438 | if ((settings.seen & SEEN_HINTING) != 0 |
| 433 | && oldsettings.hinting != settings.hinting) | 439 | && oldsettings.hinting != settings.hinting) |
| 434 | { | 440 | { |
| 435 | FcPatternDel (pat, FC_HINTING); | 441 | FcPatternDel (pat, FC_HINTING); |
| 436 | FcPatternAddBool (pat, FC_HINTING, settings.hinting); | 442 | FcPatternAddBool (pat, FC_HINTING, settings.hinting); |
| 437 | ++changed; | 443 | ++changed; |
| 444 | oldsettings.hinting = settings.hinting; | ||
| 438 | } | 445 | } |
| 446 | if (strlen (buf) > 0) strcat (buf, ", "); | ||
| 447 | sprintf (buf+strlen (buf), "Hinting: %d", oldsettings.hinting); | ||
| 439 | if ((settings.seen & SEEN_RGBA) != 0 && oldsettings.rgba != settings.rgba) | 448 | if ((settings.seen & SEEN_RGBA) != 0 && oldsettings.rgba != settings.rgba) |
| 440 | { | 449 | { |
| 441 | FcPatternDel (pat, FC_RGBA); | 450 | FcPatternDel (pat, FC_RGBA); |
| 442 | FcPatternAddInteger (pat, FC_RGBA, settings.rgba); | 451 | FcPatternAddInteger (pat, FC_RGBA, settings.rgba); |
| 452 | oldsettings.rgba = settings.rgba; | ||
| 443 | ++changed; | 453 | ++changed; |
| 444 | } | 454 | } |
| 455 | if (strlen (buf) > 0) strcat (buf, ", "); | ||
| 456 | sprintf (buf+strlen (buf), "RGBA: %d", oldsettings.rgba); | ||
| 457 | |||
| 445 | /* Older fontconfig versions don't have FC_LCD_FILTER. */ | 458 | /* Older fontconfig versions don't have FC_LCD_FILTER. */ |
| 446 | if ((settings.seen & SEEN_LCDFILTER) != 0 | 459 | if ((settings.seen & SEEN_LCDFILTER) != 0 |
| 447 | && oldsettings.lcdfilter != settings.lcdfilter) | 460 | && oldsettings.lcdfilter != settings.lcdfilter) |
| @@ -449,14 +462,22 @@ apply_xft_settings (dpyinfo, send_event_p) | |||
| 449 | FcPatternDel (pat, FC_LCD_FILTER); | 462 | FcPatternDel (pat, FC_LCD_FILTER); |
| 450 | FcPatternAddInteger (pat, FC_LCD_FILTER, settings.lcdfilter); | 463 | FcPatternAddInteger (pat, FC_LCD_FILTER, settings.lcdfilter); |
| 451 | ++changed; | 464 | ++changed; |
| 465 | oldsettings.lcdfilter = settings.lcdfilter; | ||
| 452 | } | 466 | } |
| 467 | if (strlen (buf) > 0) strcat (buf, ", "); | ||
| 468 | sprintf (buf+strlen (buf), "LCDFilter: %d", oldsettings.lcdfilter); | ||
| 469 | |||
| 453 | if ((settings.seen & SEEN_HINTSTYLE) != 0 | 470 | if ((settings.seen & SEEN_HINTSTYLE) != 0 |
| 454 | && oldsettings.hintstyle != settings.hintstyle) | 471 | && oldsettings.hintstyle != settings.hintstyle) |
| 455 | { | 472 | { |
| 456 | FcPatternDel (pat, FC_HINT_STYLE); | 473 | FcPatternDel (pat, FC_HINT_STYLE); |
| 457 | FcPatternAddInteger (pat, FC_HINT_STYLE, settings.hintstyle); | 474 | FcPatternAddInteger (pat, FC_HINT_STYLE, settings.hintstyle); |
| 458 | ++changed; | 475 | ++changed; |
| 476 | oldsettings.hintstyle = settings.hintstyle; | ||
| 459 | } | 477 | } |
| 478 | if (strlen (buf) > 0) strcat (buf, ", "); | ||
| 479 | sprintf (buf+strlen (buf), "Hintstyle: %d", oldsettings.hintstyle); | ||
| 480 | |||
| 460 | if ((settings.seen & SEEN_DPI) != 0 && oldsettings.dpi != settings.dpi | 481 | if ((settings.seen & SEEN_DPI) != 0 && oldsettings.dpi != settings.dpi |
| 461 | && settings.dpi > 0) | 482 | && settings.dpi > 0) |
| 462 | { | 483 | { |
| @@ -465,7 +486,8 @@ apply_xft_settings (dpyinfo, send_event_p) | |||
| 465 | FcPatternDel (pat, FC_DPI); | 486 | FcPatternDel (pat, FC_DPI); |
| 466 | FcPatternAddDouble (pat, FC_DPI, settings.dpi); | 487 | FcPatternAddDouble (pat, FC_DPI, settings.dpi); |
| 467 | ++changed; | 488 | ++changed; |
| 468 | 489 | oldsettings.dpi = settings.dpi; | |
| 490 | |||
| 469 | /* Change the DPI on this display and all frames on the display. */ | 491 | /* Change the DPI on this display and all frames on the display. */ |
| 470 | dpyinfo->resy = dpyinfo->resx = settings.dpi; | 492 | dpyinfo->resy = dpyinfo->resx = settings.dpi; |
| 471 | FOR_EACH_FRAME (tail, frame) | 493 | FOR_EACH_FRAME (tail, frame) |
| @@ -474,12 +496,16 @@ apply_xft_settings (dpyinfo, send_event_p) | |||
| 474 | XFRAME (frame)->resy = XFRAME (frame)->resx = settings.dpi; | 496 | XFRAME (frame)->resy = XFRAME (frame)->resx = settings.dpi; |
| 475 | } | 497 | } |
| 476 | 498 | ||
| 499 | if (strlen (buf) > 0) strcat (buf, ", "); | ||
| 500 | sprintf (buf+strlen (buf), "DPI: %lf", oldsettings.dpi); | ||
| 501 | |||
| 477 | if (changed) | 502 | if (changed) |
| 478 | { | 503 | { |
| 479 | XftDefaultSet (dpyinfo->display, pat); | 504 | XftDefaultSet (dpyinfo->display, pat); |
| 480 | if (send_event_p) | 505 | if (send_event_p) |
| 481 | store_font_changed_event (Qfont_render, | 506 | store_font_changed_event (Qfont_render, |
| 482 | XCAR (dpyinfo->name_list_element)); | 507 | XCAR (dpyinfo->name_list_element)); |
| 508 | Vxft_settings = make_string (buf, strlen (buf)); | ||
| 483 | } | 509 | } |
| 484 | else | 510 | else |
| 485 | FcPatternDestroy (pat); | 511 | FcPatternDestroy (pat); |
| @@ -638,6 +664,10 @@ syms_of_xsettings () | |||
| 638 | doc: /* *Non-nil means to use the system defined font. */); | 664 | doc: /* *Non-nil means to use the system defined font. */); |
| 639 | use_system_font = 0; | 665 | use_system_font = 0; |
| 640 | 666 | ||
| 667 | DEFVAR_LISP ("xft-settings", &Vxft_settings, | ||
| 668 | doc: /* Font settings applied to Xft. */); | ||
| 669 | Vxft_settings = make_string ("", 0); | ||
| 670 | |||
| 641 | #ifdef HAVE_XFT | 671 | #ifdef HAVE_XFT |
| 642 | Fprovide (intern_c_string ("font-render-setting"), Qnil); | 672 | Fprovide (intern_c_string ("font-render-setting"), Qnil); |
| 643 | #ifdef HAVE_GCONF | 673 | #ifdef HAVE_GCONF |
diff --git a/test/ChangeLog b/test/ChangeLog index e52559399e5..e17adc0bfc7 100644 --- a/test/ChangeLog +++ b/test/ChangeLog | |||
| @@ -1,3 +1,10 @@ | |||
| 1 | 2010-01-18 Juanma Barranquero <lekktu@gmail.com> | ||
| 2 | |||
| 3 | * cedet/semantic-tests.el (semanticdb-test-gnu-global) | ||
| 4 | (semantic-lex-test-full-depth, semantic-symref-test-count-hits-in-tag): | ||
| 5 | Fix typos in docstrings and error messages. | ||
| 6 | (semanticdb-ebrowse-run-tests): Fix typos in error messages. | ||
| 7 | |||
| 1 | 2010-01-14 Juanma Barranquero <lekktu@gmail.com> | 8 | 2010-01-14 Juanma Barranquero <lekktu@gmail.com> |
| 2 | 9 | ||
| 3 | * cedet/cedet-utests.el (cedet-utest-log-shutdown, pulse-test): | 10 | * cedet/cedet-utests.el (cedet-utest-log-shutdown, pulse-test): |
diff --git a/test/cedet/semantic-tests.el b/test/cedet/semantic-tests.el index b21b451691b..6d13be1d5d2 100644 --- a/test/cedet/semantic-tests.el +++ b/test/cedet/semantic-tests.el | |||
| @@ -58,7 +58,7 @@ All systems are different. Ask questions along the way." | |||
| 58 | (when (not (or (eq major-mode 'c-mode) | 58 | (when (not (or (eq major-mode 'c-mode) |
| 59 | (eq major-mode 'c++-mode))) | 59 | (eq major-mode 'c++-mode))) |
| 60 | (error "Please make your default buffer be a C or C++ file, then | 60 | (error "Please make your default buffer be a C or C++ file, then |
| 61 | run the test again.."))) | 61 | run the test again"))) |
| 62 | 62 | ||
| 63 | (defun semanticdb-ebrowse-dump () | 63 | (defun semanticdb-ebrowse-dump () |
| 64 | "Find the first loaded ebrowse table, and dump out the contents." | 64 | "Find the first loaded ebrowse table, and dump out the contents." |
| @@ -83,7 +83,7 @@ run the test again.."))) | |||
| 83 | (defun semanticdb-test-gnu-global (searchfor &optional standardfile) | 83 | (defun semanticdb-test-gnu-global (searchfor &optional standardfile) |
| 84 | "Test the GNU Global semanticdb. | 84 | "Test the GNU Global semanticdb. |
| 85 | Argument SEARCHFOR is the text to search for. | 85 | Argument SEARCHFOR is the text to search for. |
| 86 | If optional arg STANDARDFILE is non nil, use a standard file w/ global enabled." | 86 | If optional arg STANDARDFILE is non-nil, use a standard file w/ global enabled." |
| 87 | (interactive "sSearch For Tag: \nP") | 87 | (interactive "sSearch For Tag: \nP") |
| 88 | 88 | ||
| 89 | (require 'data-debug) | 89 | (require 'data-debug) |
| @@ -235,7 +235,7 @@ Optional argument ARG specifies not to use color." | |||
| 235 | 235 | ||
| 236 | (defun semantic-lex-test-full-depth (arg) | 236 | (defun semantic-lex-test-full-depth (arg) |
| 237 | "Test the semantic lexer in the current buffer parsing through lists. | 237 | "Test the semantic lexer in the current buffer parsing through lists. |
| 238 | Usually the lexer parses | 238 | Usually the lexer parses. |
| 239 | If universal argument ARG, then try the whole buffer." | 239 | If universal argument ARG, then try the whole buffer." |
| 240 | (interactive "P") | 240 | (interactive "P") |
| 241 | (let* ((start (current-time)) | 241 | (let* ((start (current-time)) |
| @@ -309,7 +309,7 @@ Analyze the area between BEG and END." | |||
| 309 | 309 | ||
| 310 | (defun semantic-symref-test-count-hits-in-tag () | 310 | (defun semantic-symref-test-count-hits-in-tag () |
| 311 | "Lookup in the current tag the symbol under point. | 311 | "Lookup in the current tag the symbol under point. |
| 312 | the count all the other references to the same symbol within the | 312 | Then count all the other references to the same symbol within the |
| 313 | tag that contains point, and return that." | 313 | tag that contains point, and return that." |
| 314 | (interactive) | 314 | (interactive) |
| 315 | (let* ((ctxt (semantic-analyze-current-context)) | 315 | (let* ((ctxt (semantic-analyze-current-context)) |
| @@ -323,7 +323,7 @@ tag that contains point, and return that." | |||
| 323 | (semantic-tag-start tag) | 323 | (semantic-tag-start tag) |
| 324 | (semantic-tag-end tag)) | 324 | (semantic-tag-end tag)) |
| 325 | (when (interactive-p) | 325 | (when (interactive-p) |
| 326 | (message "Found %d occurances of %s in %.2f seconds" | 326 | (message "Found %d occurrences of %s in %.2f seconds" |
| 327 | Lcount (semantic-tag-name target) | 327 | Lcount (semantic-tag-name target) |
| 328 | (semantic-elapsed-time start (current-time)))) | 328 | (semantic-elapsed-time start (current-time)))) |
| 329 | Lcount))) | 329 | Lcount))) |