summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--admin/FOR-RELEASE2
-rw-r--r--doc/emacs/ChangeLog21
-rw-r--r--doc/emacs/files.texi9
-rw-r--r--doc/emacs/search.texi9
-rw-r--r--doc/emacs/text.texi75
-rw-r--r--doc/lispref/ChangeLog11
-rw-r--r--doc/lispref/customize.texi48
-rw-r--r--doc/lispref/frames.texi24
-rw-r--r--doc/misc/cc-mode.texi4
-rw-r--r--etc/NEWS.225
-rw-r--r--leim/ChangeLog12
-rw-r--r--leim/quail/latin-alt.el398
-rw-r--r--lisp/ChangeLog69
-rw-r--r--lisp/comint.el7
-rw-r--r--lisp/emacs-lisp/find-func.el1
-rw-r--r--lisp/faces.el7
-rw-r--r--lisp/files.el17
-rw-r--r--lisp/find-dired.el23
-rw-r--r--lisp/info.el5
-rw-r--r--lisp/international/mule-cmds.el5
-rw-r--r--lisp/mail/footnote.el7
-rw-r--r--lisp/menu-bar.el2
-rw-r--r--lisp/progmodes/asm-mode.el8
-rw-r--r--lisp/progmodes/cc-vars.el58
-rw-r--r--lisp/progmodes/compile.el25
-rw-r--r--lisp/progmodes/grep.el4
-rw-r--r--lisp/replace.el5
-rw-r--r--lisp/simple.el15
-rw-r--r--lisp/startup.el4
-rw-r--r--lisp/textmodes/fill.el2
-rw-r--r--src/ChangeLog17
-rw-r--r--src/callint.c5
-rw-r--r--src/macmenu.c3
-rw-r--r--src/process.c2
-rw-r--r--src/w32fns.c3
-rw-r--r--src/xdisp.c18
36 files changed, 423 insertions, 507 deletions
diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE
index f96da325b75..1d5cfc9ddf0 100644
--- a/admin/FOR-RELEASE
+++ b/admin/FOR-RELEASE
@@ -111,6 +111,8 @@ http://lists.gnu.org/archive/html/emacs-devel/2007-11/msg01857.html
If mode-name stays non-string, add NEWS entry and doc fix.
http://lists.gnu.org/archive/html/emacs-devel/2007-11/msg02048.html
+** pot@gnu.org, 17 Dec: strange From line maker rmail-reply loop
+
* DOCUMENTATION
** Check the Emacs Tutorial.
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog
index 9c4d874e139..e950d152a80 100644
--- a/doc/emacs/ChangeLog
+++ b/doc/emacs/ChangeLog
@@ -1,3 +1,24 @@
+2007-12-27 Richard Stallman <rms@gnu.org>
+
+ * text.texi (Formatted Text): Improve menu tag.
+ (Editing Format Info): In Info, add duplicate menu of nodes
+ about the submenus.
+ (Format Faces): Say where Faces menu is found. Mention Other.
+ (Format Colors): Say where these submenus are found.
+ (Format Indentation, Format Justification): Likewise.
+ (Format Properties): Likewise.
+
+2007-12-22 Richard Stallman <rms@gnu.org>
+
+ * search.texi (Query Replace): Make exp of query-replace more
+ self-contained, and clarify.
+
+ * cc-mode.texi (Getting Started): Change @ref to @pxref.
+
+2007-12-15 Richard Stallman <rms@gnu.org>
+
+ * files.texi (Auto Save): Clarify definition of auto-saving.
+
2007-11-26 Richard Stallman <rms@gnu.org>
* help.texi (Help Echo): Cleanups.
diff --git a/doc/emacs/files.texi b/doc/emacs/files.texi
index 8e2cb879754..8e33dc5aa8c 100644
--- a/doc/emacs/files.texi
+++ b/doc/emacs/files.texi
@@ -997,10 +997,11 @@ visit files under version control.
@cindex mode, Auto Save
@cindex crashes
- Emacs saves all the visited files from time to time (based on counting
-your keystrokes) without being asked. This is called @dfn{auto-saving}.
-It prevents you from losing more than a limited amount of work if the
-system crashes.
+ Emacs saves all the visited files from time to time (based on
+counting your keystrokes) without being asked, in separate files so as
+not to alter the files you actually use. This is called
+@dfn{auto-saving}. It prevents you from losing more than a limited
+amount of work if the system crashes.
When Emacs determines that it is time for auto-saving, it considers
each buffer, and each is auto-saved if auto-saving is enabled for it
diff --git a/doc/emacs/search.texi b/doc/emacs/search.texi
index af1b877e6a4..7b77046e2f3 100644
--- a/doc/emacs/search.texi
+++ b/doc/emacs/search.texi
@@ -1152,13 +1152,12 @@ Replace some matches for @var{regexp} with @var{newstring}.
@kindex M-%
@findex query-replace
If you want to change only some of the occurrences of @samp{foo} to
-@samp{bar}, not all of them, then you cannot use an ordinary
-@code{replace-string}. Instead, use @kbd{M-%} (@code{query-replace}).
+@samp{bar}, not all of them, use @kbd{M-%} (@code{query-replace}).
This command finds occurrences of @samp{foo} one by one, displays each
occurrence and asks you whether to replace it. Aside from querying,
-@code{query-replace} works just like @code{replace-string}. It
-preserves case, like @code{replace-string}, provided
-@code{case-replace} is non-@code{nil}, as it normally is
+@code{query-replace} works just like @code{replace-string}
+(@pxref{Unconditional Replace}). In particular, it preserves case
+provided @code{case-replace} is non-@code{nil}, as it normally is
(@pxref{Replacement and Case}). A numeric argument means consider
only occurrences that are bounded by word-delimiter characters.
diff --git a/doc/emacs/text.texi b/doc/emacs/text.texi
index c151c75e8bb..4b3bc8df0f0 100644
--- a/doc/emacs/text.texi
+++ b/doc/emacs/text.texi
@@ -1951,7 +1951,7 @@ contains a list of ideas for future enhancements.
* Justification: Format Justification.
Centering, setting text flush with the
left or right margin, etc.
-* Other: Format Properties. The "special" text properties submenu.
+* Special: Format Properties. The "special" text properties submenu.
* Forcing Enriched Mode:: How to force use of Enriched mode.
@end menu
@@ -2037,9 +2037,7 @@ or with @kbd{C-Mouse-2} (hold the @key{CTRL} key and press the middle
mouse button). There are also keyboard commands described in the
following section.
- Most of the items in the Text Properties menu lead to other submenus.
-These are described in the sections that follow. Some items run
-commands directly:
+ These items in the Text Properties menu run commands directly:
@table @code
@findex facemenu-remove-face-props
@@ -2068,14 +2066,35 @@ Display a list of all the defined faces (@code{list-faces-display}).
Display a list of all the defined colors (@code{list-colors-display}).
@end table
+@ifinfo
+ Other items in the Text Properties menu lead to submenus:
+
+@menu
+* Faces: Format Faces. Bold, italic, underline, etc.
+* Color: Format Colors. Changing the color of text.
+* Indent: Format Indentation. Changing the left and right margins.
+* Justification: Format Justification.
+ Centering, setting text flush with the
+ left or right margin, etc.
+* Special: Format Properties. The "special" text properties submenu.
+@end menu
+@end ifinfo
+@ifnotinfo
+ The rest lead to submenus which are described in the following sections.
+@end ifnotinfo
+
@node Format Faces
@subsection Faces in Formatted Text
- The Faces submenu lists various Emacs faces including @code{bold},
-@code{italic}, and @code{underline} (@pxref{Faces}). These menu items
-operate on the region if it is active and nonempty. Otherwise, they
-specify to use that face for an immediately following self-inserting
-character. Instead of the menu, you can use these keyboard commands:
+ The Faces submenu under Text Properties lists various Emacs faces
+including @code{bold}, @code{italic}, and @code{underline}
+(@pxref{Faces}). These menu items operate on the region if it is
+active and nonempty. Otherwise, they specify to use that face for an
+immediately following self-inserting character. There is also an item
+@samp{Other} with which you can enter a face name through the
+minibuffer (@pxref{Standard Faces}).
+
+ Instead of the Faces submenu, you can use these keyboard commands:
@table @kbd
@kindex M-o d @r{(Enriched mode)}
@@ -2158,20 +2177,22 @@ them.
@subsection Colors in Formatted Text
You can specify foreground and background colors for portions of the
-text. There is a menu for specifying the foreground color and a menu
-for specifying the background color. Each color menu lists all the
-colors that you have used in Enriched mode in the current Emacs session.
+text. Under Text Properties there is a submenu for specifying the
+foreground color, and a submenu for specifying the background color.
+Each one lists all the colors that you have used in Enriched mode in
+the current Emacs session.
If you specify a color with a prefix argument---or, in Transient
Mark mode, if the region is not active---then it applies to any
immediately following self-inserting input. Otherwise, the command
applies to the region.
- Each color menu contains one additional item: @samp{Other}. You can use
-this item to specify a color that is not listed in the menu; it reads
-the color name with the minibuffer. To display a list of available colors
-and their names, use the @samp{Display Colors} menu item in the Text
-Properties menu (@pxref{Editing Format Info}).
+ Each of the two color submenus contains one additional item:
+@samp{Other}. You can use this item to specify a color that is not
+listed in the menu; it reads the color name with the minibuffer. To
+display a list of available colors and their names, use the
+@samp{Display Colors} menu item in the Text Properties menu
+(@pxref{Editing Format Info}).
Any color that you specify in this way, or that is mentioned in a
formatted text file that you read in, is added to the corresponding
@@ -2192,8 +2213,9 @@ indentation for the right or left margin of an entire paragraph or a
part of a paragraph. The margins you specify automatically affect the
Emacs fill commands (@pxref{Filling}) and line-breaking commands.
- The Indentation submenu provides a convenient interface for specifying
-these properties. The submenu contains four items:
+ The Indentation submenu of Text Properties provides a convenient
+interface for specifying these properties. The submenu contains four
+items:
@table @code
@kindex C-x TAB @r{(Enriched mode)}
@@ -2266,8 +2288,8 @@ Prefix}.
justification for a paragraph. The style you specify automatically
affects the Emacs fill commands.
- The Justification submenu provides a convenient interface for specifying
-the style. The submenu contains five items:
+ The Justification submenu of Text Properties provides a convenient
+interface for specifying the style. The submenu contains five items:
@table @code
@item Left
@@ -2341,11 +2363,12 @@ sets (as always) the default value for buffers that do not override it.
@node Format Properties
@subsection Setting Other Text Properties
- The Special Properties menu lets you add or remove three other useful text
-properties: @code{read-only}, @code{invisible} and @code{intangible}.
-The @code{intangible} property disallows moving point within the text,
-the @code{invisible} text property hides text from display, and the
-@code{read-only} property disallows alteration of the text.
+ The Special Properties submenu of Text Properties can add or remove
+three other useful text properties: @code{read-only}, @code{invisible}
+and @code{intangible}. The @code{intangible} property disallows
+moving point within the text, the @code{invisible} text property hides
+text from display, and the @code{read-only} property disallows
+alteration of the text.
Each of these special properties has a menu item to add it to the
region. The last menu item, @samp{Remove Special}, removes all of these
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index bfeb88f7830..50399b0120e 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,14 @@
+2007-12-28 Richard Stallman <rms@gnu.org>
+
+ * frames.texi (Size Parameters): Fix typo.
+ (Basic Parameters): For `title', refer to title bar.
+ (Size and Position): Explain meaning of frame pixel width and height.
+
+2007-12-23 Richard Stallman <rms@gnu.org>
+
+ * customize.texi (Type Keywords): Uncomment :validate and clarify it.
+ Improve some of the commented-out keywords' text too.
+
2007-12-14 Martin Rudalics <rudalics@gmx.at>
* nonascii.texi (Encoding and I/O): Reword to avoid saying
diff --git a/doc/lispref/customize.texi b/doc/lispref/customize.texi
index b97ce20fc22..d971d5b6db2 100644
--- a/doc/lispref/customize.texi
+++ b/doc/lispref/customize.texi
@@ -1121,6 +1121,16 @@ corresponding value, @var{function}, should be a function that accepts
two arguments, a widget and a value; it should return non-@code{nil} if
the value is acceptable.
+@item :validate @var{function}
+Specify a validation function for input. @var{function} takes a
+widget as an argument, and should return @code{nil} if the widget's
+current value is valid for the widget. Otherwise, it should return
+the widget containing the invalid data, and set that widget's
+@code{:error} property to a string explaining the error.
+
+In many cases you can use the function @code{widget-children-validate}
+for this job; it tests that all children of @var{widget} are valid.
+
@ignore
@item :indent @var{columns}
Indent this item by @var{columns} columns. The indentation is used for
@@ -1128,23 +1138,24 @@ Indent this item by @var{columns} columns. The indentation is used for
buttons, and for editable lists. It affects the whole of the
item except for the first line.
-@item :offset @var{columns}
-An integer indicating how many extra spaces to indent the subitems of
-this item. By default, subitems are indented the same as their parent.
+@item :offset @var{extra}
+Indent the subitems of this item @var{extra} columns more than this
+item itself. By default, subitems are indented the same as their
+parent.
-@item :extra-offset
-An integer indicating how many extra spaces to add to this item's
-indentation, compared to its parent.
+@item :extra-offset @var{n}
+Add @var{n} extra spaces to this item's indentation, compared to its
+parent's indentation.
-@item :notify
-A function called each time the item or a subitem is changed. The
-function is called with two or three arguments. The first argument is
-the item itself, the second argument is the item that was changed, and
-the third argument is the event leading to the change, if any.
+@item :notify @var{function}
+Call @var{function} each time the item or a subitem is changed. The
+function gets two or three arguments. The first argument is the item
+itself, the second argument is the item that was changed, and the
+third argument is the event leading to the change, if any.
-@item :menu-tag
-A tag used in the menu when the widget is used as an option in a
-@code{menu-choice} widget.
+@item :menu-tag @var{tag-string}
+Use @var{tag-string} in the menu when the widget is used as an option
+in a @code{menu-choice} widget.
@item :menu-tag-get
A function used for finding the tag when the widget is used as an option
@@ -1152,15 +1163,6 @@ in a @code{menu-choice} widget. By default, the tag used will be either the
@code{:menu-tag} or @code{:tag} property if present, or the @code{princ}
representation of the @code{:value} property if not.
-@item :validate
-A function which takes a widget as an argument, and return @code{nil}
-if the widget's current value is valid for the widget. Otherwise, it
-should return the widget containing the invalid data, and set that
-widget's @code{:error} property to a string explaining the error.
-
-You can use the function @code{widget-children-validate} for this job;
-it tests that all children of @var{widget} are valid.
-
@item :tab-order
Specify the order in which widgets are traversed with
@code{widget-forward} or @code{widget-backward}. This is only partially
diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi
index cd29d44ab76..ab9a6e8291c 100644
--- a/doc/lispref/frames.texi
+++ b/doc/lispref/frames.texi
@@ -362,12 +362,12 @@ in this frame. Its value is @code{color}, @code{grayscale} or
@code{mono}.
@item title
-If a frame has a non-@code{nil} title, it appears in the window system's
-border for the frame, and also in the mode line of windows in that frame
-if @code{mode-line-frame-identification} uses @samp{%F}
-(@pxref{%-Constructs}). This is normally the case when Emacs is not
-using a window system, and can only display one frame at a time.
-@xref{Frame Titles}.
+If a frame has a non-@code{nil} title, it appears in the window
+system's title bar at the top of the frame, and also in the mode line
+of windows in that frame if @code{mode-line-frame-identification} uses
+@samp{%F} (@pxref{%-Constructs}). This is normally the case when
+Emacs is not using a window system, and can only display one frame at
+a time. @xref{Frame Titles}.
@item name
The name of the frame. The frame name serves as a default for the frame
@@ -463,7 +463,7 @@ The height of the frame contents, in characters. (To get the height in
pixels, call @code{frame-pixel-height}; see @ref{Size and Position}.)
@item width
-The width of the frame contents, in characters. (To get the height in
+The width of the frame contents, in characters. (To get the width in
pixels, call @code{frame-pixel-width}; see @ref{Size and Position}.)
@item user-size
@@ -808,8 +808,14 @@ of the frame is normally the same as the size of the terminal screen.
@defun frame-pixel-height &optional frame
@defunx frame-pixel-width &optional frame
-These functions return the height and width of @var{frame}, measured in
-pixels. If you don't supply @var{frame}, they use the selected frame.
+These functions return the height and width of the main display area
+of @var{frame}, measured in pixels. If you don't supply @var{frame},
+they use the selected frame.
+
+These values include the internal borders, and windows' scroll bars
+and fringes (which belong to individual windows, not to the frame
+itself), but do not include menu bars or tool bars (except when using
+X without an X toolkit).
@end defun
@defun frame-char-height &optional frame
diff --git a/doc/misc/cc-mode.texi b/doc/misc/cc-mode.texi
index 7c9a2ac1f1b..80c9332996a 100644
--- a/doc/misc/cc-mode.texi
+++ b/doc/misc/cc-mode.texi
@@ -487,8 +487,8 @@ work just fine right out of the box. Note however that you might not
have the latest @ccmode{} release and might want to upgrade your copy
(see below).
-You should probably start by skimming through the entire chapter
-@ref{Commands} to get an overview of @ccmode{}'s capabilities.
+You should probably start by skimming through the entire Commands chapter
+(@pxref{Commands}) to get an overview of @ccmode{}'s capabilities.
After trying out some commands, you may dislike some aspects of
@ccmode{}'s default configuration. Here is an outline of how to
diff --git a/etc/NEWS.22 b/etc/NEWS.22
index ccabf7d4faf..824da8932ed 100644
--- a/etc/NEWS.22
+++ b/etc/NEWS.22
@@ -44,6 +44,11 @@ below. Emacs tries to warn you about these through `bad-packages-alist'.
* Changes in Emacs 22.2
+** `find-name-dired' now uses -iname rather than -name
+for case-insensitive filesystems. The default behavior is determined
+by the value of `read-file-name-completion-ignore-case'; if you don't
+like that, customize the value of the new option `find-name-arg'.
+
** In Image mode, whenever the displayed image is wider and/or higher
than the window, the usual keys for moving the cursor cause the image
to be scrolled horizontally or vertically instead.
diff --git a/leim/ChangeLog b/leim/ChangeLog
index 1c14d412ec3..c91ae26c1ef 100644
--- a/leim/ChangeLog
+++ b/leim/ChangeLog
@@ -1,3 +1,15 @@
+2007-12-15 Richard Stallman <rms@gnu.org>
+
+ * quail/latin-post.el ("scandinavian-postfix"): Doc fix.
+
+ * quail/latin-alt.el: Many doc fixes.
+ ("danish-alt-postfix")
+ ("esperanto-alt-postfix", "finnish-alt-postfix")
+ ("german-alt-postfix", "icelandic-alt-postfix")
+ ("norwegian-alt-postfix", "scandinavian-alt-postfix")
+ ("spanish-alt-postfix", "swedish-alt-postfix"):
+ Deleted; they were identical to the non-alt versions.
+
2007-12-07 Kenichi Handa <handa@ni.aist.go.jp>
* quail/lao.el (quail-map-from-table): Allow a tone just after a
diff --git a/leim/quail/latin-alt.el b/leim/quail/latin-alt.el
index 85b3bd598d5..30b3598fcba 100644
--- a/leim/quail/latin-alt.el
+++ b/leim/quail/latin-alt.el
@@ -25,10 +25,18 @@
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
-;; Author: TAKAHASHI Naoto <ntakahas@etl.go.jp>
+;; Author (of latin-post.el): TAKAHASHI Naoto <ntakahas@etl.go.jp>
;;; Commentary:
+;; These input methods differ from those in latin-post.el
+;; in that comma is not special (use / instead),
+;; and // is not special either (so you can enter a slash
+;; by typing //).
+
+;; At least, that's what I could see by comparing the first few
+;; of these with latin-post.el.
+
;;; Code:
(require 'quail)
@@ -36,6 +44,9 @@
(quail-define-package
"latin-1-alt-postfix" "Latin-1" "1<" t
"Latin-1 character input method with postfix modifiers
+This input method differs from `latin-1-postfix' in that
+comma is not special (use slash instead), and `//' is not
+special (so you can use that to enter a slash).
| postfix | examples
------------+---------+----------
@@ -49,9 +60,9 @@
others | /<> | s/ -> ,A_(B ?/ -> ,A?(B !/ -> ,A!(B
| various | << -> ,A+(B >> -> ,A;(B o_ -> ,A:(B a_ -> ,A*(B
-It would be natural to use comma for cedillas, but that would be
-inconvenient in practice because commas are needed very often after a
-letter.
+It seems natural to use comma for cedillas, but that is
+inconvenient in practice because commas are needed very
+often after a letter.
Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
" nil t nil nil nil nil nil nil nil nil t)
@@ -199,6 +210,8 @@ Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
(quail-define-package
"latin-2-alt-postfix" "Latin-2" "2<" t
"Latin-2 character input method with postfix modifiers
+This input method differs from `latin-2-postfix' in that
+comma and period are not special (use ` instead).
| postfix | examples
------------+---------+----------
@@ -215,8 +228,8 @@ Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
stroke | / | d/ -> ,Bp(B
others | / | s/ -> ,B_(B
-It would be natural to use period and comma for dots/rings and
-cedillas/ogoneks, but that would inconvenient in practice, because
+It seems natural to use period and comma for dots/rings and
+cedillas/ogoneks, but that is inconvenient in practice, because
periods and commas are needed very often after a letter.
Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
@@ -391,6 +404,9 @@ Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
(quail-define-package
"latin-3-alt-postfix" "Latin-3" "3<" t
"Latin-3 character input method with postfix modifiers
+This input method differs from `latin-3-postfix' in that
+comma is not special (use ` instead), and period is not
+special (use slash instead).
| postfix | examples
------------+---------+----------
@@ -561,6 +577,9 @@ Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
(quail-define-package
"latin-4-alt-postfix" "Latin-4" "4<" t
"Latin-4 characters input method with postfix modifiers
+This input method differs from `latin-4-postfix' in that
+comma is not special (use ` instead), and period is not
+special (use ~ instead).
| postfix | examples
------------+---------+----------
@@ -577,8 +596,8 @@ Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
nordic | / | a/ -> ,De(B e/ -> ,Df(B o/ -> ,Dx(B
others | / | s/ -> ,D_(B n/ -> ,D?(B k/ -> ,D"(B
-It would be natural to use period and comma for dots and
-cedillas/ogoneks, but that would inconvenient in practice, because
+It seems natural to use period and comma for dots and
+cedillas/ogoneks, but that is inconvenient in practice, because
periods and commas are needed very often after a letter.
Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
@@ -755,6 +774,9 @@ Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
(quail-define-package
"latin-5-alt-postfix" "Latin-5" "5<" t
"Latin-5 characters input method with postfix modifiers
+This input method differs from `latin-5-postfix' in that
+comma is not special (use ` instead), and period is not
+special (use / instead).
| postfix | examples
------------+---------+----------
@@ -769,8 +791,8 @@ Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
nordic | / | a/ -> ,Me(B e/ -> ,Mf(B o/ -> ,Mx(B
others | / | s/ -> ,M_(B
-It would be natural to use period and comma for dots and cedillas, but
-that would inconvenient in practice, because periods and commas are
+It seems natural to use period and comma for dots and cedillas, but
+that is inconvenient in practice, because periods and commas are
needed very often after a letter.
Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
@@ -904,119 +926,7 @@ Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
("y\"\"" ["y\""])
)
-(quail-define-package
- "danish-alt-postfix" "Latin-1" "DA<" t
- "Danish input method (rule: AE -> ,AF(B, OE -> ,AX(B, AA -> ,AE(B, E' -> ,AI(B)
-
-Doubling the postfix separates the letter and postfix: e.g. aee -> ae
-"
- nil t nil nil nil nil nil nil nil nil t)
-
-(quail-define-rules
- ("AE" ?,AF(B)
- ("ae" ?,Af(B)
- ("OE" ?,AX(B)
- ("oe" ?,Ax(B)
- ("AA" ?,AE(B)
- ("aa" ?,Ae(B)
- ("E'" ?,AI(B)
- ("e'" ?,Ai(B)
-
- ("AEE" ["AE"])
- ("aee" ["ae"])
- ("OEE" ["OE"])
- ("oee" ["oe"])
- ("AAA" ["AA"])
- ("aaa" ["aa"])
- ("E''" ["E'"])
- ("e''" ["e'"])
- )
-
-(quail-define-package
- "esperanto-alt-postfix" "Latin-3" "EO<" t
- "Esperanto input method with postfix modifiers
-
-A following ^ or x will produce an accented character,
-e.g. c^ -> ,Cf(B gx -> ,Cx(B u^ -> ,C}(B.
-
-Doubling the postfix separates the letter and postfix,
-e.g. a'' -> a'.
-" nil t nil nil nil nil nil nil nil nil t)
-
-(quail-define-rules
- ("Cx" ?,CF(B)
- ("C^" ?,CF(B)
- ("cx" ?,Cf(B)
- ("c^" ?,Cf(B)
- ("Gx" ?,CX(B)
- ("G^" ?,CX(B)
- ("gx" ?,Cx(B)
- ("g^" ?,Cx(B)
- ("Hx" ?,C&(B)
- ("H^" ?,C&(B)
- ("hx" ?,C6(B)
- ("h^" ?,C6(B)
- ("Jx" ?,C,(B)
- ("J^" ?,C,(B)
- ("jx" ?,C<(B)
- ("j^" ?,C<(B)
- ("Sx" ?,C^(B)
- ("S^" ?,C^(B)
- ("sx" ?,C~(B)
- ("s^" ?,C~(B)
- ("Ux" ?,C](B)
- ("U^" ?,C](B)
- ("ux" ?,C}(B)
- ("u^" ?,C}(B)
-
- ("Cxx" ["Cx"])
- ("C^^" ["C^"])
- ("cxx" ["cx"])
- ("c^^" ["c^"])
- ("Gxx" ["Gx"])
- ("G^^" ["G^"])
- ("gxx" ["gx"])
- ("g^^" ["g^"])
- ("Hxx" ["Hx"])
- ("H^^" ["H^"])
- ("hxx" ["hx"])
- ("h^^" ["h^"])
- ("Jxx" ["Jx"])
- ("J^^" ["J^"])
- ("jxx" ["jx"])
- ("j^^" ["j^"])
- ("Sxx" ["Sx"])
- ("S^^" ["S^"])
- ("sxx" ["sx"])
- ("s^^" ["s^"])
- ("Uxx" ["Ux"])
- ("U^^" ["U^"])
- ("uxx" ["ux"])
- ("u^^" ["u^"])
- )
-
-(quail-define-package
- "finnish-alt-postfix" "Latin-1" "FI<" t
- "Finnish (Suomi) input method
-
-AE -> ,AD(B
-AEE -> AE
-OE -> ,AV(B
-OEE -> OE
-"
- nil t nil nil nil nil nil nil nil nil t)
-(quail-define-rules
- ("AE" ?,AD(B)
- ("ae" ?,Ad(B)
- ("OE" ?,AV(B)
- ("oe" ?,Av(B)
-
- ("AEE" ["AE"])
- ("aee" ["ae"])
- ("OEE" ["OE"])
- ("oee" ["oe"])
- )
(quail-define-package
"french-alt-postfix" "French" "FR<" t
@@ -1093,100 +1003,7 @@ Par exemple: e'' -> e'
(">>>" [">>"])
)
-(quail-define-package
- "german-alt-postfix" "German" "DE<" t
- "German (Deutsch) input method
-
-ae -> ,Ad(B
-aee -> ae
-oe -> ,Av(B
-oee -> oe
-ue -> ,A|(B
-uee -> ue
-sz -> ,A_(B
-szz -> sz
-"
- nil t nil nil nil nil nil nil nil nil t)
-
-(quail-define-rules
- ("AE" ?,AD(B)
- ("ae" ?,Ad(B)
- ("OE" ?,AV(B)
- ("oe" ?,Av(B)
- ("UE" ?,A\(B)
- ("ue" ?,A|(B)
- ("sz" ?,A_(B)
-
- ("AEE" ["AE"])
- ("aee" ["ae"])
- ("OEE" ["OE"])
- ("oee" ["oe"])
- ("UEE" ["UE"])
- ("uee" ["ue"])
- ("szz" ["sz"])
- )
-
-(quail-define-package
- "icelandic-alt-postfix" "Latin-1" "IS<" t
- "Icelandic (,AM(Bslenska) input method with postfix modifiers
-
-A' -> ,AA(B
-E' -> ,AI(B
-I' -> ,AM(B
-O' -> ,AS(B
-U' -> ,AZ(B
-Y' -> ,A](B
-AE -> ,AF(B
-OE -> ,AV(B
-D/ -> ,AP(B (eth)
-T/ -> ,A^(B (thorn)
-
-Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
-" nil t nil nil nil nil nil nil nil nil t)
-
-(quail-define-rules
- ("A'" ?,AA(B)
- ("a'" ?,Aa(B)
- ("E'" ?,AI(B)
- ("e'" ?,Ai(B)
- ("I'" ?,AM(B)
- ("i'" ?,Am(B)
- ("O'" ?,AS(B)
- ("o'" ?,As(B)
- ("U'" ?,AZ(B)
- ("u'" ?,Az(B)
- ("Y'" ?,A](B)
- ("y'" ?,A}(B)
- ("AE" ?,AF(B)
- ("ae" ?,Af(B)
- ("OE" ?,AV(B)
- ("oe" ?,Av(B)
- ("D/" ?,AP(B)
- ("d/" ?,Ap(B)
- ("T/" ?,A^(B)
- ("t/" ?,A~(B)
- ("A''" ["A'"])
- ("a''" ["a'"])
- ("E''" ["E'"])
- ("e''" ["e'"])
- ("I''" ["I'"])
- ("i''" ["i'"])
- ("O''" ["O'"])
- ("o''" ["o'"])
- ("U''" ["U'"])
- ("u''" ["u'"])
- ("Y''" ["Y'"])
- ("y''" ["y'"])
- ("AEE" ["AE"])
- ("aee" ["ae"])
- ("OEE" ["OE"])
- ("oee" ["oe"])
- ("D//" ["D/"])
- ("d//" ["d/"])
- ("T//" ["T/"])
- ("t//" ["t/"])
- )
(quail-define-package
"italian-alt-postfix" "Latin-1" "IT<" t
@@ -1259,157 +1076,12 @@ Doubling the postfix separates the letter and postfix: e.g. a`` -> a`
("a__" ["a_"])
)
-(quail-define-package
- "norwegian-alt-postfix" "Latin-1" "NO<" t
- "Norwegian (Norsk) input method (rule: AE->,AF(B, OE->,AX(B, AA->,AE(B, E'->,AI(B)
-
-Doubling the postfix separates the letter and postfix: e.g. aee -> ae
-"
- nil t nil nil nil nil nil nil nil nil t)
-
-(quail-define-rules
- ("AE" ?,AF(B)
- ("ae" ?,Af(B)
- ("OE" ?,AX(B)
- ("oe" ?,Ax(B)
- ("AA" ?,AE(B)
- ("aa" ?,Ae(B)
- ("E'" ?,AI(B)
- ("e'" ?,Ai(B)
-
- ("AEE" ["AE"])
- ("aee" ["ae"])
- ("OEE" ["OE"])
- ("oee" ["oe"])
- ("AAA" ["AA"])
- ("aaa" ["aa"])
- ("E''" ["E'"])
- ("e''" ["e'"])
- )
-
-(quail-define-package
- "scandinavian-alt-postfix" "Latin-1" "SC<" t
- "Scandinavian input method with postfix modifiers
-Supported languages are Swedish, Norwegian, Danish, and Finnish.
-
-ae -> ,Af(B
-oe -> ,Ax(B
-aa -> ,Ae(B
-a\" -> ,Ad(B
-o\" -> ,Av(B
-e' -> ,Ai(B
-
-Doubling the postfix separates the letter and postfix:
-aee -> ae o\"\" -> o\" etc.
-" nil t nil nil nil nil nil nil nil nil t)
-
-(quail-define-rules
- ("AE" ?,AF(B)
- ("ae" ?,Af(B)
- ("OE" ?,AX(B)
- ("oe" ?,Ax(B)
- ("AA" ?,AE(B)
- ("aa" ?,Ae(B)
- ("A\"" ?,AD(B)
- ("a\"" ?,Ad(B)
- ("O\"" ?,AV(B)
- ("o\"" ?,Av(B)
- ("E'" ?,AI(B)
- ("e'" ?,Ai(B)
-
- ("AEE" ["AE"])
- ("aee" ["ae"])
- ("OEE" ["OE"])
- ("oee" ["oe"])
- ("AAA" ["AA"])
- ("aaa" ["aa"])
- ("A\"\"" ["A\""])
- ("a\"\"" ["a\""])
- ("O\"\"" ["O\""])
- ("o\"\"" ["o\""])
- ("E''" ["E'"])
- ("e''" ["e'"])
- )
-
-(quail-define-package
- "spanish-alt-postfix" "Spanish" "ES<" t
- "Spanish (Espa,Aq(Bol) input method with postfix modifiers
-
-A' -> ,AA(B
-E' -> ,AI(B
-I' -> ,AM(B
-O' -> ,AS(B
-U' -> ,AZ(B
-N~ -> ,AQ(B
-!/ -> ,A!(B
-?/ -> ,A?(B
-
-Doubling the postfix separates the letter and postfix:
-a'' -> a' n~~ -> n~, etc.
-" nil t nil nil nil nil nil nil nil nil t)
-
-(quail-define-rules
- ("A'" ?,AA(B)
- ("a'" ?,Aa(B)
- ("E'" ?,AI(B)
- ("e'" ?,Ai(B)
- ("I'" ?,AM(B)
- ("i'" ?,Am(B)
- ("O'" ?,AS(B)
- ("o'" ?,As(B)
- ("U'" ?,AZ(B)
- ("u'" ?,Az(B)
- ("N~" ?,AQ(B)
- ("n~" ?,Aq(B)
- ("?/" ?,A?(B)
- ("!/" ?,A!(B)
-
- ("A''" ["A'"])
- ("a''" ["a'"])
- ("E''" ["E'"])
- ("e''" ["e'"])
- ("I''" ["I'"])
- ("i''" ["i'"])
- ("O''" ["O'"])
- ("o''" ["o'"])
- ("U''" ["U'"])
- ("u''" ["u'"])
- ("N~~" ["N~"])
- ("n~~" ["n~"])
- ("?//" ["?/"])
- ("!//" ["!/"])
- )
-
-(quail-define-package
- "swedish-alt-postfix" "Latin-1" "SV<" t
- "Swedish (Svenska) input method (rule: AA -> ,AE(B, AE -> ,AD(B, OE -> ,AV(B, E' -> ,AI(B)
-
-Doubling the postfix separates the letter and postfix: e.g. aee -> ae
-" nil t nil nil nil nil nil nil nil nil t)
-
-(quail-define-rules
- ("AA" ?,AE(B)
- ("aa" ?,Ae(B)
- ("AE" ?,AD(B)
- ("ae" ?,Ad(B)
- ("OE" ?,AV(B)
- ("oe" ?,Av(B)
- ("E'" ?,AI(B)
- ("e'" ?,Ai(B)
-
- ("AAA" ["AA"])
- ("aaa" ["aa"])
- ("AEE" ["AE"])
- ("aee" ["ae"])
- ("OEE" ["OE"])
- ("oee" ["oe"])
- ("E''" ["E'"])
- ("e''" ["e'"])
- )
(quail-define-package
"turkish-latin-3-alt-postfix" "Turkish" "TR3<<" t
"Turkish (T,A|(Brk,Ag(Be) input method with postfix modifiers.
+This input method differs from `turkish-latin-3-postfix' in that
+comma is not special (use ` instead).
This is for those who use Latin-3 (ISO-8859-3) for Turkish. If you
use Latin-5 (ISO-8859-9), you should use \"turkish-alt-postfix\" instead.
@@ -1472,6 +1144,8 @@ Doubling the postfix separates the letter and postfix: e.g. a^^ -> a^
(quail-define-package
"turkish-alt-postfix" "Turkish" "TR,A+(B" t
"Turkish (T,A|(Brk,Ag(Be) input method with postfix modifiers.
+This input method differs from `turkish-postfix' in that
+comma is not special (use ` instead).
This is for those who use Latin-5 (ISO-8859-9) for Turkish. If you
use Latin-3 (ISO-8859-3), you should use
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 7caab1fc466..37fe9fa861e 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,72 @@
+2007-12-29 Richard Stallman <rms@gnu.org>
+
+ * progmodes/compile.el (compilation-start): Set initial visible
+ point properly even when compilation buffer already current.
+
+2007-12-29 Richard Stallman <rms@gnu.org>
+
+ * files.el (conf-mode-maybe): New function.
+ (auto-mode-alist): Use conf-mode-maybe for .conf etc.
+
+2007-12-29 Martin Rudalics <rudalics@gmx.at>
+
+ * textmodes/fill.el (fill-find-break-point): Fix doc-string typo.
+
+2007-12-29 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * progmodes/asm-mode.el (asm-mode-map): Add a major mode menu.
+
+2007-12-29 Richard Stallman <rms@gnu.org>
+
+ * comint.el (comint-mode-map): Explicitly bind `delete' and `kp-delete'
+ so they never do EOF.
+
+2007-12-29 Richard Stallman <rms@gnu.org>
+
+ * faces.el (copy-face): Create the new face explicitly if it
+ does not exist already.
+
+2007-12-29 Eli Zaretskii <eliz@gnu.org>
+
+ * simple.el (minibuffer-history, shell-command-history)
+ (set-variable-value-history):
+ * replace.el (regexp-history):
+ * international/mule-cmds.el (input-method-history):
+ * files.el (file-name-history): Add reference to history-length in
+ the doc string.
+
+2007-12-29 Richard Stallman <rms@gnu.org>
+
+ * comint.el (comint-password-prompt-regexp): Match `Enter Password'.
+
+2007-12-29 Jason Rumney <jasonr@gnu.org>
+
+ * find-dired.el (find-name-arg): New custom variable.
+ (find-name-dired): Use it.
+ (find-dired-find-program): Remove.
+ (find-dired): Use find-program.
+ (find-grep-dired): Use grep-program.
+
+ * progmodes/grep.el (rgrep): Use find-name-arg.
+
+2007-12-29 Thien-Thi Nguyen <ttn@gnuvola.org>
+
+ * progmodes/cc-vars.el (defcustom-c-stylevar):
+ Revert to pre-2007-12-12 version.
+
+2007-12-29 Richard Stallman <rms@gnu.org>
+
+ * emacs-lisp/find-func.el (find-function-after-hook): Add :type.
+
+ * info.el (Info-clone-buffer): Renamed from Info-clone-buffer-hook.
+ Use changed.
+
+ * startup.el (fancy-splash-help-echo): Var deleted.
+ (fancy-splash-insert): Get help-echo from (startup-echo-area-message).
+ (fancy-about-screen): Don't display fancy-splash-help-echo.
+
+ * menu-bar.el (menu-bar-describe-menu): Remove dots from menu text.
+
2007-12-28 Eric S. Raymond <esr@snark.thyrsus.com>
* vc-hooks.el, vc.el: Move vc-directory-exclusion-list from vc.el
diff --git a/lisp/comint.el b/lisp/comint.el
index f1d9243cc60..94b1842fb1c 100644
--- a/lisp/comint.el
+++ b/lisp/comint.el
@@ -336,8 +336,9 @@ This variable is buffer-local."
;; plink prints a prompt like `Passphrase for key "root@GNU.ORG": '.
;; Ubuntu's sudo prompts like `[sudo] password for user:'
;; Some implementations of passwd use "Password (again)" as the 2nd prompt.
+;; Something called "perforce" uses "Enter password:".
(defcustom comint-password-prompt-regexp
- "\\(\\([Oo]ld \\|[Nn]ew \\|'s \\|login \\|\
+ "\\(\\(Enter \\|[Oo]ld \\|[Nn]ew \\|'s \\|login \\|\
Kerberos \\|CVS \\|UNIX \\| SMB \\|LDAP \\|\\[sudo] \\|^\\)\
\[Pp]assword\\( (again)\\)?\\|\
pass phrase\\|\\(Enter \\|Repeat \\|Bad \\)?[Pp]assphrase\\)\
@@ -452,6 +453,10 @@ executed once when the buffer is created."
(define-key map "\e\C-l" 'comint-show-output)
(define-key map "\C-m" 'comint-send-input)
(define-key map "\C-d" 'comint-delchar-or-maybe-eof)
+ ;; The following two are standardly aliased to C-d,
+ ;; but they should never do EOF, just delete.
+ (define-key map [delete] 'delete-char)
+ (define-key map [kp-delete] 'delete-char)
(define-key map "\C-c " 'comint-accumulate)
(define-key map "\C-c\C-x" 'comint-get-next-from-history)
(define-key map "\C-c\C-a" 'comint-bol-or-process-mark)
diff --git a/lisp/emacs-lisp/find-func.el b/lisp/emacs-lisp/find-func.el
index 24e26827f7c..4aa4590371a 100644
--- a/lisp/emacs-lisp/find-func.el
+++ b/lisp/emacs-lisp/find-func.el
@@ -133,6 +133,7 @@ See `find-function' and `find-variable'."
"Hook run after finding symbol definition.
See the functions `find-function' and `find-variable'."
+ :type 'hook
:group 'find-function
:version "20.3")
diff --git a/lisp/faces.el b/lisp/faces.el
index 88b0c54039a..925b76844e9 100644
--- a/lisp/faces.el
+++ b/lisp/faces.el
@@ -158,13 +158,18 @@ and for each existing frame.
If the optional fourth argument NEW-FRAME is given,
copy the information from face OLD-FACE on frame FRAME
-to NEW-FACE on frame NEW-FRAME."
+to NEW-FACE on frame NEW-FRAME. In this case, FRAME may not be nil."
(let ((inhibit-quit t))
(if (null frame)
(progn
+ (when new-frame
+ (error "Copying face %s from all frames to one frame"
+ old-face))
+ (make-empty-face new-face)
(dolist (frame (frame-list))
(copy-face old-face new-face frame))
(copy-face old-face new-face t))
+ (make-empty-face new-face)
(internal-copy-lisp-face old-face new-face frame new-frame))
new-face))
diff --git a/lisp/files.el b/lisp/files.el
index 70a07ea5eff..dec47ce362e 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -525,7 +525,10 @@ using \\[toggle-read-only]."
:group 'view)
(defvar file-name-history nil
- "History list of file names entered in the minibuffer.")
+ "History list of file names entered in the minibuffer.
+
+Maximum length of the history list is determined by the value
+of `history-length', which see.")
(put 'ange-ftp-completion-hook-function 'safe-magic t)
(defun ange-ftp-completion-hook-function (op &rest args)
@@ -2092,7 +2095,7 @@ ARC\\|ZIP\\|LZH\\|LHA\\|ZOO\\|[JEW]AR\\|XPI\\|RAR\\)\\'" . archive-mode)
("java.+\\.conf\\'" . conf-javaprop-mode)
("\\.properties\\(?:\\.[a-zA-Z0-9._-]+\\)?\\'" . conf-javaprop-mode)
;; *.cf, *.cfg, *.conf, *.config[.local|.de_DE.UTF8|...], */config
- ("[/.]c\\(?:on\\)?f\\(?:i?g\\)?\\(?:\\.[a-zA-Z0-9._-]+\\)?\\'" . conf-mode)
+ ("[/.]c\\(?:on\\)?f\\(?:i?g\\)?\\(?:\\.[a-zA-Z0-9._-]+\\)?\\'" . conf-mode-maybe)
("\\`/etc/\\(?:DIR_COLORS\\|ethers\\|.?fstab\\|.*hosts\\|lesskey\\|login\\.?de\\(?:fs\\|vperm\\)\\|magic\\|mtab\\|pam\\.d/.*\\|permissions\\(?:\\.d/.+\\)?\\|protocols\\|rpc\\|services\\)\\'" . conf-space-mode)
("\\`/etc/\\(?:acpid?/.+\\|aliases\\(?:\\.d/.+\\)?\\|default/.+\\|group-?\\|hosts\\..+\\|inittab\\|ksysguarddrc\\|opera6rc\\|passwd-?\\|shadow-?\\|sysconfig/.+\\)\\'" . conf-mode)
;; ChangeLog.old etc. Other change-log-mode entries are above;
@@ -2139,6 +2142,16 @@ See also `interpreter-mode-alist', which detects executable script modes
based on the interpreters they specify to run,
and `magic-mode-alist', which determines modes based on file contents.")
+(defun conf-mode-maybe ()
+ "Select Conf mode or XML mode according to start of file."
+ (if (save-excursion
+ (save-restriction
+ (widen)
+ (goto-char (point-min))
+ (looking-at "<\\?xml \\|<!-- \\|<!DOCTYPE ")))
+ (xml-mode)
+ (conf-mode)))
+
(defvar interpreter-mode-alist
;; Note: The entries for the modes defined in cc-mode.el (awk-mode
;; and pike-mode) are added through autoload directives in that
diff --git a/lisp/find-dired.el b/lisp/find-dired.el
index 0a3de850762..8a8304c6763 100644
--- a/lisp/find-dired.el
+++ b/lisp/find-dired.el
@@ -36,11 +36,6 @@
:group 'dired
:prefix "find-")
-(defcustom find-dired-find-program "find"
- "Program used to find files."
- :group 'dired
- :type 'file)
-
;; find's -ls corresponds to these switches.
;; Note -b, at least GNU find quotes spaces etc. in filenames
;;;###autoload
@@ -77,6 +72,18 @@ On other systems, the closest you can come is to use `-l'."
:type 'string
:group 'find-dired)
+;;;###autoload
+(defcustom find-name-arg
+ (if read-file-name-completion-ignore-case
+ "-iname"
+ "-name")
+ "*Argument used to specify file name pattern.
+If `read-file-name-completion-ignore-case' is non-nil, -iname is used so that
+find also ignores case. Otherwise, -name is used."
+ :type 'string
+ :group 'find-dired
+ :version "22.2")
+
(defvar find-args nil
"Last arguments given to `find' by \\[find-dired].")
@@ -126,7 +133,7 @@ as the final argument."
(erase-buffer)
(setq default-directory dir
find-args args ; save for next interactive call
- args (concat find-dired-find-program " . "
+ args (concat find-program " . "
(if (string= args "")
""
(concat
@@ -198,7 +205,7 @@ The command run (after changing into DIR) is
find . -name 'PATTERN' -ls"
(interactive
"DFind-name (directory): \nsFind-name (filename wildcard): ")
- (find-dired dir (concat "-name " (shell-quote-argument pattern))))
+ (find-dired dir (concat find-name-arg " " (shell-quote-argument pattern))))
;; This functionality suggested by
;; From: oblanc@watcgl.waterloo.edu (Olivier Blanc)
@@ -222,7 +229,7 @@ Thus ARG can also contain additional grep options."
;; by FIFOs and devices. I'm not sure what's best to do
;; about symlinks, so as far as I know this is not wrong.
(find-dired dir
- (concat "-type f -exec grep " find-grep-options " -e "
+ (concat "-type f -exec " grep-program " " find-grep-options " -e "
(shell-quote-argument regexp)
" "
(shell-quote-argument "{}")
diff --git a/lisp/info.el b/lisp/info.el
index 2d396a105d8..b842cc2adb6 100644
--- a/lisp/info.el
+++ b/lisp/info.el
@@ -3472,7 +3472,7 @@ Advanced commands:
(setq widen-automatically nil)
(setq desktop-save-buffer 'Info-desktop-buffer-misc-data)
(add-hook 'kill-buffer-hook 'Info-kill-buffer nil t)
- (add-hook 'clone-buffer-hook 'Info-clone-buffer-hook nil t)
+ (add-hook 'clone-buffer-hook 'Info-clone-buffer nil t)
(add-hook 'change-major-mode-hook 'font-lock-defontify nil t)
(add-hook 'isearch-mode-hook 'Info-isearch-start nil t)
(set (make-local-variable 'isearch-search-fun-function)
@@ -3495,7 +3495,8 @@ Advanced commands:
Info-tag-table-buffer
(kill-buffer Info-tag-table-buffer)))
-(defun Info-clone-buffer-hook ()
+;; Placed on `clone-buffer-hook'.
+(defun Info-clone-buffer ()
(when (bufferp Info-tag-table-buffer)
(setq Info-tag-table-buffer
(with-current-buffer Info-tag-table-buffer (clone-buffer))))
diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el
index f8dc141943f..ef3d7fbf13e 100644
--- a/lisp/international/mule-cmds.el
+++ b/lisp/international/mule-cmds.el
@@ -1339,7 +1339,10 @@ This is the input method activated automatically by the command
(put 'input-method-function 'permanent-local t)
(defvar input-method-history nil
- "History list for some commands that read input methods.")
+ "History list of input methods read from the minibuffer.
+
+Maximum length of the history list is determined by the value
+of `history-length', which see.")
(make-variable-buffer-local 'input-method-history)
(put 'input-method-history 'permanent-local t)
diff --git a/lisp/mail/footnote.el b/lisp/mail/footnote.el
index b94f3bc8297..a3a9cfc8058 100644
--- a/lisp/mail/footnote.el
+++ b/lisp/mail/footnote.el
@@ -327,7 +327,8 @@ Conversion is done based upon the current selected style."
(defun Footnote-current-regexp ()
"Return the regexp of the index of the current style."
(concat (nth 2 (or (assq footnote-style footnote-style-alist)
- (nth 0 footnote-style-alist))) "*"))
+ (nth 0 footnote-style-alist)))
+ "*"))
(defun Footnote-refresh-footnotes (&optional index-regexp)
"Redraw all footnotes.
@@ -345,7 +346,7 @@ styles."
(search-backward footnote-start-tag nil t)
(when (looking-at (concat
(regexp-quote footnote-start-tag)
- "\\(" index-regexp "\\)"
+ "\\(" index-regexp "+\\)"
(regexp-quote footnote-end-tag)))
(replace-match (concat
footnote-start-tag
@@ -361,7 +362,7 @@ styles."
(goto-char (cdr alist))
(when (looking-at (concat
(regexp-quote footnote-start-tag)
- "\\(" index-regexp "\\)"
+ "\\(" index-regexp "+\\)"
(regexp-quote footnote-end-tag)))
(replace-match (concat
footnote-start-tag
diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el
index 2f4c95d6484..7a4233018e9 100644
--- a/lisp/menu-bar.el
+++ b/lisp/menu-bar.el
@@ -1216,7 +1216,7 @@ mail status in mode line"))
:visible default-enable-multibyte-characters
:help "Display multilingual environment settings"))
(define-key menu-bar-describe-menu [describe-coding-system-briefly]
- '(menu-item "Describe Coding System (Briefly)..."
+ '(menu-item "Describe Coding System (Briefly)"
describe-current-coding-system-briefly
:visible default-enable-multibyte-characters))
(define-key menu-bar-describe-menu [describe-coding-system]
diff --git a/lisp/progmodes/asm-mode.el b/lisp/progmodes/asm-mode.el
index d38e6170a23..591adbd4392 100644
--- a/lisp/progmodes/asm-mode.el
+++ b/lisp/progmodes/asm-mode.el
@@ -79,6 +79,14 @@
(define-key map "\C-c;" 'comment-region)
(define-key map "\C-j" 'newline-and-indent)
(define-key map "\C-m" 'newline-and-indent)
+ (define-key map [menu-bar] (make-sparse-keymap))
+ (define-key map [menu-bar asm-mode] (cons "Asm" map))
+ (define-key map [asm-colon]
+ '("Insert Colon" . asm-colon))
+ (define-key map [comment-region]
+ '("Comment Region" . comment-region))
+ (define-key map [newline-and-indent]
+ '("Insert Newline and Indent" . newline-and-indent))
map)
"Keymap for Asm mode.")
diff --git a/lisp/progmodes/cc-vars.el b/lisp/progmodes/cc-vars.el
index 6110ab2250f..b1fcdc22241 100644
--- a/lisp/progmodes/cc-vars.el
+++ b/lisp/progmodes/cc-vars.el
@@ -156,44 +156,34 @@ Useful as last item in a `choice' widget."
(setq c-fallback-style (cons (cons name val) c-fallback-style)))
(defmacro defcustom-c-stylevar (name val doc &rest args)
- "Define a style variable NAME with VAL and DOC.
-More precisely, convert the given `:type FOO', mined out of ARGS,
-to an aggregate `:type (radio STYLE (PREAMBLE FOO))', append some
-some boilerplate documentation to DOC, arrange for the fallback
-value of NAME to be VAL, and call `custom-declare-variable' to
-do the rest of the work.
-
-STYLE stands for the choice where the value is taken from some
-style setting. PREAMBLE is optionally prepended to FOO; that is,
-if FOO contains :tag or :value, the respective two-element list
-component is ignored."
- (declare (debug (symbolp form stringp &rest)))
- (let* ((expanded-doc (concat doc "
+ "Defines a style variable."
+ `(let ((-value- ,val))
+ (c-set-stylevar-fallback ',name -value-)
+ (custom-declare-variable
+ ',name ''set-from-style
+ ,(concat doc "
This is a style variable. Apart from the valid values described
-above, it can be set to the symbol `set-from-style'. In that case,
-it takes its value from the style system (see `c-default-style' and
+above, it can be set to the symbol `set-from-style'. In that case, it
+takes its value from the style system (see `c-default-style' and
`c-style-alist') when a CC Mode buffer is initialized. Otherwise,
the value set here overrides the style system (there is a variable
-`c-old-style-variable-behavior' that changes this, though)."))
- (typ (eval (plist-get args :type)))
- (type (if (consp typ) typ (list typ)))
- (head (car type))
- (tail (cdr type))
- (newt (append (unless (plist-get tail :tag)
- '(:tag "Override style settings"))
- (unless (plist-get tail :value)
- `(:value ,(eval val)))
- tail))
- (aggregate `'(radio
- (const :tag "Use style settings" set-from-style)
- ,(cons head newt))))
- `(progn
- (c-set-stylevar-fallback ',name ,val)
- (custom-declare-variable
- ',name ''set-from-style
- ,expanded-doc
- ,@(plist-put args :type aggregate)))))
+`c-old-style-variable-behavior' that changes this, though).")
+ ,@(plist-put
+ args ':type
+ `(` (radio
+ (const :tag "Use style settings"
+ set-from-style)
+ ,(, (let ((type (eval (plist-get args ':type))))
+ (unless (consp type)
+ (setq type (list type)))
+ (unless (c-safe (plist-get (cdr type) ':value))
+ (setcdr type (append '(:value (, -value-))
+ (cdr type))))
+ (unless (c-safe (plist-get (cdr type) ':tag))
+ (setcdr type (append '(:tag "Override style settings")
+ (cdr type))))
+ (bq-process type)))))))))
(defun c-valid-offset (offset)
"Return non-nil if OFFSET is a valid offset for a syntactic symbol.
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index 9a7b3eb5c08..6781862889c 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -1163,10 +1163,6 @@ Returns the compilation buffer created."
command "\n")
(setq thisdir default-directory))
(set-buffer-modified-p nil))
- ;; If we're already in the compilation buffer, go to the end
- ;; of the buffer, so point will track the compilation output.
- (if (eq outbuf (current-buffer))
- (goto-char (point-max)))
;; Pop up the compilation buffer.
;; http://lists.gnu.org/archive/html/emacs-devel/2007-11/msg01638.html
(setq outwin (display-buffer outbuf))
@@ -1192,10 +1188,18 @@ Returns the compilation buffer created."
(set (make-local-variable 'revert-buffer-function)
'compilation-revert-buffer)
(set-window-start outwin (point-min))
- (or (eq outwin (selected-window))
- (set-window-point outwin (if compilation-scroll-output
- (point)
- (point-min))))
+
+ ;; Position point as the user will see it.
+ (let ((desired-visible-point
+ ;; Put it at the end if `compilation-scroll-output' is set.
+ (if compilation-scroll-output
+ (point-max)
+ ;; Normally put it at the top.
+ (point-min))))
+ (if (eq outwin (selected-window))
+ (goto-char desired-visible-point)
+ (set-window-point outwin desired-visible-point)))
+
;; The setup function is called before compilation-set-window-height
;; so it can set the compilation-window-height buffer locally.
(if compilation-process-setup-function
@@ -1219,7 +1223,10 @@ Returns the compilation buffer created."
(setq mode-line-process '(":%s"))
(set-process-sentinel proc 'compilation-sentinel)
(set-process-filter proc 'compilation-filter)
- (set-marker (process-mark proc) (point) outbuf)
+ ;; Use (point-max) here so that output comes in
+ ;; after the initial text,
+ ;; regardless of where the user sees point.
+ (set-marker (process-mark proc) (point-max) outbuf)
(when compilation-disable-input
(condition-case nil
(process-send-eof proc)
diff --git a/lisp/progmodes/grep.el b/lisp/progmodes/grep.el
index f811fce6e7f..062fce4c346 100644
--- a/lisp/progmodes/grep.el
+++ b/lisp/progmodes/grep.el
@@ -839,10 +839,10 @@ This command shares argument histories with \\[lgrep] and \\[grep-find]."
grep-find-template
regexp
(concat (shell-quote-argument "(")
- " -name "
+ " " find-name-arg " "
(mapconcat #'shell-quote-argument
(split-string files)
- " -o -name ")
+ (concat " -o " find-name-arg " "))
" "
(shell-quote-argument ")"))
dir
diff --git a/lisp/replace.el b/lisp/replace.el
index 8bd3bec20a0..b76c64085c2 100644
--- a/lisp/replace.el
+++ b/lisp/replace.el
@@ -519,7 +519,10 @@ which will run faster and will not set the mark or print anything."
(defvar regexp-history nil
- "History list for some commands that read regular expressions.")
+ "History list for some commands that read regular expressions.
+
+Maximum length of the history list is determined by the value
+of `history-length', which see.")
(defalias 'delete-non-matching-lines 'keep-lines)
diff --git a/lisp/simple.el b/lisp/simple.el
index 0cbec53fe66..b92967da112 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -1166,7 +1166,10 @@ to get different commands to edit and resubmit."
(defvar minibuffer-history nil
"Default minibuffer history list.
This is used for all minibuffer input
-except when an alternate history list is specified.")
+except when an alternate history list is specified.
+
+Maximum length of the history list is determined by the value
+of `history-length', which see.")
(defvar minibuffer-history-sexp-flag nil
"Control whether history list elements are expressions or strings.
If the value of this variable equals current minibuffer depth,
@@ -1901,7 +1904,10 @@ You can disable the popping up of this buffer by adding the entry
t))
(defvar shell-command-history nil
- "History list for some commands that read shell commands.")
+ "History list for some commands that read shell commands.
+
+Maximum length of the history list is determined by the value
+of `history-length', which see.")
(defvar shell-command-switch "-c"
"Switch used to have the shell execute its command line argument.")
@@ -5015,7 +5021,10 @@ Each action has the form (FUNCTION . ARGS)."
'switch-to-buffer-other-frame yank-action send-actions))
(defvar set-variable-value-history nil
- "History of values entered with `set-variable'.")
+ "History of values entered with `set-variable'.
+
+Maximum length of the history list is determined by the value
+of `history-length', which see.")
(defun set-variable (variable value &optional make-local)
"Set VARIABLE to VALUE. VALUE is a Lisp object.
diff --git a/lisp/startup.el b/lisp/startup.el
index ee06faea022..1faf63efa78 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -1319,8 +1319,6 @@ Each element in the list should be a list of strings or pairs
;; These are temporary storage areas for the splash screen display.
-(defvar fancy-splash-help-echo nil)
-
(defun fancy-splash-insert (&rest args)
"Insert text into the current buffer, with faces.
Arguments from ARGS should be either strings; functions called
@@ -1354,7 +1352,7 @@ a face or button specification."
(funcall it)
it))
'face current-face
- 'help-echo fancy-splash-help-echo))))
+ 'help-echo (startup-echo-area-message)))))
(setq args (cdr args)))))
diff --git a/lisp/textmodes/fill.el b/lisp/textmodes/fill.el
index 5c6638a51e9..54e45d6b28f 100644
--- a/lisp/textmodes/fill.el
+++ b/lisp/textmodes/fill.el
@@ -391,7 +391,7 @@ Don't move back past the buffer position LIMIT.
This function is called when we are going to break the current line
after or before a non-ASCII character. If the charset of the
character has the property `fill-find-break-point-function', this
-function calls the property value as a function with one arg LINEBEG.
+function calls the property value as a function with one arg LIMIT.
If the charset has no such property, do nothing."
(let* ((ch (following-char))
(charset (char-charset ch))
diff --git a/src/ChangeLog b/src/ChangeLog
index 952f9d7e6e8..be2c5824f51 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,20 @@
+2007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
+
+ * process.c (make_process): Initialize pty_flag to Qnil instead of 0
+ as it is not a bit field on Emacs 22 yet.
+
+ * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
+
+2007-12-22 Eli Zaretskii <eliz@gnu.org>
+
+ * callint.c (syms_of_callint) <command-history>: Add reference to
+ history-length in the doc string.
+
+2007-12-17 Jason Rumney <jasonr@gnu.org>
+
+ * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
+ before passing as wParam.
+
2007-12-22 Michael Albinus <michael.albinus@gmx.de>
* dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
diff --git a/src/callint.c b/src/callint.c
index a19c424c899..2ac53105afb 100644
--- a/src/callint.c
+++ b/src/callint.c
@@ -941,7 +941,10 @@ This is what `(interactive \"P\")' returns. */);
DEFVAR_LISP ("command-history", &Vcommand_history,
doc: /* List of recent commands that read arguments from terminal.
-Each command is represented as a form to evaluate. */);
+Each command is represented as a form to evaluate.
+
+Maximum length of the history list is determined by the value
+of `history-length', which see. */);
Vcommand_history = Qnil;
DEFVAR_LISP ("command-debug-status", &Vcommand_debug_status,
diff --git a/src/macmenu.c b/src/macmenu.c
index aa0be0bdc2e..616d136465a 100644
--- a/src/macmenu.c
+++ b/src/macmenu.c
@@ -3272,7 +3272,8 @@ fill_menubar (wv, deep_p)
}
#endif /* !TARGET_API_MAC_CARBON */
}
- else
+
+ if (!menu)
{
#if TARGET_API_MAC_CARBON
err = CreateNewMenu (id, 0, &menu);
diff --git a/src/process.c b/src/process.c
index 0204388e672..e285ed4bde0 100644
--- a/src/process.c
+++ b/src/process.c
@@ -631,7 +631,7 @@ make_process (name)
p->tick = 0;
p->update_tick = 0;
p->pid = 0;
- p->pty_flag = 0;
+ p->pty_flag = Qnil;
p->raw_status_new = 0;
p->status = Qrun;
p->mark = Fmake_marker ();
diff --git a/src/w32fns.c b/src/w32fns.c
index 0c5bd1e4cc3..497010e9ad3 100644
--- a/src/w32fns.c
+++ b/src/w32fns.c
@@ -3130,7 +3130,8 @@ w32_wnd_proc (hwnd, msg, wParam, lParam)
{
/* Forward asciified character sequence. */
post_character_message
- (hwnd, WM_CHAR, key.uChar.AsciiChar, lParam,
+ (hwnd, WM_CHAR,
+ (unsigned char) key.uChar.AsciiChar, lParam,
w32_get_key_modifiers (wParam, lParam));
w32_kbd_patch_key (&key);
}
diff --git a/src/xdisp.c b/src/xdisp.c
index 22f51859eff..c352c9355ae 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -23534,6 +23534,24 @@ phys_cursor_in_rect_p (w, r)
{
XRectangle cr, result;
struct glyph *cursor_glyph;
+ struct glyph_row *row;
+
+ if (w->phys_cursor.vpos >= 0
+ && w->phys_cursor.vpos < w->current_matrix->nrows
+ && (row = MATRIX_ROW (w->current_matrix, w->phys_cursor.vpos),
+ row->enabled_p)
+ && row->cursor_in_fringe_p)
+ {
+ /* Cursor is in the fringe. */
+ cr.x = window_box_right_offset (w,
+ (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS (w)
+ ? RIGHT_MARGIN_AREA
+ : TEXT_AREA));
+ cr.y = row->y;
+ cr.width = WINDOW_RIGHT_FRINGE_WIDTH (w);
+ cr.height = row->height;
+ return x_intersect_rectangles (&cr, r, &result);
+ }
cursor_glyph = get_phys_cursor_glyph (w);
if (cursor_glyph)