Merge from emacs--devo--0

Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-306
This commit is contained in:
Miles Bader 2007-12-29 02:39:17 +00:00
commit a0c92ed92d
132 changed files with 3749 additions and 2120 deletions

View file

@ -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.

View file

@ -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.

View file

@ -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

View file

@ -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.

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -1,3 +1,52 @@
2007-12-29 Reiner Steib <Reiner.Steib@gmx.de>
* gnus.texi (Group Parameters): Reorder the text and add a note about
`gnus-parameters' near the beginning of the node.
2007-12-29 IRIE Tetsuya <irie@t.email.ne.jp> (tiny change)
* gnus.texi (Score File Editing): Fix function name.
2007-12-23 Michael Albinus <michael.albinus@gmx.de>
Sync with Tramp 2.1.12.
* trampver.texi: Update release number.
2007-12-22 Michael Albinus <michael.albinus@gmx.de>
* dbus.texi (Type Conversion): Correct input parameters mapping.
2007-12-21 Michael Albinus <michael.albinus@gmx.de>
* dbus.texi (Type Conversion): Extend for D-Bus compound types.
(Errors and Events): Mention wrong-type-argument error.
2007-12-21 Alex Schroeder <alex@gnu.org>
* rcirc.texi: Changed single spaces after sentence end to double
spaces. Fixed some typos.
(Internet Relay Chat): Explain relay.
(Getting started with rcirc): Change items to reflect prompts.
Add more explanation to rcirc-track-minor-mode and added a comment to
warn future maintainers that this section is a copy.
(People): Changed /ignore example.
(Keywords): Not keywords.
2007-12-20 Alex Schroeder <alex@gnu.org>
* rcirc.texi (Top): Fighting Information Overload chapter added.
(Getting started with rcirc): Add notice of rcirc-track-minor-mode.
(rcirc commands): Moved /ignore command to the new chapter.
(Fighting Information Overload): New chapter documenting /keyword,
/bright, /dim, channel ignore, and low priority channels.
(Configuration): Document rcirc-server-alist, remove
rcirc-startup-channels-alist and rcirc-default-server.
2007-12-16 Michael Albinus <michael.albinus@gmx.de>
* dbus.texi (Signals): Fix example in dbus-register-signal.
2007-12-14 Sven Joachim <svenjoac@gmx.de>
* gnus.texi (Score Variables): Fix typo.

View file

@ -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

View file

@ -238,7 +238,7 @@ D-Bus method calls and signals accept usually several arguments as
parameters, either as input parameter, or as output parameter. Every
argument belongs to a D-Bus type.
Such arguments must be mapped between the the value encoded as a D-Bus
Such arguments must be mapped between the value encoded as a D-Bus
type, and the corresponding type of Lisp objects. The mapping is
applied Lisp object @expansion{} D-Bus type for input parameters, and
D-Bus type @expansion{} Lisp object for output parameters.
@ -247,8 +247,7 @@ D-Bus type @expansion{} Lisp object for output parameters.
@section Input parameters.
Input parameters for D-Bus methods and signals occur as arguments of a
Lisp function call. Only some primitive Lisp types are supported in
the current implementation. The following mapping to D-Bus types is
Lisp function call. The following mapping to D-Bus types is
applied, when the corresponding D-Bus message is created:
@example
@ -260,30 +259,91 @@ applied, when the corresponding D-Bus message is created:
@item integer @tab @expansion{} @tab DBUS_TYPE_INT32
@item float @tab @expansion{} @tab DBUS_TYPE_DOUBLE
@item string @tab @expansion{} @tab DBUS_TYPE_STRING
@item list @tab @expansion{} @tab DBUS_TYPE_ARRAY
@end multitable
@end example
Other Lisp objects, like symbols or hash tables, are not accepted as
input parameter.
If it is necessary to use another D-Bus type, a corresponding type
symbol can be preceeded to the corresponding Lisp object. Basic D-Bus
types are represented by the type symbols @code{:byte},
@code{:boolean}, @code{:int16}, @code{:uint16}, @code{:int32},
@code{:uint32}, @code{:int64}, @code{:uint64}, @code{:double},
@code{:string}, @code{:object-path} and @code{:signature}.
@noindent
Other Lisp types, especially lists, are not supported (yet).
Example:
@lisp
(dbus-call-method ... @var{NUMBER} @var{STRING})
@end lisp
is equivalent to
@lisp
(dbus-call-method ... :uint32 @var{NUMBER} :string @var{STRING})
@end lisp
but different to
@lisp
(dbus-call-method ... :int32 @var{NUMBER} :signature @var{STRING})
@end lisp
A D-Bus compound type is always represented as list. The car of this
list can be the type symbol @code{:array}, @code{:variant},
@code{:struct} or @code{:dict-entry}, which would result in a
corresponding D-Bus container. @code{:array} is optional, because
this is the default compoud type for a list.
The objects being elements of the list are checked according to the
D-Bus compound type rules.
@itemize
@item An array must contain only elements of the same D-Bus type.
@item A variant must contain only one single element.
@item A dictionary entry must be element of an array, and it must
contain only a key-value pair of two element, with a basic type key.
@item There is no restriction for structs.
@end itemize
@noindent
Example:
@lisp
(dbus-send-signal ...
:object-path STRING '(:variant :boolean BOOL)
'(:array NUMBER NUMBER) '(:array BOOL :boolean BOOL)
'(:struct BOOL :boolean BOOL BOOL
(:array NUMBER NUMBER) (:array BOOL BOOL))
'(:struct NUMBER NUMBER) '((:dict-entry NUMBER (NUMBER)))
'(:array (:dict-entry NUMBER :int32 NUMBER)))
@end lisp
@section Output parameters.
Output parameters of D-Bus methods and signals are mapped to Lisp
objects. This mapping is more powerful than the one for input
parameters, i.e., more D-Bus types are supported by the current
implementation.
objects.
@example
@multitable {DBUS_TYPE_OBJECT_PATH} {@expansion{}} {@code{t} or @code{nil}}
@item D-Bus type @tab @tab Lisp type
@item
@item DBUS_TYPE_BOOLEAN @tab @expansion{} @tab @code{t} or @code{nil}
@item DBUS_TYPE_UINT32 @tab @expansion{} @tab number
@item DBUS_TYPE_INT32 @tab @expansion{} @tab number
@item DBUS_TYPE_BYTE @tab @expansion{} @tab number
@item DBUS_TYPE_UINT16 @tab @expansion{} @tab number
@item DBUS_TYPE_INT16 @tab @expansion{} @tab number
@item DBUS_TYPE_UINT32 @tab @expansion{} @tab number or float
@item DBUS_TYPE_INT32 @tab @expansion{} @tab number or float
@item DBUS_TYPE_UINT64 @tab @expansion{} @tab number or float
@item DBUS_TYPE_INT64 @tab @expansion{} @tab number or float
@item DBUS_TYPE_DOUBLE @tab @expansion{} @tab float
@item DBUS_TYPE_STRING @tab @expansion{} @tab string
@item DBUS_TYPE_OBJECT_PATH @tab @expansion{} @tab string
@item DBUS_TYPE_SIGNATURE @tab @expansion{} @tab string
@item DBUS_TYPE_ARRAY @tab @expansion{} @tab list
@item DBUS_TYPE_VARIANT @tab @expansion{} @tab list
@item DBUS_TYPE_STRUCT @tab @expansion{} @tab list
@ -291,6 +351,11 @@ implementation.
@end multitable
@end example
A float object in case of @code{DBUS_TYPE_UINT32},
@code{DBUS_TYPE_INT32}, @code{DBUS_TYPE_UINT64} and
@code{DBUS_TYPE_INT6432} is returned, when the C value exceeds the
Emacs number size range.
The resulting list of the last 4 D-Bus compound types contains as
elements the elements of the D-Bus container, mapped according to the
same rules.
@ -469,8 +534,9 @@ received. It must accept as arguments the output parameters
"org.freedesktop.Hal.Manager" "DeviceAdded"
'my-dbus-signal-handler)
@result{} (:system ":1.3" "/org/freedesktop/Hal/Manager"
"org.freedesktop.Hal.Manager" "DeviceAdded")
@result{} ((:system "org.freedesktop.Hal.Manager" "DeviceAdded")
("org.freedesktop.Hal" "/org/freedesktop/Hal/Manager"
my-signal-handler))
@end example
As we know from the inspection data of interface
@ -497,6 +563,11 @@ result of a preceding @code{dbus-register-signal} call.
@cindex errors
@cindex events
Input parameters of @code{dbus-call-method} and
@code{dbus-register-signal} are checked for correct D-Bus types. If
there is a type mismatch, the Lisp error @code{wrong-type-argument}
@code{D-Bus ARG} is raised.
All errors raised by D-Bus are signaled with the error symbol
@code{dbus-error}. As usual, such an error can be trapped with a
@code{condition-case} form. If possible, error messages from D-Bus

View file

@ -2741,6 +2741,15 @@ newsgroups.
@cindex group parameters
The group parameters store information local to a particular group.
Use the @kbd{G p} or the @kbd{G c} command to edit group parameters of a
group. (@kbd{G p} presents you with a Lisp-based interface, @kbd{G c}
presents you with a Customize-like interface. The latter helps avoid
silly Lisp errors.) You might also be interested in reading about topic
parameters (@pxref{Topic Parameters}).
Additionally, you can set group parameters via the
@code{gnus-parameters} variable, see below.
Here's an example group parameter list:
@example
@ -3130,12 +3139,6 @@ expired.
@end table
Use the @kbd{G p} or the @kbd{G c} command to edit group parameters of a
group. (@kbd{G p} presents you with a Lisp-based interface, @kbd{G c}
presents you with a Customize-like interface. The latter helps avoid
silly Lisp errors.) You might also be interested in reading about topic
parameters (@pxref{Topic Parameters}).
@vindex gnus-parameters
Group parameters can be set via the @code{gnus-parameters} variable too.
But some variables, such as @code{visible}, have no effect (For this
@ -20962,9 +20965,9 @@ additional commands:
@item C-c C-c
@kindex C-c C-c (Score)
@findex gnus-score-edit-done
@findex gnus-score-edit-exit
Save the changes you have made and return to the summary buffer
(@code{gnus-score-edit-done}).
(@code{gnus-score-edit-exit}).
@item C-c C-d
@kindex C-c C-d (Score)

View file

@ -54,6 +54,7 @@ just one other user.
@menu
* Basics::
* Reference::
* Fighting Information Overload::
* Hacking and Tweaking::
* GNU Free Documentation License::
* Key Index::
@ -74,6 +75,13 @@ Reference
* Useful IRC commands::
* Configuration::
Fighting Information Overload
* Channels::
* People::
* Keywords::
* Notices::
Hacking and Tweaking
* Skipping /away messages using handlers::
@ -112,8 +120,8 @@ communication.
@cindex server
@cindex network
Contrary to most Instant Messenger (IM) systems, users usually don't
connect to a central server. Instead, users connect to a random server
in a network, and the servers share information between them.
connect to a central server. Instead, users connect to a random
server in a network, and servers relay messages from one to the next.
Here's a typical example:
@ -166,7 +174,7 @@ using a different nick. This will prompt you for four things:
@table @asis
@cindex server, connecting
@cindex Freenode network
@item IRC server
@item IRC Server
What server do you want to connect to? All the servers in a particular
network are equivalent. Some networks use a round-robin system where a
single server redirects new connections to a random server in the
@ -177,7 +185,7 @@ communities and organizations.''
@cindex port, connecting
@cindex 6667, default IRC port
@item IRC port
@item IRC Port
All network connections require a port. Just as web servers and clients
use port 80 per default, IRC uses port 6667 per default. You rarely
have to use a different port.
@ -185,7 +193,7 @@ have to use a different port.
@cindex nick, connecting
@cindex changing nick
@cindex name changes
@item IRC nick
@item IRC Nick
@vindex user-login-name
Every users needs a handle on-line. You will automatically be assigned
a slightly different nick if your chosen nick is already in use. If
@ -195,7 +203,7 @@ in use, you might for example get assigned the nick @code{alex`}.
@cindex channels, connecting
@cindex initial channels
@cindex startup channels
@item Channels
@item IRC Channels
A space separated list of channels you want to join when connecting.
You don't need to join any channels, if you just want to have one-to-one
conversations with friends on the same network. If you're new to the
@ -211,7 +219,7 @@ and a channel buffer for each of the channels you wanted to join.
@kindex RET
@cindex talking
@cindex communicating
To talk in a channel, just type in what you want to say in a channel
To talk in a channel, just type what you want to say in a channel
buffer, and press @key{RET}.
@kindex C-c C-c
@ -225,7 +233,21 @@ C-c} to finish editing. You still need to press @key{RET} to send it,
though. Generally, IRC users don't like people pasting more than around
four lines of code, so use with care.
@node Reference, Hacking and Tweaking, Basics, Top
@comment This section copied from the Channels section.
@comment All index markers should point to the original!
Once you are connected to multiple channels, or once you've turned you
attention to other buffers in Emacs, you probably want to be notified
of any activity in channels not currently visible. All you need to do
is switch channel tracking on using @kbd{M-x rcirc-track-minor-mode}.
To make this permanent, add the following to your init file:
@example
(rcirc-track-minor-mode 1)
@end example
Use @kbd{C-c C-@key{SPC}} to switch to these buffers.
@node Reference, Fighting Information Overload, Basics, Top
@chapter Reference
@cindex reference
@ -382,24 +404,6 @@ buffer, you automatically quit the server and part all channels. (Also
@code{/quit ZZZzzz...}.)
@end table
Some commands may not have a key binding, but only be available as typed
commands, such as:
@table @code
@item /ignore
@cindex /ignore
@cindex ignoring other people
@cindex trolls, ignoring
@cindex hide some posts
@cindex idiots online
This command toggles the ignore status of a nick, if you provide one.
If you don't provide a nick, the command lists all the nicks you are
ignoring. All messages by ignored nicks are---you guessed it---ignored.
Since only ``operators'' can kick people from channels, the
ignore command is often the only way to deal with some of the more
obnoxious fellows online. Example: @code{/ignore xah}.
@end table
@node Useful IRC commands, Configuration, rcirc commands, Reference
@section Useful IRC commands
@cindex irc commands
@ -436,68 +440,99 @@ These are some variables you can change to configure @code{rcirc} to your
liking.
@table @code
@item rcirc-default-server
@vindex rcirc-default-server
the default server to connect to.
@item rcirc-server-alist
@vindex rcirc-server-alist
@cindex channels, configuration
@cindex initial channels, configuration
@cindex startup channels, configuration
@cindex servers, configuration
@cindex initial servers, configuration
@cindex startup servers, configuration
This variable contains an alist of servers to connect to by default
and the keywords parameters to use. The keyword parameters are
optional. If you don't provide any, the defaults as documented below
will be used.
@item rcirc-default-port
@vindex rcirc-default-port
the default port to connect to.
The most important parameter is the @code{:channels} parameter. It
controls which channels you will join by default as soon as you are
connected to the server.
Here's an example of how to set it:
@example
(add-to-list 'rcirc-server-alist
'("otherworlders.org"
:channels ("#FUDGE" "#game-design")))
@end example
By default you will be connected to the @code{rcirc} support channel:
@code{#rcirc} on @code{irc.freenode.net}.
@table @code
@item :nick
This overrides @code{rcirc-default-nick}.
@item :port
This overrides @code{rcirc-default-port}.
@item :user-name
This overrides @code{rcirc-default-user-name}.
@item :full-name
This overrides @code{rcirc-default-full-name}.
@item :channels
This describes which channels to join when connecting to the server.
If absent, no channels will be connected to automatically.
@end table
@item rcirc-default-nick
@vindex rcirc-default-nick
the default nick to use.
@end table
This variable is used for the default nick. It defaults to the login
name returned by @code{user-login-name}.
@example
(setq rcirc-default-server "irc.mozilla.org"
rcirc-default-port 6666
rcirc-default-nick "alx")
(setq rcirc-default-nick "kensanata")
@end example
@item rcirc-default-port
@vindex rcirc-default-port
@cindex port
This variable contains the default port to connect to. It is 6667 by
default and rarely needs changing.
@item rcirc-default-user-name
@vindex rcirc-default-user-name
@cindex user name
This variable contains the default user name to report to the server.
It defaults to the login name returned by @code{user-login-name}, just
like @code{rcirc-default-nick}.
@item rcirc-default-user-full-name
@vindex rcirc-default-user-full-name
@cindex full name
@cindex real name
@cindex surname
@code{rcirc-default-user-full-name} is used to set your ``real name'' on
IRC. It defaults to @code{user-full-name}. If you want to hide your
full name, you might want to set it to some pseudonym.
This variable is used to set your ``real name'' on IRC. It defaults
to the name returned by @code{user-full-name}. If you want to hide
your full name, you might want to set it to some pseudonym.
@example
(setq rcirc-default-user-full-name "Curious Minds Want To Know")
@end example
@vindex rcirc-startup-channels-alist
@cindex channels, configuration
@cindex initial channels, configuration
@cindex startup channels, configuration
@code{rcirc-startup-channels-alist} is the alist of channels to join
when connecting to a particular network. An alist is a list of lists.
Each sublist starts with a regular expression that is compared to the
server address you're connecting to. The remaining sublist items are
the channels to join.
@example
(setq rcirc-startup-channels-alist
'(("\\.freenode\\.net$" "#emacs" "#rcirc" "#wiki")))
@end example
Note the subtle problem, here --- IRC clients connect to servers, and
there is no way of knowing which servers belong to a particular network.
In the example above we're exploiting a naming convention used by within
the Freenode network --- all servers within the network have a host in
the @code{freenode.net} domain.
@item rcirc-authinfo
@vindex rcirc-authinfo
@cindex authentification
@cindex identification
@cindex nickserv
@cindex login
@code{rcirc-authinfo} is an alist used to automatically identify
yourself on networks. Each sublist starts with a regular expression
that is compared to the server address you're connecting to. The second
element in the list is a symbol representing the method to use, followed
by the arguments this method requires.
This variable is an alist used to automatically identify yourself on
networks. Each sublist starts with a regular expression that is
compared to the server address you're connecting to. The second
element in the list is a symbol representing the method to use,
followed by the arguments this method requires.
Here is an example to illustrate how you would set it:
@ -556,8 +591,33 @@ Later, you will tell Bitlbee about your accounts and passwords on all
the other instant messaging services, and Bitlbee will log you in. All
@code{rcirc} needs to know, is the login to your Bitlbee account. Don't
confuse the Bitlbee account with all the other accounts.
@end table
@end table
@node Fighting Information Overload, Hacking and Tweaking, Reference, Top
@chapter Fighting Information Overload
@cindex information overload
This is the section of the manual that caters to the busy person
online. There are support channels with several hundred people in
them. Trying to follow a conversation in these channels can be a
daunting task. This chapters tells you how @code{rcirc} can help.
@menu
* Channels::
* People::
* Keywords::
* Notices::
@end menu
@node Channels, People, Fighting Information Overload, Fighting Information Overload
@section Channels
@cindex channels
@cindex modeline
@comment This section copied to the Getting started with rcirc section
@kindex C-c C-SPC
@vindex rcirc-track-minor-mode
@cindex switching channels
@ -590,7 +650,133 @@ activation of this mode:
(rcirc-track-minor-mode 1)))
@end example
@node Hacking and Tweaking, GNU Free Documentation License, Reference, Top
@cindex busy channels
If you've joined a very active support channel, tracking activity is
no longer useful. The channel will be always active. Switching to
active channels using @kbd{C-c C-@key{SPC}} no longer works as
expected.
@kindex C-c C-l
@cindex low priority channels
The solution is to mark this channel as as a low priority channel.
Use @kbd{C-c C-l} to make the current channel a low-priority channel.
Low priority channels have the modeline indicator ``LowPri''.
@kbd{C-c C-@key{SPC}} will not switch to low priority channels unless
you use the @kbd{C-u} prefix.
@kindex C-c TAB
@cindex ignored channels
If you prefer a channel to never show up in the modeline, then you
have to ignore it. Use @kbd{C-c @key{TAB}} to ignore the current
channel.
@node People, Keywords, Channels, Fighting Information Overload
@section People
@cindex people, how to ignore
@cindex nicks, how to ignore
@cindex friends
@cindex buddies
@cindex trolls
The most important command available to the discerning IRC user is
@code{/ignore}. It's the big equalizer online: If people aggravate
you, just ignore them.
This is of course a crude all-or-nothing solution. Fear not,
@code{rcirc} offers alternatives: You can ``brighten'' your buddies
and ``dim'' certain other nicks that you don't want to ignore
altogether.
@table @code
@item /ignore
@cindex /ignore
@cindex ignoring other people
@cindex trolls, ignoring
@cindex hide some posts
@cindex idiots online
This command toggles the ignore status of a nick, if you provide one.
If you don't provide a nick, the command lists all the nicks you are
ignoring. All messages by ignored nicks are---you guessed it---ignored.
Since only ``operators'' can kick people from channels, the
ignore command is often the only way to deal with some of the more
obnoxious fellows online. Example: @code{/ignore rudybot}.
@item /bright
@cindex /bright
@cindex highlight other people
@cindex friends, highlight
@cindex buddies, highlight
@cindex nicks, highlight
@cindex brighten nicks
This command toggles the bright status of a nick, if you provide one.
If you don't provide a nick, the command lists all the ``brightened''
nicks. All messages by brightened nicks are---you guessed
it---brightened. Use this for your friends. Example: @code{/bright
rcy}.
@item /dim
@cindex /dim
@cindex soft-ignore other people
@cindex obnoxious people online
@cindex rabble online
This command toggles the dim status of a nick, if you provide one. If
you don't provide a nick, the command lists all the ``dimmed'' nicks.
All messages by dimmed nicks are---you guessed it---dimmed. Use this
for boring people and bots. If you are tracking channel activity,
messages by dimmed nicks will not register as activity. Example:
@code{/dim fsbot}.
@end table
@node Keywords, Notices, People, Fighting Information Overload
@section Keywords
@cindex keywords
On a busy channel, you might want to ignore all activity (using
@kbd{C-c @key{TAB}}) and just watch for certain keywords. The
following command allows you to highlight certain keywords:
@table @code
@item /keyword
@cindex /keyword
This command toggles the highlighting of a keyword, if you provide
one. If you don't provide a keyword, the current keywords are
listed. Example: @code{/keyword manual}.
@end table
@node Notices, , Keywords, Fighting Information Overload
@section Notices
@cindex part notices, how to omit
@cindex join notices, how to omit
@cindex quit notices, how to omit
@cindex nick notices, how to omit
@kindex C-c C-o
@cindex low priority channels
In busy channels you might not be interested in all the joining,
parting, quitting, and renaming that goes on. You can omit those
notices using @kbd{C-c C-o}.
@vindex rcirc-omit-responses
@cindex away notices, how to omit
You can control which notices get omitted via the
@code{rcirc-omit-responses} variable. Here's an example of how to
omit away messages:
@example
(setq rcirc-omit-responses '("JOIN" "PART" "QUIT" "NICK" "AWAY))
@end example
@vindex rcirc-omit-threshold
Notice that these messages will not be omitted if the nick in question
has recently been active. After all, you don't want to continue a
conversation with somebody who just left. That's why @code{rcirc}
checks recent lines in the buffer to figure out if a nick has been
active and only omits a message if the nick has not been active. The
window @code{rcirc} considers is controlled by the
@code{rcirc-omit-threshold} variable.
@node Hacking and Tweaking, GNU Free Documentation License, Fighting Information Overload, Top
@chapter Hacking and Tweaking
@cindex hacking and tweaking

View file

@ -4,7 +4,7 @@
@c In the Tramp CVS, the version number is auto-frobbed from
@c configure.ac, so you should edit that file and run
@c "autoconf && ./configure" to change the version number.
@set trampver 2.1.12-pre
@set trampver 2.1.12
@c Other flags from configuration
@set instprefix /usr/local

View file

@ -11,7 +11,7 @@
* schema/xhtml-form.rnc, schema/xhtml-table.rnc, schema/xhtml.rnc:
Updated accordingly.
* schema/docbook-dyntbl.rnc, schema/docbook-dyntbl.rnc: Renamed to
* schema/docbook-dyntbl.rnc, schema/docbook-soextbl.rnc: Renamed to
docbk-dyntbl.rnc and docbk-soextbl.rnc, respectively.
* images/icons/macemacs_16.png, images/icons/macemacs_24.png:

View file

@ -149,14 +149,25 @@ word at point.
** TAB now indents the region if the region is active and
`transient-mark-mode' is turned on.
** `use-empty-active-region' controls whether an empty active region
in Transient Mark mode should make commands operate on that empty region.
** C-z now invokes `suspend-frame', C-x C-c now invokes
`save-buffers-kill-terminal'.
** New command kill-matching-buffers kills buffers whose name matches a regexp.
** `interprogram-paste-function' can now return one string or a list
of strings. In the latter case, Emacs puts the second and following
strings on the kill ring.
** You can disable kill ring commands from accessing the primary selection
by setting `x-select-enable-primary' to nil.
** If `select-active-regions' is t, setting the mark automatically
makes the new region into the primary selection (for interaction with
other window applications). If you enable this, you might want to bind
`mouse-yank-primary' to Mouse-2.
** If `yank-pop-change-selection' is t, rotating the kill ring
also updates the selection or clipboard to the current yank,
just as M-w would do so with the text it copies to the kill ring.
** Minibuffer changes:
@ -439,6 +450,14 @@ variable as having been made within Custom.
** `frame-inherited-parameters' lets new frames inherit parameters from
the selected frame.
** Commands should use `use-region-p' to test whether there is
an active region that they should operate on.
** `region-active-p' returns non-nil when Transient Mark mode
is enabled and there is an active region. This is NOT the best function
to use to test whether a command should operate on the region instead
of the usual behavior -- for that, use `use-region-p'.
** New keymap `input-decode-map' overrides like key-translation-map, but
applies before function-key-map. Also it is terminal-local contrary to
key-translation-map. Terminal-specific key-sequences are generally added to
@ -451,6 +470,10 @@ the specified files).
** The new function `read-color' reads a color name using the minibuffer.
** `interprogram-paste-function' can now return one string or a list
of strings. In the latter case, Emacs puts the second and following
strings on the kill ring.
** Changes related to multiple tty support.
*** $TERM is now set to `dumb' for subprocesses. If you want to know the

View file

@ -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.

View file

@ -5,8 +5,8 @@ Author: Andrew Zhilin <andrew_zhilin@yahoo.com>
Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
License: GNU General Public License version 3 or later (see COPYING)
Files: macemacs_16.png macemacs_24.png macemacs_32.png macemacs_48.png
macemacs_256.png macemacs_512.png
Files: emacs16_mac.png emacs24_mac.png emacs32_mac.png emacs48_mac.png
emacs256_mac.png emacs512_mac.png
Author: Kentaro Ohkouchi <nanasess@fsm.ne.jp>
Copyright (C) 2007 Free Software Foundation, Inc.
License: GNU General Public License version 3 or later (see COPYING)

View file

@ -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

View file

@ -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/ -> ß ?/ -> ¿ !/ -> ¡
| various | << -> « >> -> » o_ -> º a_ -> ª
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/ -> đ
others | / | s/ -> ß
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/ -> å e/ -> æ o/ -> ø
others | / | s/ -> ß n/ -> ŋ k/ -> ĸ
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/ -> å e/ -> æ o/ -> ø
others | / | s/ -> ß
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 -> Æ, OE -> Ø, AA -> Å, E' -> É)
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" )
("ae" )
("OE" )
("oe" )
("AA" )
("aa" )
("E'" )
("e'" )
("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^ -> ĉ gx -> ĝ u^ -> ŭ.
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" )
("C^" )
("cx" )
("c^" )
("Gx" )
("G^" )
("gx" )
("g^" )
("Hx" )
("H^" )
("hx" )
("h^" )
("Jx" )
("J^" )
("jx" )
("j^" )
("Sx" )
("S^" )
("sx" )
("s^" )
("Ux" )
("U^" )
("ux" )
("u^" )
("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 -> Ä
AEE -> AE
OE -> Ö
OEE -> OE
"
nil t nil nil nil nil nil nil nil nil t)
(quail-define-rules
("AE" )
("ae" )
("OE" )
("oe" )
("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 -> ä
aee -> ae
oe -> ö
oee -> oe
ue -> ü
uee -> ue
sz -> ß
szz -> sz
"
nil t nil nil nil nil nil nil nil nil t)
(quail-define-rules
("AE" )
("ae" )
("OE" )
("oe" )
("UE" )
("ue" )
("sz" )
("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 (Íslenska) input method with postfix modifiers
A' -> Á
E' -> É
I' -> Í
O' -> Ó
U' -> Ú
Y' -> Ý
AE -> Æ
OE -> Ö
D/ -> Ð (eth)
T/ -> Þ (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'" )
("a'" )
("E'" )
("e'" )
("I'" )
("i'" )
("O'" )
("o'" )
("U'" )
("u'" )
("Y'" )
("y'" )
("AE" )
("ae" )
("OE" )
("oe" )
("D/" )
("d/" )
("T/" )
("t/" )
("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->Æ, OE->Ø, AA->Å, E'->É)
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" )
("ae" )
("OE" )
("oe" )
("AA" )
("aa" )
("E'" )
("e'" )
("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 -> æ
oe -> ø
aa -> å
a\" -> ä
o\" -> ö
e' -> é
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" )
("ae" )
("OE" )
("oe" )
("AA" )
("aa" )
("A\"" )
("a\"" )
("O\"" )
("o\"" )
("E'" )
("e'" )
("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ñol) input method with postfix modifiers
A' -> Á
E' -> É
I' -> Í
O' -> Ó
U' -> Ú
N~ -> Ñ
!/ -> ¡
?/ -> ¿
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'" )
("a'" )
("E'" )
("e'" )
("I'" )
("i'" )
("O'" )
("o'" )
("U'" )
("u'" )
("N~" )
("n~" )
("?/" ?¿)
("!/" )
("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 -> Ä, OE -> Ö, E' -> É)
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" )
("aa" )
("AE" )
("ae" )
("OE" )
("oe" )
("E'" )
("e'" )
("AAA" ["AA"])
("aaa" ["aa"])
("AEE" ["AE"])
("aee" ["ae"])
("OEE" ["OE"])
("oee" ["oe"])
("E''" ["E'"])
("e''" ["e'"])
)
(quail-define-package
"turkish-alt-postfix" "Turkish" "TR«" t
"Turkish (Türkçe) input method with postfix modifiers.
This input method differs from `turkish-postfix' in that
comma is not special (use ` instead).
turkish-latin-3-alt-postfix is an obsolete alias for turkish-alt-postfix.

View file

@ -1,3 +1,533 @@
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
to vc-hooks.el so it will be available to other modes, such as
speedbar.el. Also, teach it to recognize monotone state directories.
* speedbar.el: Remove this mode's fragile assumptions about
version-control systems. Instead, make it use logic from
vc-hooks.el so it will become smarter whenever VC mode does.
* vc-hooks.el: 'added is a real state, not a future hypothetical one.
Fix the documentation.
* vc-bzr.el, vc-cvs.el, vc-git.el, vc-hg.el, vc-mcvs.el, vc-svn.el:
Modify all instances of the dir-state back-end method to suppress
keeping undo lists on the buffers holding status output, which
can get extremely large.
* vc-cvs.el, vc-svn.el: Simplify backend dired-state-info functions
so they don't do work that the default one can do instead.
* vc-hooks.el (vc-state): Document new 'ignored and 'unregistered
states, and the new return-value convention. These are not
actually used yet, just set.
* vc-svn.el (vc-svn-parse-status): Set 'ignored and 'unregistered
states when appropriate.
* vc-hg.el (vc-hg-state, vc-hg-dir-state): Set 'ignored and
'unregistered when appropriate.
* vc-git.el: Document that we don't set the new states yet.
* vc.el (vc-dired-state-info): Display 'added, 'unregistered and
'ignored states.
* vc-cvs.el (vc-cvs-parse-status): Set the 'ignored state when
appropriate.
* vc-bzr.el (vc-bzr-dir-state): Set 'ignored and 'unregistered
when appropriate.
2007-12-28 Nick Roberts <nickrob@snap.net.nz>
* thumbs.el (thumbs-call-convert): Use call-process directly
with thumbs-conversion-program instead of through shell-file-name
for better error reporting.
2007-12-27 Jay Belanger <jay.p.belanger@gmail.com>
* calc/calc-aent.el (math-remove-percentsigns):
* calc/calccomp.el (math-to-percentsigns): Change placeholder
for percent signs.
2007-12-27 Eric S. Raymond <esr@snark.thyrsus.com>
* vc.el (vc-dired-ignorable-p, vc-dired-hook): Speed optimization;
use completion-ignored-extensions to detect files that should be
ignorted in VC-Dired listings, heading off lots of expensive calls
to (vc-state).
* vc.el (vc-dired-hook): Show unregistered file status as "?" in
non-terse mode.
(vc-dired-ignorable-p): Ignore Makefile when it has a peer named
Makefile.in or Makefile.am
2007-12-27 Vinicius Jose Latorre <viniciusjl@ig.com.br>
* ps-print.el (ps-mark-active-p): Fun returned back.
(ps-print-preprint-region): Use `ps-mark-active-p' instead of
`region-active-p' for error checking.
2007-12-27 Eric S. Raymond <esr@snark.thyrsus.com>
* vc.el, vc-sccs.el, vc-rcs.el, vc-cs.el, vc-mcvs.el: Put
new machinery in place to support editing of change comments
with 'e' in a log-view buffer. Not documented yet as this
only works for SCCS, RCS, and maybe CVS if you have admin
privileges. When we have backend support for Subversion and
more modern systems it will be time to write this up.
2007-12-27 Kenichi Handa <handa@ni.aist.go.jp>
* international/mule-cmds.el (select-safe-coding-system):
When a buffer is modified, cancel the writing.
2007-12-26 Eric S. Raymond <esr@snark.thyrsus.com>
* log-view.el: Add Subversion and Mercurial log format samples.
* vc.el (vc-dired-hook): Significantly speed up by arranging for
it to call the backend dir-state hook (if it exists)
exactly *once*, rather than once per each subdirectory (with
dired-state-info calls on all toplevel files slowing it down even
further). For this to work, backend dir-state methods have to
recurse to subdirectories. Most of them already did anyway; a few
needed *non*-recursion switches removed. This change mostly
removed code that was perversely bad and should have been shot
through the head years ago.
* vc-bzr.el (vc-bzr-dir-state):
* vc-cvs.el (vc-cvs-dir-state):
* vc-mcvs.el (vc-mcvs-dir-state):
* vc-svn.el (vc-svn-dir-state): Recurse in subdirectories.
* vc-svn.el (vc-svn-print-log): svn log doesn't actually accept
multiple arguments, so generate logs sequentially when we get them.
* vc-hg.el (vc-hg-print-log): Gives this CVS-like "Working file:"
headers so the various log bindings can do the right thing.
* vc-cvs.el (vc-cvs-print-log): Fix a misleading comment.
2007-12-26 Andreas Schwab <schwab@suse.de>
* font-lock.el (save-buffer-state): Make sure the state of the
buffer is always restored.
2007-12-26 Jay Belanger <jay.p.belanger@gmail.com>
* calc/calc.el (calc-lang-allow-percentsigns): New variable.
* calc/calc-lang.el (calc-lang-allow-percentsigns): Declare as
a variable.
* calc/calccomp.el (math-to-percentsigns): New function.
(math-compose-var): Handle variables with percent signs.
(math-compose-expr): Handle function names with percent signs.
* calc/calc-aent.el (math-to-percentsigns): Declare as function.
(math-read-exprs): Handle percent signs in languages that
allow them.
(math-restore-underscores): Remove function.
(math-remove-percentsigns, math-restore-placeholders):
New functions.
2007-12-26 Vinicius Jose Latorre <viniciusjl@ig.com.br>
* ps-print.el (ps-print-preprint-region): Use `region-active-p' instead
of `mark' for error checking.
2007-12-26 Tassilo Horn <tassilo@member.fsf.org>
* image-mode.el (image-bookmark-make-cell, image-bookmark-jump):
New functions.
(image-mode): Set bookmark-make-cell-function appropriately.
* doc-view.el (doc-view-bookmark-jump): Correct misspelled arg name.
* bookmark.el (bookmark-make-cell-function): New variable.
(bookmark-make): Call bookmark-make-cell-function's function
instead of bookmark-make-cell.
(bookmark-get-handler, bookmark-jump-internal): New functions.
(bookmark-jump, bookmark-jump-other-window, bookmark-insert)
(bookmark-bmenu-2-window, bookmark-bmenu-other-window):
Use bookmark-jump-internal.
(bookmark-make-cell-for-text-file): Renamed from bookmark-make-cell.
* doc-view.el (doc-view-bookmark-make-cell)
(doc-view-bookmark-jump): New functions.
(doc-view-mode): Set bookmark-make-cell-function buffer-locally.
2007-12-25 Miles Bader <miles@gnu.org>
* indent.el (indent-for-tab-command): Rigidly indent the following
sexp along with the current line when a prefix arg is given in the
non-active-region case. Specify raw prefix in interactive spec.
Simplify main indentation logic to get rid of the conditional call
to `indent-according-to-mode' (it just ended up calling
`indent-line-function' in all cases anyway, which can be done more
simply here). Remove unnecessary test of ARG in active region case.
2007-12-25 Richard Stallman <rms@gnu.org>
* allout.el (allout-region-active-p): Rename from my-region-active-p.
Use `use-region-p'.
(allout-write-file-hook-handler): Simplify code.
* ps-print.el (ps-mark-active-p): Function deleted.
(ps-print-preprint-region): Use (mark) for the error check.
* tooltip.el (tooltip-region-active-p): Use `use-region-p'.
* winner.el (winner-active-region): Use `mark-active' if it's defined.
* progmodes/ada-mode.el (ada-region-selected): Use `use-region-p'.
* textmodes/org.el (org-region-active-p): Use `use-region-p'.
* progmodes/idlwave.el (idlwave-region-active-p): Use `use-region-p'.
* textmodes/reftex.el (reftex-region-active-p): Use `use-region-p'.
* progmodes/cc-defs.el (c-region-is-active-p):
Use `mark-active' if it's defined.
* progmodes/cc-cmds.el (c-indent-line-or-region):
Pass prefix arg to `c-indent-command'. Use `use-region-p'.
* simple.el (select-active-regions): New option.
(set-mark): Obey it.
(yank-pop-change-selection): New option.
(current-kill): Obey it.
* simple.el (use-region-p): Renamed from `region-active-p'.
(region-active-p): New function.
2007-12-25 David Golden <david.delaharpe.golden@gmail.com> (tiny change)
* term/x-win.el (x-select-enable-primary): New option.
(x-select-text, x-cut-buffer-or-selection-value): Obey it.
* mouse.el (mouse-yank-primary): New function (almost same
as mouse-yank-secondary).
2007-12-25 Dan Nicolaescu <dann@ics.uci.edu>
* calculator.el:
* dframe.el:
* iswitchb.el:
* whitespace.el:
* winner.el:
* emacs-lisp/checkdoc.el:
* mail/feedmail.el:
* net/quickurl.el:
* obsolete/fast-lock.el:
* play/5x5.el:
* progmodes/delphi.el:
* progmodes/idlw-shell.el:
* progmodes/idlwave.el:
* textmodes/artist.el:
* textmodes/ispell.el:
* textmodes/texinfmt.el:
* textmodes/texinfo.el: Remove obsolete definitions of backward
compatibility macros for defcustom, defgroup, defface, when,
unless, with-current-buffer and with-temp-message.
2007-12-24 Nick Roberts <nickrob@snap.net.nz>
* progmodes/verilog-mode.el: Reformat parts to 80 columns.
2007-12-23 Stefan Monnier <monnier@iro.umontreal.ca>
* server.el (server-save-buffers-kill-terminal): Check the `proc' is
indeed a process.
2007-12-23 Richard Stallman <rms@gnu.org>
* simple.el (region-active-p): New function.
(use-empty-active-region): New variable.
* dired-aux.el (dired): Load dired.el at run time too.
2007-12-23 Juri Linkov <juri@jurta.org>
* man.el (Man-follow-manual-reference): Fill the minibuffer's
default list with a full list of references.
* files.el (auto-mode-alist): Add \\' to doc-view files regexp.
2007-12-23 Andreas Schwab <schwab@suse.de>
* files.el (switch-to-buffer-other-frame): Return the buffer
switched to.
2007-12-23 Michael Albinus <michael.albinus@gmx.de>
Sync with Tramp 2.1.12.
* net/tramp.el: New todo item.
* net/tramp-smb.el (tramp-smb-handle-insert-directory): Handle "-F"
switch. Reported by Mark T. Kennedy <mkennedy@diamondbackcap.com>.
* net/trampver.el: Update release number.
2007-12-22 Richard Stallman <rms@gnu.org>
* newcomment.el (comment-region-default): Don't triple the
comment starter if the first region line isn't indented enough.
2007-12-21 Martin Rudalics <rudalics@gmx.at>
* autoinsert.el (auto-insert-alist): Remove nonsensical precision
specifier from format-string. Reported by Ye Wenbin.
2007-12-20 Jason Rumney <jasonr@gnu.org>
* nxml/nxml-mode.el (nxml-faces): Rename from nxml-highlighting-faces.
Parent group is font-lock-faces.
(nxml-light-blue-color, nxml-dark-blue-color, nxml-green-color)
(nxml-sky-blue-color, nxml-dark-green-color, nxml-light-green-color):
(nxml-version): Remove.
(nxml-delimited-data, nxml-name, nxml-ref, nxml-delimiter)
(nxml-text, nxml-comment-content, nxml-comment-delimiter)
(nxml-processing-instruction-delimiter)
(nxml-processing-instruction-target)
(nxml-processing-instruction-content, nxml-cdata-section-delimiter)
(nxml-cdata-section-CDATA, nxml-cdata-section-content)
(nxml-char-ref-number, nxml-char-ref-delimiter, nxml-entity-ref-name)
(nxml-entity-ref-delimiter, nxml-tag-delimiter, nxml-tag-slash)
(nxml-element-prefix, nxml-element-colon, nxml-element-local-name)
(nxml-attribute-prefix, nxml-attribute-colon)
(nxml-attribute-local-name, nxml-namespace-attribute-xmlns)
(nxml-namespace-attribute-colon, nxml-namespace-attribute-prefix)
(nxml-attribute-value, nxml-attribute-value-delimiter)
(nxml-namespace-attibute-value)
(nxml-namespace-attribure-value-delimiter)
(nxml-prolog-literal-delimiter, nxml-prolog-literal-content)
(nxml-prolog-keyword, nxml-markup-declaration-delimiter, nxml-hash)
(nxml-glyph): Rename, removing -face suffix.
Inherit from existing font-lock faces.
(nxml-apply-fontify-rule, nxml-char-ref-display-extra):
Use new face names.
* nxml/nxml-outln.el (nxml-heading, nxml-outline-indicator)
(nxml-outline-active-indicator, nxml-outline-ellipsis):
Rename, removing -face suffix.
(nxml-highlighted-less-than, nxml-highlighted-greater-than)
(nxml-highlighted-colon, nxml-highlighted-slash)
(nxml-highlighted-ellipsis, nxml-highlighted-inactive-minus)
(nxml-highlighted-active-minus, nxml-highlighted-active-plus)
(nxml-highlighted-qname, nxml-outline-display-heading):
Use new face names.
* nxml/rng-valid.el (rng-error): Rename from rng-error-face.
* nxml/rng-nxml.el (rng-nxml-easy-menu): Remove nxml-version.
2007-12-19 Martin Rudalics <rudalics@gmx.at>
* cus-start.el (all): Use correct group name for members of
mode-line group.
* man.el (Man-default-man-entry): When looking for default man
entry title search text preceding point. Use when instead of if.
* indent.el (indent-for-tab-command): Fix doc-string typo.
* vc.el (vc-ensure-vc-buffer): Avoid infinite looping when
vc-parent-buffer is the current buffer.
* info-look.el (info-lookup, info-lookup-setup-mode)
(info-lookup-make-completions): Avoid clobbering Info-history and
Info-history-list.
2007-12-19 Glenn Morris <rgm@gnu.org>
* progmodes/verilog-mode.el (top-level): Don't require compile.
(compilation-error-regexp-alist, compilation-last-buffer):
Define for compiler.
(verilog-insert-1): New function.
(verilog-insert-indices, verilog-generate-numbers): Doc fixes.
Use verilog-insert-1.
(verilog-surelint-off): Use next-error-last-buffer if bound.
Check compile buffer is live.
2007-12-19 John J Foerch <jjfoerch@earthlink.net> (tiny change)
* progmodes/compile.el (compilation-start): Don't pass a FRAME
argument to display-buffer.
2007-12-19 Jason Rumney <jasonr@gnu.org>
* nxml/rng-maint.el (rng-format-manual): Do not autoload.
(rng-autoload-modules, rng-update-autoloads, rng-compile-modules)
(rng-byte-compile-load, rng-write-version): Remove.
* nxml/rng-loc.el (rng-schema-locating-files-default)
(rng-schema-locating-file-schema-file): Use files in etc/schemas.
(rng-schema-loader-alist): Use rng-c-load-schema to load rnc files.
2007-12-18 Michael Albinus <michael.albinus@gmx.de>
* files.el (cd-absolute): Set `list-buffers-directory' in order to
show correct path in buffer list.
* net/tramp.el (tramp-open-connection-setup-interactive-shell)
(tramp-find-shell): Send only single prompt setting commands, in
order to avoid double-prompt.
* net/tramp-compat.el (top): Require cl only when compiling.
Reported by Glenn Morris <rgm@gnu.org>.
2007-12-18 Thien-Thi Nguyen <ttn@gnuvola.org>
* progmodes/cc-vars.el (defcustom-c-stylevar): Eval VAL.
(c-comment-continuation-stars): No longer declare with
cc-bytecomp-obsolete-var and cc-bytecomp-defvar.
(c-block-comment-prefix): Use symbol-value to
access c-comment-continuation-stars.
* progmodes/cc-mode.el (c-initialize-cc-mode):
Use symbol-value to access c-comment-continuation-stars.
2007-12-18 Mark A. Hershberger <mah@everybody.org>
* xml.el (xml-escape-string): New function. Escape string using
xml-entity-alist.
(xml-debug-print-internal): Use xml-escape-string to escape
characters in attributes and in text children of elements.
2007-12-18 Glenn Morris <rgm@gnu.org>
* progmodes/cc-subword.el (c-subword-mode): Drop support for
systems without define-minor-mode.
* progmodes/cc-vars.el (defcustom-c-stylevar): Remove debugging message.
* progmodes/verilog-mode.el: Replace all instances of
string-to-int with string-to-number, insert-string with insert,
and read-input with read-string.
(top-level): No need to require imenu, reporter, dinotrace, vc,
font-lock when compiling. Always require compile. Relegate remaining
compatibility cruft to XEmacs. Don't require font-lock.
(verilog-version): Remove superfluous concat.
(dinotrace-unannotate-all, zmacs-activate-region)
(customize-apropos): No need to define.
(verilog-regexp-opt): On Emacs, just make it an alias for regexp-opt.
(verilog-font-lock-keywords, verilog-font-lock-keywords-1)
(verilog-font-lock-keywords-2, verilog-font-lock-keywords-3)
(verilog-startup-message-displayed): These are variables, not constants.
(verilog-batch-execute-func, verilog-auto-inst)
(verilog-auto-inst-param): Use mapc rather than mapcar.
(sigs-in, sigs-inout, sigs-out): Define for compiler rather than
actually defining.
(verilog-modi-get-decls, verilog-modi-get-sub-decls)
(verilog-modi-get-outputs, verilog-modi-get-inouts)
(verilog-modi-get-inputs, verilog-modi-get-wires)
(verilog-modi-get-regs, verilog-modi-get-assigns)
(verilog-modi-get-consts, verilog-modi-get-gparams)
(verilog-modi-get-sub-outputs, verilog-modi-get-sub-inouts)
(verilog-modi-get-sub-inputs): Move inline functions earlier in
the file.
(sigs-in, sigs-out): Don't declare multiple times.
(got-sig, got-rvalue, uses-delayed): Define for compiler with just
`defvar'.
(verilog-auto): Call dinotrace-unannotate-all only if bound.
(verilog-module-inside-filename-p): No need to wrap fboundp test
in condition-case.
(reporter-submit-bug-report): Autoload it.
(verilog-mark-defun): Call zmacs-activate-region only if bound.
(verilog-font-customize): Call customize-apropos only if bound.
(verilog-getopt-flags, verilog-auto-reeval-locals): Use
make-local-variable rather than make-variable-buffer-local.
(verilog-company, verilog-project, verilog-modi-cache-list):
Move make-variable-buffer-local calls to top-level.
(font-lock-defaults-alist): Don't define it.
(verilog-need-fld): Remove.
(verilog-font-lock-init): Don't set font-lock-defaults-alist.
(verilog-mode): Only call make-local-hook on XEmacs. Set
font-lock-defaults rather than using verilog-font-lock-init.
2007-12-17 Andreas Schwab <schwab@suse.de>
* progmodes/sh-script.el (sh-font-lock-syntactic-keywords):
Fix comment typo.
2007-12-16 Michael Albinus <michael.albinus@gmx.de>
* net/dbus.el (dbus-name-owner-changed-handler):
Use `dbus-unregister-signal' for removing old rules.
Obey new structure of `dbus-registered-functions-table'.
2007-12-12 Thien-Thi Nguyen <ttn@gnuvola.org>
* progmodes/cc-vars.el (defcustom-c-stylevar): Rewrite.
@ -18,8 +548,8 @@
* progmodes/cperl-mode.el (cperl-brace-offset)
(cperl-continued-brace-offset, cperl-label-offset)
(cperl-continued-statement-offset)
(cperl-extra-newline-before-brace, cperl-merge-trailing-else): Add
safe-local-variable properties.
(cperl-extra-newline-before-brace, cperl-merge-trailing-else):
Add safe-local-variable properties.
2007-12-08 Dan Nicolaescu <dann@ics.uci.edu>
@ -62,7 +592,7 @@
(verilog-end-of-statement, verilog-indent-declaration)
(verilog-get-lineup-indent): Remove trailing whitespace.
(verilog-mode): Fix autoload cookie. Set
beginning-of-defun-function and end-of-defun-function. Use when
beginning-of-defun-function and end-of-defun-function. Use when
instead of if.
(verilog-emacs-features, verilog-auto-ascii-enum)
(verilog-insert-indices): Escape braces in doc strings.
@ -641,14 +1171,14 @@
(math-comp-comma, math-comp-vector-prec): Declare as variables.
(math-var-formatter, math-matrix-formatter)
(math-lang-adjust-words, math-lang-read-symbol, math-land-read)
(math-punc-table, math-compose-subscr,math-dots)
(math-punc-table, math-compose-subscr, math-dots)
(math-func-formatter): New property names to store language
specific information.
(math-compose-tex-var, math-compose-tex-intv)
(math-compose-maple-intv, math-compose-eqn-intv)
(math-compose-tex-sum, math-compose-tex-func)
(math-compose-tex-intv): New functions.
(math-eqn-ignore-words,math-tex-ignore-words)
(math-eqn-ignore-words, math-tex-ignore-words)
(math-latex-ignore-words): Move from calc.el.
(math-special-function-table): Add entries for tex.
(calc-lang-slash-idiv, calc-lang-allows-underscores):
@ -1150,7 +1680,7 @@
Replace `mapcar*' by `math-map-binop'.
(math-nlfit-make-matrix): Replace `copy-list' with `copy-sequence'.
* calc/calc-prog.el (edmacro-format-keys,edmacro-parse-keys)
* calc/calc-prog.el (edmacro-format-keys, edmacro-parse-keys)
(math-read-expr-level): Declare as functions.
* calc/calc-vec.el (math-read-expr-level): Declare as a function.

View file

@ -1501,11 +1501,11 @@ See `allout-encryption-ciphertext-rejection-regexps' for rejection reasons.")
(condition-case failure
(setq allout-after-save-decrypt
(allout-encrypt-decrypted except-mark))
(error (progn
(message
"allout-write-file-hook-handler suppressing error %s"
failure)
(sit-for 2))))))
(message "allout-write-file-hook-handler suppressing error %s"
failure)
(sit-for 2)
(error "allout-write-file-hook-handler suppressing error %s"
failure))))
))
nil)
;;;_ > allout-auto-save-hook-handler ()
@ -5457,11 +5457,11 @@ header and body. The elements of that list are:
(cdr format)))))))
;; Put the list with first at front, to last at back:
(nreverse result))))
;;;_ > my-region-active-p ()
(defmacro my-region-active-p ()
(if (fboundp 'region-active-p)
'(region-active-p)
'mark-active))
;;;_ > allout-region-active-p ()
(defmacro allout-region-active-p ()
(if (fboundp 'use-region-p)
'(use-region-p)
'(region-active-p)))
;;;_ > allout-process-exposed (&optional func from to frombuf
;;; tobuf format)
(defun allout-process-exposed (&optional func from to frombuf tobuf
@ -5494,7 +5494,7 @@ Defaults:
; defaulting if necessary:
(if (not func) (setq func 'allout-insert-listified))
(if (not (and from to))
(if (my-region-active-p)
(if (allout-region-active-p)
(setq from (region-beginning) to (region-end))
(setq from (point-min) to (point-max))))
(if frombuf

View file

@ -179,7 +179,7 @@ If this contains a %s, that will be replaced by the matching rule."
;;'(setq v1 (apply 'vector (mapcar 'car finder-known-keywords)))
'(setq v1 (mapcar (lambda (x) (list (symbol-name (car x))))
finder-known-keywords)
v2 (mapconcat (lambda (x) (format "%10.0s: %s" (car x) (cdr x)))
v2 (mapconcat (lambda (x) (format "%12s: %s" (car x) (cdr x)))
finder-known-keywords
"\n"))
((let ((minibuffer-help-form v2))

View file

@ -443,6 +443,8 @@ That is, all information but the name."
(message "%S" (assq 'info-node (bookmark-get-bookmark-record bookmark)))
(sit-for 4))
(defun bookmark-get-handler (bookmark)
(cdr (assq 'handler (bookmark-get-bookmark-record bookmark))))
(defvar bookmark-history nil
"The history list for bookmark functions.")
@ -480,6 +482,22 @@ menus, so `completing-read' never gets a chance to set `bookmark-history'."
(interactive-p)
(setq bookmark-history (cons ,string bookmark-history))))
(defvar bookmark-make-cell-function 'bookmark-make-cell-for-text-file
"A function that should be called to create the bookmark
record. Modes may set this variable buffer-locally to enable
bookmarking of non-text files like images or pdf documents.
The function will be called with two arguments: ANNOTATION and
INFO-NODE. See `bookmark-make-cell-for-text-file' for a
description.
The returned record may contain a special cons (handler
. some-function) which sets the handler function that should be
used to open this bookmark instead of `bookmark-jump-noselect'.
It should return a cons (BUFFER . POINT) indicating buffer
showing the bookmarked location and the value of point in that
buffer. Like `bookmark-jump-noselect' the buffer shouldn't be
selected by the handler.")
(defun bookmark-make (name &optional annotation overwrite info-node)
"Make a bookmark named NAME.
@ -498,7 +516,7 @@ INFO-NODE, so record this fact in the bookmark's entry."
;; already existing bookmark under that name and
;; no prefix arg means just overwrite old bookmark
(setcdr (bookmark-get-bookmark stripped-name)
(list (bookmark-make-cell annotation info-node)))
(list (funcall bookmark-make-cell-function annotation info-node)))
;; otherwise just cons it onto the front (either the bookmark
;; doesn't exist already, or there is no prefix arg. In either
@ -507,7 +525,7 @@ INFO-NODE, so record this fact in the bookmark's entry."
(setq bookmark-alist
(cons
(list stripped-name
(bookmark-make-cell annotation info-node))
(funcall bookmark-make-cell-function annotation info-node))
bookmark-alist)))
;; Added by db
@ -518,7 +536,7 @@ INFO-NODE, so record this fact in the bookmark's entry."
(bookmark-save))))
(defun bookmark-make-cell (annotation &optional info-node)
(defun bookmark-make-cell-for-text-file (annotation &optional info-node)
"Return the record part of a new bookmark, given ANNOTATION.
Must be at the correct position in the buffer in which the bookmark is
being set. This might change someday.
@ -780,7 +798,7 @@ the list of bookmarks.\)"
(defun bookmark-info-current-node ()
"If in Info-mode, return current node name (a string), else nil."
"If in `Info-mode', return current node name (a string), else nil."
(if (eq major-mode 'Info-mode)
Info-current-node))
@ -855,8 +873,7 @@ Wants BUF, POINT, PARG, and BOOKMARK.
When you have finished composing, type \\[bookmark-send-annotation] to send
the annotation.
\\{bookmark-read-annotation-mode-map}
"
\\{bookmark-read-annotation-mode-map}"
(interactive)
(kill-all-local-variables)
(make-local-variable 'bookmark-annotation-paragraph)
@ -896,8 +913,7 @@ Text surrounding the bookmark is PARG; the bookmark name is BOOKMARK."
"Mode for editing the annotation of bookmark BOOKMARK.
When you have finished composing, type \\[bookmark-send-annotation].
\\{bookmark-edit-annotation-mode-map}
"
\\{bookmark-edit-annotation-mode-map}"
(interactive)
(kill-all-local-variables)
(make-local-variable 'bookmark-annotation-name)
@ -1068,7 +1084,7 @@ of the old one in the permanent bookmark record."
(unless bookmark
(error "No bookmark specified"))
(bookmark-maybe-historicize-string bookmark)
(let ((cell (bookmark-jump-noselect bookmark)))
(let ((cell (bookmark-jump-internal bookmark)))
(and cell
(switch-to-buffer (car cell))
(goto-char (cdr cell))
@ -1090,7 +1106,7 @@ See `bookmark-jump'."
(list bkm) bkm)))
(when bookmark
(bookmark-maybe-historicize-string bookmark)
(let ((cell (bookmark-jump-noselect bookmark)))
(let ((cell (bookmark-jump-internal bookmark)))
(and cell
(switch-to-buffer-other-window (car cell))
(goto-char (cdr cell))
@ -1120,6 +1136,11 @@ be retrieved from a VC backend, else return nil."
;; Last possibility: try VC
(if (vc-backend file) file))))
(defun bookmark-jump-internal (bookmark)
"Call BOOKMARK's handler or `bookmark-jump-noselect' if it has none."
(funcall (or (bookmark-get-handler bookmark)
'bookmark-jump-noselect)
bookmark))
(defun bookmark-jump-noselect (str)
;; a leetle helper for bookmark-jump :-)
@ -1273,10 +1294,10 @@ this."
(bookmark-maybe-historicize-string bookmark)
(bookmark-maybe-load-default-file)
(let ((orig-point (point))
(str-to-insert
(save-excursion
(set-buffer (car (bookmark-jump-noselect bookmark)))
(buffer-string))))
(str-to-insert
(save-excursion
(set-buffer (car (bookmark-jump-internal bookmark)))
(buffer-string))))
(insert str-to-insert)
(push-mark)
(goto-char orig-point)))
@ -1904,7 +1925,7 @@ With a prefix arg, prompts for a file to save them in."
(pop-up-windows t))
(delete-other-windows)
(switch-to-buffer (other-buffer))
(let* ((pair (bookmark-jump-noselect bmrk))
(let* ((pair (bookmark-jump-internal bmrk))
(buff (car pair))
(pos (cdr pair)))
(pop-to-buffer buff)
@ -1924,7 +1945,7 @@ With a prefix arg, prompts for a file to save them in."
(interactive)
(let ((bookmark (bookmark-bmenu-bookmark)))
(if (bookmark-bmenu-check-position)
(let* ((pair (bookmark-jump-noselect bookmark))
(let* ((pair (bookmark-jump-internal bookmark))
(buff (car pair))
(pos (cdr pair)))
(switch-to-buffer-other-window buff)
@ -1942,7 +1963,7 @@ The current window remains selected."
same-window-buffer-names
same-window-regexps)
(if (bookmark-bmenu-check-position)
(let* ((pair (bookmark-jump-noselect bookmark))
(let* ((pair (bookmark-jump-internal bookmark))
(buff (car pair))
(pos (cdr pair)))
(display-buffer buff)

View file

@ -49,7 +49,7 @@
(declare-function math-read-string "calc-ext" ())
(declare-function math-read-brackets "calc-vec" (space-sep math-rb-close))
(declare-function math-read-angle-brackets "calc-forms" ())
(declare-function math-to-percentsigns "calccomp" (x))
(defvar calc-quick-calc-history nil
"The history list for quick-calc.")
@ -595,10 +595,14 @@ in Calc algebraic input.")
(math-exp-keep-spaces nil)
math-exp-token math-expr-data)
(setq math-exp-str (math-read-preprocess-string math-exp-str))
(if (memq calc-language calc-lang-allow-percentsigns)
(setq math-exp-str (math-remove-percentsigns math-exp-str)))
(if calc-language-input-filter
(setq math-exp-str (funcall calc-language-input-filter math-exp-str)))
(while (setq math-exp-token (string-match "\\.\\.\\([^.]\\|.[^.]\\)" math-exp-str))
(setq math-exp-str (concat (substring math-exp-str 0 math-exp-token) "\\dots"
(while (setq math-exp-token
(string-match "\\.\\.\\([^.]\\|.[^.]\\)" math-exp-str))
(setq math-exp-str
(concat (substring math-exp-str 0 math-exp-token) "\\dots"
(substring math-exp-str (+ math-exp-token 2)))))
(math-build-parse-table)
(math-read-token)
@ -694,17 +698,23 @@ in Calc algebraic input.")
(math-read-token)))
((and (memq ch calc-user-token-chars)
(let ((case-fold-search nil))
(eq (string-match calc-user-tokens math-exp-str math-exp-pos)
(eq (string-match
calc-user-tokens math-exp-str math-exp-pos)
math-exp-pos)))
(setq math-exp-token 'punc
math-expr-data (math-match-substring math-exp-str 0)
math-exp-pos (match-end 0)))
((or (and (>= ch ?a) (<= ch ?z))
(and (>= ch ?A) (<= ch ?Z)))
(string-match (if (memq calc-language calc-lang-allow-underscores)
"[a-zA-Z0-9_#]*"
"[a-zA-Z0-9'#]*")
math-exp-str math-exp-pos)
(string-match
(cond
((and (memq calc-language calc-lang-allow-underscores)
(memq calc-language calc-lang-allow-percentsigns))
"[a-zA-Z0-9_'#]*")
((memq calc-language calc-lang-allow-underscores)
"[a-zA-Z0-9_#]*")
(t "[a-zA-Z0-9'#]*"))
math-exp-str math-exp-pos)
(setq math-exp-token 'symbol
math-exp-pos (match-end 0)
math-expr-data (math-restore-dashes
@ -1009,17 +1019,31 @@ in Calc algebraic input.")
(concat (math-match-substring x 1) "#" (math-match-substring x 2)))
x))
(defun math-remove-percentsigns (x)
(if (string-match "\\`\\(.*\\)%\\(.*\\)\\'" x)
(math-remove-percentsigns
(concat (math-match-substring x 1) "o'o" (math-match-substring x 2)))
x))
(defun math-restore-dashes (x)
(if (string-match "\\`\\(.*\\)[#_]\\(.*\\)\\'" x)
(math-restore-dashes
(concat (math-match-substring x 1) "-" (math-match-substring x 2)))
x))
(defun math-restore-underscores (x)
"Replace pound signs by underscores in the symbol x.
If the current Calc language does not allow underscores, return nil."
(if (memq calc-language calc-lang-allow-underscores)
(intern-soft (math-string-restore-underscores (symbol-name x)))))
(defun math-restore-placeholders (x)
"Replace placeholders by the proper characters in the symbol x.
This includes `#' for `_' and `'' for `%'.
If the current Calc language does not use placeholders, return nil."
(if (or (memq calc-language calc-lang-allow-underscores)
(memq calc-language calc-lang-allow-percentsigns))
(let ((sx (symbol-name x)))
(when (memq calc-language calc-lang-allow-percentsigns)
(require 'calccomp)
(setq sx (math-to-percentsigns sx)))
(if (memq calc-language calc-lang-allow-underscores)
(setq sx (math-string-restore-underscores sx)))
(intern-soft sx))))
(defun math-string-restore-underscores (x)
"Replace pound signs by underscores in the string x."
@ -1131,7 +1155,7 @@ If the current Calc language does not allow underscores, return nil."
(symbol-name sym)))))))
(let ((v (or
(assq (nth 1 val) math-expr-variable-mapping)
(assq (math-restore-underscores (nth 1 val))
(assq (math-restore-placeholders (nth 1 val))
math-expr-variable-mapping))))
(and v (setq val (if (consp (cdr v))
(funcall (car (cdr v)) v val)

View file

@ -43,6 +43,7 @@
;; Declare variables which are defined elsewhere.
(defvar calc-lang-slash-idiv)
(defvar calc-lang-allow-underscores)
(defvar calc-lang-allow-percentsigns)
(defvar math-comp-left-bracket)
(defvar math-comp-right-bracket)
(defvar math-comp-comma)

View file

@ -971,6 +971,8 @@ If nil, selections displayed but ignored.")
"A list of languages in which / might represent integer division.")
(defvar calc-lang-allow-underscores nil
"A list of languages which allow underscores in variable names.")
(defvar calc-lang-allow-percentsigns nil
"A list of languages which allow percent signs in variable names.")
(defvar calc-lang-c-type-hex nil
"Languages in which octal and hex numbers are written with leading 0 and 0x,")
(defvar calc-lang-brackets-are-subscripts nil

View file

@ -71,7 +71,7 @@
(defvar math-comp-comma)
(defun math-compose-var (a)
(let (v)
(let (v sn)
(if (and math-compose-hash-args
(let ((p calc-arg-values))
(setq v 1)
@ -82,9 +82,12 @@
(if (eq math-compose-hash-args 1)
"#"
(format "#%d" v))
(setq sn (symbol-name (nth 1 a)))
(if (memq calc-language calc-lang-allow-percentsigns)
(setq sn (math-to-percentsigns sn)))
(if (memq calc-language calc-lang-allow-underscores)
(math-to-underscores (symbol-name (nth 1 a)))
(symbol-name (nth 1 a))))))
(setq sn (math-to-underscores sn)))
sn)))
(defun math-compose-expr (a prec)
(let ((math-compose-level (1+ math-compose-level))
@ -805,6 +808,8 @@
(symbol-name func))
(math-match-substring (symbol-name func) 1)
(symbol-name func))))
(if (memq calc-language calc-lang-allow-percentsigns)
(setq func (math-to-percentsigns func)))
(if (memq calc-language calc-lang-allow-underscores)
(setq func (math-to-underscores func)))
(if (setq spfn (get calc-language 'math-func-formatter))
@ -939,6 +944,12 @@
(concat (math-match-substring x 1) "_" (math-match-substring x 2)))
x))
(defun math-to-percentsigns (x)
(if (string-match "\\`\\(.*\\)o'o\\(.*\\)\\'" x)
(math-to-underscores
(concat (math-match-substring x 1) "%" (math-match-substring x 2)))
x))
(defun math-tex-expr-is-flat (a)
(or (Math-integerp a)
(memq (car a) '(float var))

View file

@ -48,10 +48,6 @@
;; I hate history.
(eval-when-compile (require 'cl))
(eval-and-compile
(if (fboundp 'defgroup) nil
(defmacro defgroup (&rest forms) nil)
(defmacro defcustom (s v d &rest r) (list 'defvar s v d))))
;;;=====================================================================
;;; Customization:

View file

@ -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)

View file

@ -39,7 +39,7 @@
(gc-cons-threshold alloc integer)
(garbage-collection-messages alloc boolean)
;; buffer.c
(mode-line-format modeline sexp) ;Hard to do right.
(mode-line-format mode-line sexp) ;Hard to do right.
(default-major-mode internal function)
(enable-multibyte-characters mule boolean)
(case-fold-search matching boolean)
@ -367,8 +367,8 @@ since it could result in memory overflow and make Emacs crash."
(hscroll-margin windows integer "22.1")
(hscroll-step windows number "22.1")
(truncate-partial-width-windows display boolean)
(mode-line-inverse-video modeline boolean)
(mode-line-in-non-selected-windows modeline boolean "22.1")
(mode-line-inverse-video mode-line boolean)
(mode-line-in-non-selected-windows mode-line boolean "22.1")
(line-number-display-limit display
(choice integer
(const :tag "No limit" nil)))

View file

@ -114,35 +114,6 @@
(defvar x-pointer-top-left-arrow)
;;; Code:
;; From custom web page for compatibility between versions of custom
;; with help from ptype@dera.gov.uk (Proto Type)
(eval-and-compile
(condition-case ()
(require 'custom)
(error nil))
(if (and (featurep 'custom) (fboundp 'custom-declare-variable)
;; Some XEmacsen w/ custom don't have :set keyword.
;; This protects them against custom.
(fboundp 'custom-initialize-set))
nil ;; We've got what we needed
;; We have the old custom-library, hack around it!
(if (boundp 'defgroup)
nil
(defmacro defgroup (&rest args)
nil))
(if (boundp 'defface)
nil
(defmacro defface (var values doc &rest args)
;; To make colors for your faces you need to set your .Xdefaults
;; or set them up ahead of time in your .emacs file.
`(make-face ,var)
))
(if (boundp 'defcustom)
nil
(defmacro defcustom (var value doc &rest args)
`(defvar ,var ,value ,doc)))))
;;; Compatibility functions
;;

View file

@ -36,8 +36,9 @@
;;; Code:
;; We need macros in dired.el to compile properly.
(eval-when-compile (require 'dired))
;; We need macros in dired.el to compile properly,
;; and we call subroutines in it too.
(require 'dired)
(defvar dired-create-files-failures nil
"Variable where `dired-create-files' records failing file names.

View file

@ -958,6 +958,8 @@ toggle between displaying the document or editing it as text."
(set (make-local-variable 'cursor-type) nil)
(use-local-map doc-view-mode-map)
(set (make-local-variable 'after-revert-hook) 'doc-view-reconvert-doc)
(set (make-local-variable 'bookmark-make-cell-function)
'doc-view-bookmark-make-cell)
(setq mode-name "DocView"
buffer-read-only t
major-mode 'doc-view-mode)
@ -996,4 +998,32 @@ See the command `doc-view-mode' for more information on this mode."
;; End:
;; arch-tag: 5d6e5c5e-095f-489e-b4e4-1ca90a7d79be
;;;; Bookmark integration
(defun doc-view-bookmark-make-cell (annotation &rest args)
(let ((the-record
`((filename . ,(buffer-file-name))
(page . ,doc-view-current-page)
(handler . doc-view-bookmark-jump))))
;; Take no chances with text properties
(set-text-properties 0 (length annotation) nil annotation)
(when annotation
(nconc the-record (list (cons 'annotation annotation))))
;; Finally, return the completed record.
the-record))
;;;###autoload
(defun doc-view-bookmark-jump (bmk)
(save-window-excursion
(let ((filename (bookmark-get-filename bmk))
(page (cdr (assq 'page (bookmark-get-bookmark-record bmk)))))
(find-file filename)
(when (not (eq major-mode 'doc-view-mode))
(doc-view-toggle-display))
(doc-view-goto-page page)
(cons (current-buffer) 1))))
;;; doc-view.el ends here

View file

@ -175,21 +175,6 @@
(defvar checkdoc-version "0.6.1"
"Release version of checkdoc you are currently running.")
;; From custom web page for compatibility between versions of custom:
(eval-and-compile
(condition-case ()
(require 'custom)
(error nil))
(if (and (featurep 'custom) (fboundp 'custom-declare-variable))
nil ;; We've got what we needed
;; We have the old custom-library, hack around it!
(defmacro defgroup (&rest args)
nil)
(defmacro custom-add-option (&rest args)
nil)
(defmacro defcustom (var value doc &rest args)
`(defvar ,var ,value ,doc))))
(defvar compilation-error-regexp-alist)
(defvar compilation-mode-font-lock-keywords)

View file

@ -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")

View file

@ -228,13 +228,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))

View file

@ -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)
@ -633,7 +636,8 @@ Directories are separated by occurrences of `path-separator'
(error "%s is not a directory" dir)
(error "%s: no such directory" dir))
(if (file-executable-p dir)
(setq default-directory dir)
(setq default-directory dir
list-buffers-directory dir)
(error "Cannot cd to %s: Permission denied" dir))))
(defun cd (dir)
@ -1049,14 +1053,16 @@ documentation for additional customization information."
"Switch to buffer BUFFER in another frame.
Optional second arg NORECORD non-nil means
do not put this buffer at the front of the list of recently selected ones.
This function returns the buffer it switched to.
This uses the function `display-buffer' as a subroutine; see its
documentation for additional customization information."
(interactive "BSwitch to buffer in other frame: ")
(let ((pop-up-frames t)
same-window-buffer-names same-window-regexps)
(pop-to-buffer buffer t norecord)
(raise-frame (window-frame (selected-window)))))
(prog1
(pop-to-buffer buffer t norecord)
(raise-frame (window-frame (selected-window))))))
(defun display-buffer-other-frame (buffer)
"Switch to buffer BUFFER in another frame.
@ -2054,7 +2060,6 @@ ARC\\|ZIP\\|LZH\\|LHA\\|ZOO\\|[JEW]AR\\|XPI\\|RAR\\)\\'" . archive-mode)
("\\.dtd\\'" . sgml-mode)
("\\.ds\\(ss\\)?l\\'" . dsssl-mode)
("\\.js\\'" . java-mode) ; javascript-mode would be better
("\\.x[bp]m\\'" . c-mode)
("\\.d?v\\'" . verilog-mode)
;; .emacs or .gnus or .viper following a directory delimiter in
;; Unix, MSDOG or VMS syntax.
@ -2072,7 +2077,7 @@ ARC\\|ZIP\\|LZH\\|LHA\\|ZOO\\|[JEW]AR\\|XPI\\|RAR\\)\\'" . archive-mode)
("\\.\\(diffs?\\|patch\\|rej\\)\\'" . diff-mode)
("\\.\\(dif\\|pat\\)\\'" . diff-mode) ; for MSDOG
("\\.[eE]?[pP][sS]\\'" . ps-mode)
("\\.\\(?:PDF\\|DVI\\|pdf\\|dvi\\)" . doc-view-mode)
("\\.\\(?:PDF\\|DVI\\|pdf\\|dvi\\)\\'" . doc-view-mode)
("configure\\.\\(ac\\|in\\)\\'" . autoconf-mode)
("BROWSE\\'" . ebrowse-tree-mode)
("\\.ebrowse\\'" . ebrowse-tree-mode)
@ -2090,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;
@ -2137,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

View file

@ -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 "{}")

View file

@ -1524,6 +1524,8 @@ non-first windows in Follow mode."
;; If the region is visible, make it look good when spanning
;; multiple windows.
(if (or (and (boundp 'mark-active) (symbol-value 'mark-active))
;; The following isn't used in Emacs,
;; since `mark-active' is bound.
(and (fboundp 'region-active-p)
(funcall (symbol-function 'region-active-p))))
(follow-maximize-region

View file

@ -616,10 +616,11 @@ Major/minor modes can set this variable if they know which option applies.")
deactivate-mark
buffer-file-name
buffer-file-truename))
(progn
,@body)
(unless ,modified
(restore-buffer-modified-p nil)))))
(unwind-protect
(progn
,@body)
(unless ,modified
(restore-buffer-modified-p nil))))))
;;
;; Shut up the byte compiler.
(defvar font-lock-face-attributes)) ; Obsolete but respected if set.

View file

@ -1,3 +1,67 @@
2007-12-28 Reiner Steib <Reiner.Steib@gmx.de>
* message.el (message-send-mail-function): Increase custom version.
* mml-sec.el, sieve-manage.el, smime.el: Simplify loading of
password-cache or password. Suggested by Glenn Morris <rgm@gnu.org>.
2007-12-21 Teodor Zlatanov <tzz@lifelogs.com>
* imap.el (imap-authenticate): Use current-buffer instead of buffer,
for the cases where imap-authenticate is called with a nil buffer
parameter.
2007-12-19 Katsumi Yamaoka <yamaoka@jpl.org>
* gnus-art.el (gnus-article-browse-html-parts): Work for two or more
html parts correctly; support forwarded messages.
(gnus-article-browse-html-article): Remove work buffers.
* netrc.el: Bind encrypt-file-alist for Emacs 21 and XEmacs when
compiling.
(netrc-bound-and-true-p): New macro.
(netrc-parse): Use it instead of bound-and-true-p that is not available
in XEmacs 21.4.
2007-12-19 Teodor Zlatanov <tzz@lifelogs.com>
* gnus-registry.el (gnus-registry-mark-article)
(gnus-registry-article-marks): Add functionality to mark articles
through the Gnus registry.
* netrc.el: Autoload encrypt when encrypt-file-alist is set.
(netrc-parse): Use encrypt-file-alist to determine if
encrypt-find-model or encrypt-insert-file-contents should be used.
2007-12-19 Glenn Morris <rgm@gnu.org>
* mml.el (message-options-set, message-narrow-to-head)
(message-in-body-p, message-mail-p, message-encode-message-body):
Autoload.
(message-remove-header, message-narrow-to-headers-or-head)
(message-subscribed-p, message-make-mail-followup-to)
(message-position-on-field, message-news-p)
(message-options-set-recipient, message-generate-headers)
(message-sort-headers): Declare as functions.
2007-12-18 Reiner Steib <Reiner.Steib@gmx.de>
* gnus-draft.el (gnus-draft-send-message): Mention process/prefix
convention in doc string.
2007-12-17 Katsumi Yamaoka <yamaoka@jpl.org>
* gnus-art.el (gnus-article-browse-html-parts): Add message header and
title to html parts.
(gnus-article-browse-html-article): Pass message header to it.
* mm-decode.el (mm-display-external): Use mm-add-meta-html-tag.
2007-12-16 Reiner Steib <Reiner.Steib@gmx.de>
* mml-sec.el, sieve-manage.el, smime.el: Make loading of password-cache
or password compatible with XEmacs.
2007-12-15 Reiner Steib <Reiner.Steib@gmx.de>
* gnus-art.el (article-verify-x-pgp-sig): Add reference to X-PGP-Sig
@ -250,6 +314,12 @@
* message.el (message-ignored-supersedes-headers): Add "X-ID".
2007-12-03 Nathan J. Williams <nathanw@MIT.EDU> (tiny change)
* imap.el (imap-mailbox-status-asynch): Upcase STATUS items.
(imap-parse-status): Upcase status-att for servers that sends them
lower-case (e.g., MS Exchange 2007).
2007-12-03 Lars Magne Ingebrigtsen <larsi@gnus.org>
* gnus-sum.el (gnus-uu-extract-map): Add a command for the yenc

View file

@ -2798,9 +2798,10 @@ summary buffer."
(setq gnus-article-browse-html-temp-list nil))
gnus-article-browse-html-temp-list)
(defun gnus-article-browse-html-parts (list)
(defun gnus-article-browse-html-parts (list &optional header)
"View all \"text/html\" parts from LIST.
Recurse into multiparts."
Recurse into multiparts. The optional HEADER that should be a decoded
message header will be added to the bodies of the \"text/html\" parts."
;; Internal function used by `gnus-article-browse-html-article'.
(let (type file charset tmp-file showed)
;; Find and show the html-parts.
@ -2809,10 +2810,11 @@ Recurse into multiparts."
(cond ((not (listp handle)))
((or (equal (car (setq type (mm-handle-type handle))) "text/html")
(and (equal (car type) "message/external-body")
(setq file (or (mail-content-type-get type 'name)
(mail-content-type-get
(mm-handle-disposition handle)
'filename)))
(or header
(setq file (or (mail-content-type-get type 'name)
(mail-content-type-get
(mm-handle-disposition handle)
'filename))))
(or (mm-handle-cache handle)
(condition-case code
(progn (mm-extern-cache-contents handle) t)
@ -2825,24 +2827,111 @@ Recurse into multiparts."
type (mm-handle-type handle))
(equal (car type) "text/html"))))
(when (or (setq charset (mail-content-type-get type 'charset))
header
(not file))
(setq tmp-file (mm-make-temp-file
;; Do we need to care for 8.3 filenames?
"mm-" nil ".html")))
(if charset
;; Add a meta html tag to specify charset.
(mm-with-unibyte-buffer
(insert (if (eq charset 'gnus-decoded)
(mm-encode-coding-string (mm-get-part handle)
(setq charset 'utf-8))
(mm-get-part handle)))
(if (or (mm-add-meta-html-tag handle charset)
(not file))
(mm-write-region (point-min) (point-max)
tmp-file nil nil nil 'binary t)
(setq tmp-file nil)))
(when tmp-file
(mm-save-part-to-file handle tmp-file)))
;; Add a meta html tag to specify charset and a header.
(cond
(header
(let (title eheader body hcharset coding)
(with-temp-buffer
(mm-enable-multibyte)
(setq case-fold-search t)
(insert header "\n")
(setq title (message-fetch-field "subject"))
(goto-char (point-min))
(while (re-search-forward "\\(<\\)\\|\\(>\\)\\|&" nil t)
(replace-match (cond ((match-beginning 1) "&lt;")
((match-beginning 2) "&gt;")
(t "&amp;"))))
(goto-char (point-min))
(insert "<pre>\n")
(goto-char (point-max))
(insert "</pre>\n<hr>\n")
;; We have to examine charset one by one since
;; charset specified in parts might be different.
(if (eq charset 'gnus-decoded)
(setq charset 'utf-8
eheader (mm-encode-coding-string (buffer-string)
charset)
title (when title
(mm-encode-coding-string title charset))
body (mm-encode-coding-string (mm-get-part handle)
charset))
(setq hcharset (mm-find-mime-charset-region (point-min)
(point-max)))
(cond ((= (length hcharset) 1)
(setq hcharset (car hcharset)
coding (mm-charset-to-coding-system
hcharset)))
((> (length hcharset) 1)
(setq hcharset 'utf-8
coding hcharset)))
(if coding
(if charset
(progn
(setq body
(mm-charset-to-coding-system charset))
(if (eq coding body)
(setq eheader (mm-encode-coding-string
(buffer-string) coding)
title (when title
(mm-encode-coding-string
title coding))
body (mm-get-part handle))
(setq charset 'utf-8
eheader (mm-encode-coding-string
(buffer-string) charset)
title (when title
(mm-encode-coding-string
title charset))
body (mm-encode-coding-string
(mm-decode-coding-string
(mm-get-part handle) body)
charset))))
(setq charset hcharset
eheader (mm-encode-coding-string
(buffer-string) coding)
title (when title
(mm-encode-coding-string
title coding))
body (mm-get-part handle)))
(setq eheader (mm-string-as-unibyte (buffer-string))
body (mm-get-part handle))))
(erase-buffer)
(mm-disable-multibyte)
(insert body)
(when charset
(mm-add-meta-html-tag handle charset))
(when title
(goto-char (point-min))
(unless (search-forward "<title>" nil t)
(re-search-forward "<head>\\s-*" nil t)
(insert "<title>" title "</title>\n")))
(goto-char (point-min))
(or (re-search-forward
"<body\\(?:\\s-+[^>]+\\|\\s-*\\)>\\s-*" nil t)
(re-search-forward
"</head\\(?:\\s-+[^>]+\\|\\s-*\\)>\\s-*" nil t))
(insert eheader)
(mm-write-region (point-min) (point-max)
tmp-file nil nil nil 'binary t))))
(charset
(mm-with-unibyte-buffer
(insert (if (eq charset 'gnus-decoded)
(mm-encode-coding-string
(mm-get-part handle)
(setq charset 'utf-8))
(mm-get-part handle)))
(if (or (mm-add-meta-html-tag handle charset)
(not file))
(mm-write-region (point-min) (point-max)
tmp-file nil nil nil 'binary t)
(setq tmp-file nil))))
(tmp-file
(mm-save-part-to-file handle tmp-file)))
(when tmp-file
(add-to-list 'gnus-article-browse-html-temp-list tmp-file))
(add-hook 'gnus-summary-prepare-exit-hook
@ -2854,16 +2943,37 @@ Recurse into multiparts."
(browse-url-of-file (or tmp-file (expand-file-name file)))
(setq showed t))
;; If multipart, recurse
((and (stringp (car handle))
(string-match "^multipart/" (car handle))
(setq showed
(or showed
(gnus-article-browse-html-parts handle)))))))
((equal (mm-handle-media-supertype handle) "multipart")
(when (gnus-article-browse-html-parts handle header)
(setq showed t)))
((equal (mm-handle-media-type handle) "message/rfc822")
(mm-with-multibyte-buffer
(mm-insert-part handle)
(setq handle (mm-dissect-buffer t t))
(when (and (bufferp (car handle))
(stringp (car (mm-handle-type handle))))
(setq handle (list handle)))
(when header
(article-decode-encoded-words)
(let ((gnus-visible-headers
(or (get 'gnus-visible-headers 'standard-value)
gnus-visible-headers)))
(article-hide-headers))
(goto-char (point-min))
(search-forward "\n\n" nil 'move)
(skip-chars-backward "\t\n ")
(setq header (buffer-substring (point-min) (point)))))
(when (prog1
(gnus-article-browse-html-parts handle header)
(mm-destroy-parts handle))
(setq showed t)))))
showed))
;; FIXME: Documentation in texi/gnus.texi missing.
(defun gnus-article-browse-html-article ()
(defun gnus-article-browse-html-article (&optional arg)
"View \"text/html\" parts of the current article with a WWW browser.
The message header is added to the beginning of every html part unless
the prefix argument ARG is given.
Warning: Spammers use links to images in HTML articles to verify
whether you have read the message. As
@ -2874,20 +2984,36 @@ should only use it for mails from trusted senders.
If you alwasy want to display HTML part in the browser, set
`mm-text-html-renderer' to nil."
;; Cf. `mm-w3m-safe-url-regexp'
(interactive)
(save-window-excursion
;; Open raw article and select the buffer
(gnus-summary-show-article t)
(gnus-summary-select-article-buffer)
(let ((parts (mm-dissect-buffer t t)))
(interactive "P")
(if arg
(gnus-summary-show-article)
(let ((gnus-visible-headers (or (get 'gnus-visible-headers 'standard-value)
gnus-visible-headers)))
(gnus-summary-show-article)))
(with-current-buffer gnus-article-buffer
(let ((header (unless arg
(save-restriction
(widen)
(buffer-substring-no-properties
(goto-char (point-min))
(if (search-forward "\n\n" nil t)
(match-beginning 0)
(goto-char (point-max))
(skip-chars-backward "\t\n ")
(point))))))
parts)
(set-buffer gnus-original-article-buffer)
(setq parts (mm-dissect-buffer t t))
;; If singlepart, enforce a list.
(when (and (bufferp (car parts))
(stringp (car (mm-handle-type parts))))
(setq parts (list parts)))
;; Process the list
(unless (gnus-article-browse-html-parts parts)
(unless (gnus-article-browse-html-parts parts header)
(gnus-error 3 "Mail doesn't contain a \"text/html\" part!"))
(gnus-summary-show-article))))
(mm-destroy-parts parts)
(unless arg
(gnus-summary-show-article)))))
(defun article-hide-list-identifiers ()
"Remove list identifies from the Subject header.

View file

@ -119,7 +119,8 @@
message-send-actions)))
(defun gnus-draft-send-message (&optional n)
"Send the current draft."
"Send the current draft(s).
Obeys the standard process/prefix convention."
(interactive "P")
(let* ((articles (gnus-summary-work-articles n))
(total (length articles))

View file

@ -586,6 +586,54 @@ See the Info node `(gnus)Fancy Mail Splitting' for more details."
(string-match word x))
list)))))
(defun gnus-registry-mark-article (article &optional mark remove)
"Mark ARTICLE with MARK in the Gnus registry or remove MARK.
MARK can be any symbol. If ARTICLE is nil, then the
`gnus-current-article' will be marked. If MARK is nil,
`gnus-registry-flag-default' will be used."
(interactive "nArticle number: ")
(let ((article (or article gnus-current-article))
(mark (or mark 'gnus-registry-flag-default))
article-id)
(unless article
(error "No article on current line"))
(setq article-id
(gnus-registry-fetch-message-id-fast gnus-current-article))
(unless article-id
(error "No article ID could be retrieved"))
(let* (
;; all the marks for this article
(marks (gnus-registry-fetch-extra-flags article-id))
;; the marks without the mark of interest
(cleaned-marks (delq mark marks))
;; the new marks we want to use
(new-marks (if remove
cleaned-marks
(cons mark cleaned-marks))))
(apply 'gnus-registry-store-extra-flags ; set the extra flags
article-id ; for the message ID
new-marks)
(gnus-registry-fetch-extra-flags article-id))))
(defun gnus-registry-article-marks (article)
"Get the Gnus registry marks for ARTICLE.
If ARTICLE is nil, then the `gnus-current-article' will be
used."
(interactive "nArticle number: ")
(let ((article (or article gnus-current-article))
article-id)
(unless article
(error "No article on current line"))
(setq article-id
(gnus-registry-fetch-message-id-fast gnus-current-article))
(unless article-id
(error "No article ID could be retrieved"))
(gnus-message 1
"Message ID %s, Registry flags: %s"
article-id
(concat (gnus-registry-fetch-extra-flags article-id)))))
;;; if this extends to more than 'flags, it should be improved to be more generic.
(defun gnus-registry-fetch-extra-flags (id)
"Get the flags of a message, based on the message ID.

View file

@ -1563,7 +1563,9 @@ For example:
\"^From:\\\\|^Newsgroups:\\\\|^Subject:\\\\|^Date:\\\\|^To:\")))
")
;; Byte-compiler warning.
;; Byte-compiler warning. Specifically, this is responsible for:
;; "Warning: the following functions might not be defined at runtime:
;; gnus-build-sparse-threads, gnus-dead-summary-mode, gnus-summary-mark-below".
(eval-when-compile
;; Bind features so that require will believe that gnus-sum has
;; already been loaded (avoids infinite recursion)

View file

@ -666,6 +666,7 @@ See also `send-mail-function'."
:tag "Use Mailclient package")
(function :tag "Other"))
:group 'message-sending
:version "23.0" ;; No Gnus
:initialize 'custom-initialize-default
:link '(custom-manual "(message)Mail Variables")
:group 'message-mail)

View file

@ -751,6 +751,7 @@ external if displayed external."
(set-buffer (generate-new-buffer " *mm*"))
(setq method nil))
(mm-insert-part handle)
(mm-add-meta-html-tag handle)
(let ((win (get-buffer-window cur t)))
(when win
(select-window win)))
@ -774,6 +775,7 @@ external if displayed external."
(mm-handle-set-undisplayer handle mm)))))
;; The function is a string to be executed.
(mm-insert-part handle)
(mm-add-meta-html-tag handle)
(let* ((dir (mm-make-temp-file
(expand-file-name "emm." mm-tmp-directory) 'dir))
(filename (or

View file

@ -27,8 +27,10 @@
;;; Code:
(eval-when-compile (require 'cl))
(or (require 'password-cache nil t)
(require 'password))
(if (locate-library "password-cache")
(require 'password-cache)
(require 'password))
(autoload 'mml2015-sign "mml2015")
(autoload 'mml2015-encrypt "mml2015")

View file

@ -47,6 +47,11 @@
(autoload 'message-posting-charset "message")
(autoload 'dnd-get-local-file-name "dnd"))
(autoload 'message-options-set "message")
(autoload 'message-narrow-to-head "message")
(autoload 'message-in-body-p "message")
(autoload 'message-mail-p "message")
(defvar gnus-article-mime-handles)
(defvar gnus-mouse-2)
(defvar gnus-newsrc-hashtb)
@ -835,6 +840,10 @@ If MML is non-nil, return the buffer up till the correspondent mml tag."
;;; Transforming MIME to MML
;;;
;; message-narrow-to-head autoloads message.
(declare-function message-remove-header "message"
(header &optional is-regexp first reverse))
(defun mime-to-mml (&optional handles)
"Translate the current buffer (which should be a message) into MML.
If HANDLES is non-nil, use it instead reparsing the buffer."
@ -860,6 +869,9 @@ If HANDLES is non-nil, use it instead reparsing the buffer."
(message-remove-header "Content-Disposition")
(message-remove-header "Content-Transfer-Encoding")))
(autoload 'message-encode-message-body "message")
(declare-function message-narrow-to-headers-or-head "message" ())
(defun mml-to-mime ()
"Translate the current buffer from MML to MIME."
(message-encode-message-body)
@ -1307,6 +1319,11 @@ TYPE is the MIME type to use."
(mml-insert-tag 'part 'type type 'disposition "inline")
(forward-line -1))
(declare-function message-subscribed-p "message" ())
(declare-function message-make-mail-followup-to "message"
(&optional only-show-subscribed))
(declare-function message-position-on-field "message" (header &rest afters))
(defun mml-preview-insert-mail-followup-to ()
"Insert a Mail-Followup-To header before previewing an article.
Should be adopted if code in `message-send-mail' is changed."
@ -1324,6 +1341,11 @@ Should be adopted if code in `message-send-mail' is changed."
(declare-function widget-event-point "wid-edit" (event))
;; If gnus-buffer-configuration is bound this is loaded.
(declare-function gnus-configure-windows "gnus-win" (setting &optional force))
;; Called after message-mail-p, which autoloads message.
(declare-function message-news-p "message" ())
(declare-function message-options-set-recipient "message" ())
(declare-function message-generate-headers "message" (headers))
(declare-function message-sort-headers "message" ())
(defun mml-preview (&optional raw)
"Display current buffer with Gnus, in a new buffer.

View file

@ -79,8 +79,11 @@
;; For Emacs < 22.2.
(eval-and-compile
(unless (fboundp 'declare-function) (defmacro declare-function (&rest r))))
(or (require 'password-cache nil t)
(require 'password))
(if (locate-library "password-cache")
(require 'password-cache)
(require 'password))
(eval-when-compile
(require 'sasl)
(require 'starttls))

View file

@ -125,8 +125,11 @@
(eval-and-compile
(unless (fboundp 'declare-function) (defmacro declare-function (&rest r))))
(require 'dig)
(or (require 'password-cache nil t)
(require 'password))
(if (locate-library "password-cache")
(require 'password-cache)
(require 'password))
(eval-when-compile (require 'cl))
(eval-and-compile

View file

@ -219,6 +219,9 @@ to toggle between display as an image and display as text."
(kill-all-local-variables)
(setq mode-name "Image[text]")
(setq major-mode 'image-mode)
;; Use our own bookmarking function for images.
(set (make-local-variable 'bookmark-make-cell-function)
'image-bookmark-make-cell)
(add-hook 'change-major-mode-hook 'image-toggle-display-text nil t)
(if (and (display-images-p)
(not (get-char-property (point-min) 'display)))
@ -352,6 +355,37 @@ and showing the image as an image."
(if (called-interactively-p)
(message "Repeat this command to go back to displaying the file as text")))))
;;; Support for bookmark.el
(defun image-bookmark-make-cell (annotation &rest args)
(let ((the-record
`((filename . ,(buffer-file-name))
(image-type . ,image-type)
(position . ,(point))
(handler . image-bookmark-jump))))
;; Take no chances with text properties
(set-text-properties 0 (length annotation) nil annotation)
(when annotation
(nconc the-record (list (cons 'annotation annotation))))
;; Finally, return the completed record.
the-record))
;;;###autoload
(defun image-bookmark-jump (bmk)
(save-window-excursion
(let ((filename (bookmark-get-filename bmk))
(type (cdr (assq 'image-type (bookmark-get-bookmark-record bmk))))
(pos (bookmark-get-position bmk)))
(find-file filename)
(when (not (string= image-type type))
(image-toggle-display))
(when (string= image-type "text")
(goto-char pos))
(cons (current-buffer) pos))))
(provide 'image-mode)
;; arch-tag: b5b2b7e6-26a7-4b79-96e3-1546b5c4c6cb

View file

@ -82,14 +82,20 @@ special; we don't actually use them here."
Depending on `tab-always-indent', either insert a tab or indent.
If initial point was within line's indentation, position after
the indentation. Else stay at same point in text.
If `transient-mark-mode' is turned on the region is active,
indent the region.
If a prefix argument is given, also rigidly indent the entire
balanced expression which starts at the beginning the current
line to reflect the current line's change in indentation.
If `transient-mark-mode' is turned on and the region is active,
indent the region (in this case, any prefix argument is ignored).
The function actually called to indent the line is determined by the value of
`indent-line-function'."
(interactive "p")
(interactive "P")
(cond
;; The region is active, indent it.
((and arg transient-mark-mode mark-active
((and transient-mark-mode mark-active
(not (eq (region-beginning) (region-end))))
(indent-region (region-beginning) (region-end)))
((or ;; indent-to-left-margin is only meant for indenting,
@ -99,13 +105,27 @@ The function actually called to indent the line is determined by the value of
(or (> (current-column) (current-indentation))
(eq this-command last-command))))
(insert-tab arg))
;; Those functions are meant specifically for tabbing and not for
;; indenting, so we can't pass them to indent-according-to-mode.
((memq indent-line-function '(indent-relative indent-relative-maybe))
(funcall indent-line-function))
;; Indent the line.
(t
(indent-according-to-mode))))
(let ((end-marker
(and arg
(save-excursion
(forward-line 0) (forward-sexp) (point-marker))))
(old-indent
(current-indentation)))
;; Indent the line.
(funcall indent-line-function)
;; If a prefix argument was given, rigidly indent the following
;; sexp to match the change in the current line's indentation.
;;
(when arg
(let ((indentation-change (- (current-indentation) old-indent)))
(unless (zerop indentation-change)
(save-excursion
(forward-line 1)
(when (< (point) end-marker)
(indent-rigidly (point) end-marker indentation-change))))))))))
(defun insert-tab (&optional arg)
(let ((count (prefix-numeric-value arg)))

View file

@ -328,6 +328,14 @@ If optional argument QUERY is non-nil, query for the help mode."
(error "Not documented as a %s: %s" topic (or item ""))))
(modes (info-lookup->all-modes topic mode))
(window (selected-window))
(new-Info-history
;; Avoid clobbering Info-history with nodes searched during
;; lookup. If lookup succeeds set `Info-history' to
;; `new-Info-history'.
(when (get-buffer "*info*")
(with-current-buffer "*info*"
(cons (list Info-current-file Info-current-node (point))
Info-history))))
found doc-spec node prefix suffix doc-found)
(if (not (eq major-mode 'Info-mode))
(if (not info-lookup-other-window-flag)
@ -355,7 +363,8 @@ If optional argument QUERY is non-nil, query for the help mode."
(progn
;; Don't need Index menu fontifications here, and
;; they slow down the lookup.
(let (Info-fontify-maximum-menu-size)
(let (Info-fontify-maximum-menu-size
Info-history-list)
(Info-goto-node node)
(setq doc-found t)))
(error
@ -400,6 +409,8 @@ If optional argument QUERY is non-nil, query for the help mode."
(unless (or ignore-case
(string-equal item (car entry)))
(message "Found in different case: %s" (car entry)))
(when found
(setq Info-history new-Info-history))
(or doc-found
(error "Info documentation for lookup was not found"))
;; Don't leave the Info buffer if the help item couldn't be looked up.
@ -409,7 +420,8 @@ If optional argument QUERY is non-nil, query for the help mode."
(defun info-lookup-setup-mode (topic mode)
"Initialize the internal data structure."
(or (info-lookup->initialized topic mode)
(let (cell data (initialized 0) completions refer-modes)
(let ((initialized 0)
cell data completions refer-modes Info-history-list)
(if (not (info-lookup->mode-value topic mode))
(message "No %s help available for `%s'" topic mode)
;; Recursively setup cross references.
@ -444,7 +456,7 @@ If optional argument QUERY is non-nil, query for the help mode."
(let ((doc-spec (info-lookup->doc-spec topic mode))
(regexp (concat "^\\(" (info-lookup->regexp topic mode)
"\\)\\([ \t].*\\)?$"))
Info-fontify-maximum-menu-size
Info-history-list Info-fontify-maximum-menu-size
node trans entry item prefix result doc-found
(buffer (get-buffer-create " temp-info-look")))
(with-current-buffer buffer

View file

@ -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))))

View file

@ -946,6 +946,7 @@ It is highly recommended to fix it before writing to a file."
(let ((codings (find-coding-systems-region from to))
(coding-system nil)
(tick (if (not (stringp from)) (buffer-modified-tick)))
safe rejected unsafe)
(if (eq (car codings) 'undecided)
;; Any coding system is ok.
@ -1011,6 +1012,8 @@ It is highly recommended to fix it before writing to a file."
%s specified by file contents. Really save (else edit coding cookies \
and try again)? " coding-system auto-cs))
(error "Save aborted"))))
(when (and tick (/= tick (buffer-modified-tick)))
(error "Cancelled because the buffer was modified"))
coding-system)))
(setq select-safe-coding-system-function 'select-safe-coding-system)
@ -1302,7 +1305,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)

View file

@ -251,20 +251,6 @@
(require 'font-lock)
;; Set up the custom library.
;; taken from http://www.dina.kvl.dk/~abraham/custom/
(eval-and-compile
(condition-case ()
(require 'custom)
(error nil))
(if (and (featurep 'custom) (fboundp 'custom-declare-variable))
nil ;; We've got what we needed
;; We have the old custom-library, hack around it!
(defmacro defgroup (&rest args)
nil)
(defmacro defcustom (var value doc &rest args)
`(defvar ,var ,value ,doc))))
;;; User Variables
;;
;; These are some things you might want to change.

View file

@ -50,6 +50,26 @@
;;;; Subversion:
;; ------------------------------------------------------------------------
;; r4622 | ckuethe | 2007-12-23 18:18:01 -0500 (Sun, 23 Dec 2007) | 2 lines
;;
;; uBlox AEK-4T in binary mode. Added to unstable because it breaks gpsfake
;;
;; ------------------------------------------------------------------------
;; r4621 | ckuethe | 2007-12-23 16:48:11 -0500 (Sun, 23 Dec 2007) | 3 lines
;;
;; Add a note about requiring usbfs to use the garmin gps18 (usb)
;; Mention firmware testing the AC12 with firmware BQ00 and BQ04
;;
;; ------------------------------------------------------------------------
;; r4620 | ckuethe | 2007-12-23 15:52:34 -0500 (Sun, 23 Dec 2007) | 1 line
;;
;; add link to latest hardware reference
;; ------------------------------------------------------------------------
;; r4619 | ckuethe | 2007-12-23 14:37:31 -0500 (Sun, 23 Dec 2007) | 1 line
;;
;; there is now a regression test for AC12 without raw data output
;;;; Darcs:
;; Changes to darcsum.el:
@ -66,6 +86,24 @@
;; Add trailing-whitespace option to mode hook and fix
;; darcsum-display-changeset not to use trailing whitespace.
;;;; Mercurial
;; changeset: 11:8ff1a4166444
;; tag: tip
;; user: Eric S. Raymond <esr@thyrsus.com>
;; date: Wed Dec 26 12:18:58 2007 -0500
;; summary: Explain keywords. Add markup fixes.
;;
;; changeset: 10:20abc7ab09c3
;; user: Eric S. Raymond <esr@thyrsus.com>
;; date: Wed Dec 26 11:37:28 2007 -0500
;; summary: Typo fixes.
;;
;; changeset: 9:ada9f4da88aa
;; user: Eric S. Raymond <esr@thyrsus.com>
;; date: Wed Dec 26 11:23:00 2007 -0500
;; summary: Add RCS example session.
;;; Todo:
;; - add ability to modify a log-entry (via cvs-mode-admin ;-)
@ -90,7 +128,7 @@
'(("q" . quit-window)
("z" . kill-this-buffer)
("m" . log-view-toggle-mark-entry)
;; ("e" . cvs-mode-edit-log)
("e" . log-view-modify-change-comment)
("d" . log-view-diff)
("a" . log-view-annotate-version)
("f" . log-view-find-revision)
@ -265,7 +303,7 @@ log entries."
(if found
(delete-overlay found)
;; Create an overlay that covers this entry and change
;; it's color.
;; its color.
(setq tag (log-view-current-tag (point)))
(forward-line 1)
(setq end
@ -373,6 +411,31 @@ log entries."
(switch-to-buffer (vc-find-revision (log-view-current-file)
(log-view-current-tag)))))
(defun log-view-extract-comment ()
"Parse comment from around the current point in the log."
(save-excursion
(let (st en (backend (vc-backend (log-view-current-file))))
(log-view-end-of-defun)
(cond ((eq backend 'SVN)
(forward-line -1)))
(setq en (point))
(log-view-beginning-of-defun)
(cond ((memq backend '(SCCS RCS CVS MCVS SVN))
(forward-line 2))
((eq backend 'Hg)
(forward-line 4)
(re-search-forward "summary: *" nil t)))
(setq st (point))
(buffer-substring st en))))
(defun log-view-modify-change-comment ()
"Edit the change comment displayed at point."
(interactive)
(vc-modify-change-comment (list (log-view-current-file))
(log-view-current-tag)
(log-view-extract-comment)))
(defun log-view-annotate-version (pos)
"Annotate the version at point."
(interactive "d")

View file

@ -286,22 +286,6 @@
(defconst feedmail-patch-level "8")
;; from <URL:http://www.dina.kvl.dk/~abraham/custom/>:
;; If you write software that must work without the new custom, you
;; can use this hack stolen from w3-cus.el:
(eval-and-compile
(condition-case ()
(require 'custom)
(error nil))
(if (and (featurep 'custom) (fboundp 'custom-declare-variable))
nil ;; We've got what we needed
;; We have the old custom-library, hack around it!
(defmacro defgroup (&rest args)
nil)
(defmacro defcustom (var value doc &rest args)
`(defvar ,var ,value ,doc))))
(eval-when-compile (require 'smtpmail))
(autoload 'mail-do-fcc "sendmail")

View file

@ -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

View file

@ -647,26 +647,39 @@ a new value."
(defsubst Man-default-man-entry (&optional pos)
"Make a guess at a default manual entry based on the text at POS.
If POS is nil, the current point is used."
(let (word)
(let (word start original-pos distance)
(save-excursion
(if pos (goto-char pos))
;; Default man entry title is any word the cursor is on, or if
;; cursor not on a word, then nearest preceding word.
(skip-chars-backward "-a-zA-Z0-9._+:")
(let ((start (point)))
(skip-chars-forward "-a-zA-Z0-9._+:")
;; If there is a continuation at the end of line, check the
;; following line too, eg:
;; see this-
;; command-here(1)
(setq word (buffer-substring-no-properties start (point)))
(if (looking-at "[ \t\r\n]+\\([-a-zA-Z0-9._+:]+\\)([0-9])")
(setq word (concat word (match-string 1)))))
(if (string-match "[._]+$" word)
(setq word (substring word 0 (match-beginning 0))))
;; cursor not on a word, nearest preceding or next word-like
;; object on this line.
(if (not (zerop (skip-chars-backward "-a-zA-Z0-9._+:")))
(setq start (point))
(setq original-pos (point))
(setq distance (abs (skip-chars-backward ",; \t")))
(if (not (zerop (skip-chars-backward "-a-zA-Z0-9._+:")))
(progn
(setq start (point))
(goto-char original-pos)
(if (and (< (skip-chars-forward ",; \t") distance)
(looking-at "[-a-zA-Z0-9._+:]"))
(setq start (point))
(goto-char start)))
(skip-chars-forward ",; \t")
(setq start (point))))
(skip-chars-forward "-a-zA-Z0-9._+:")
(setq word (buffer-substring-no-properties start (point)))
;; If there is a continuation at the end of line, check the
;; following line too, eg:
;; see this-
;; command-here(1)
(when (looking-at "[ \t\r\n]+\\([-a-zA-Z0-9._+:]+\\)([0-9])")
(setq word (concat word (match-string-no-properties 1))))
(when (string-match "[._]+$" word)
(setq word (substring word 0 (match-beginning 0))))
;; If looking at something like *strcat(... , remove the '*'
(if (string-match "^*" word)
(setq word (substring word 1)))
(when (string-match "^*" word)
(setq word (substring word 1)))
;; If looking at something like ioctl(2) or brc(1M), include the
;; section number in the returned value. Remove text properties.
(concat word
@ -1367,25 +1380,32 @@ Specify which REFERENCE to use; default is based on word at point."
(interactive
(if (not Man-refpages-alist)
(error "There are no references in the current man page")
(list (let* ((default (or
(car (all-completions
(let ((word
(or (Man-possibly-hyphenated-word)
"")))
;; strip a trailing '-':
(if (string-match "-$" word)
(substring word 0
(match-beginning 0))
word))
Man-refpages-alist))
(aheadsym Man-refpages-alist)))
chosen
(prompt (concat "Refer to (default " default "): ")))
(setq chosen (completing-read prompt Man-refpages-alist))
(if (or (not chosen)
(string= chosen ""))
default
chosen)))))
(list
(let* ((default (or
(car (all-completions
(let ((word
(or (Man-possibly-hyphenated-word)
"")))
;; strip a trailing '-':
(if (string-match "-$" word)
(substring word 0
(match-beginning 0))
word))
Man-refpages-alist))
(aheadsym Man-refpages-alist)))
(defaults
(mapcar 'substring-no-properties
(delete-dups
(delq nil (cons default
(mapcar 'car Man-refpages-alist))))))
chosen
(prompt (concat "Refer to (default " default "): ")))
(setq chosen (completing-read prompt Man-refpages-alist
nil nil nil nil defaults))
(if (or (not chosen)
(string= chosen ""))
default
chosen)))))
(if (not Man-refpages-alist)
(error "Can't find any references in the current manpage")
(aput 'Man-refpages-alist reference)

View file

@ -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]

View file

@ -1358,6 +1358,20 @@ regardless of where you click."
(setq mouse-selection-click-count 0)
(yank arg))
(defun mouse-yank-primary (click)
"Insert the primary selection at the position clicked on.
Move point to the end of the inserted text.
If `mouse-yank-at-point' is non-nil, insert at point
regardless of where you click."
(interactive "e")
;; Give temporary modes such as isearch a chance to turn off.
(run-hooks 'mouse-leave-buffer-hook)
(or mouse-yank-at-point (mouse-set-point click))
(let ((primary (x-get-selection 'PRIMARY)))
(if primary
(insert (x-get-selection 'PRIMARY))
(error "No primary selection"))))
(defun mouse-kill-ring-save (click)
"Copy the region between point and the mouse click in the kill ring.
This does not delete the region; it acts like \\[kill-ring-save]."

View file

@ -79,21 +79,17 @@ owner of SERVICE, or the empty string if SERVICE looses any name owner."
'(lambda (key value)
(dolist (elt value)
;; key has the structure (BUS INTERFACE SIGNAL).
;; elt has the structure (SERVICE UNAME PATH HANDLER).
(when (string-equal old-owner (cadr elt))
;; elt has the structure (UNAME SERVICE PATH HANDLER).
(when (string-equal old-owner (car elt))
;; Remove old key, and add new entry with changed name.
(when dbus-debug (message "Remove rule for %s %s" key elt))
;(dbus-unregister-signal key)
(setcar (cdr elt) new-owner)
(when dbus-debug (message "Add rule for %s %s" key elt))
(dbus-unregister-signal (list key (cdr elt)))
;; Maybe we could arrange the lists a little bit better
;; that we don't need to extract every single element?
(when (not (zerop (length new-owner)))
(dbus-register-signal
;; BUS SERVICE PATH
(nth 0 key) (nth 0 elt) (nth 2 elt)
;; INTERFACE SIGNAL HANDLER
(nth 1 key) (nth 2 key) (nth 3 elt))))))
(dbus-register-signal
;; BUS SERVICE PATH
(nth 0 key) (nth 1 elt) (nth 2 elt)
;; INTERFACE SIGNAL HANDLER
(nth 1 key) (nth 2 key) (nth 3 elt)))))
(copy-hash-table dbus-registered-functions-table)))))
;; Register the handler.

View file

@ -1177,18 +1177,18 @@ password is remembered in the buffer."
(if passwd (setq imap-password passwd))
(if imap-auth
(and (funcall (nth 2 (assq imap-auth
imap-authenticator-alist)) buffer)
imap-authenticator-alist)) (current-buffer))
(setq imap-state 'auth))
;; Choose authenticator.
(let ((auths imap-authenticators)
auth)
(while (setq auth (pop auths))
;; OK to use authenticator?
(when (funcall (nth 1 (assq auth imap-authenticator-alist)) buffer)
(when (funcall (nth 1 (assq auth imap-authenticator-alist)) (current-buffer))
(message "imap: Authenticating to `%s' using `%s'..."
imap-server auth)
(setq imap-auth auth)
(if (funcall (nth 2 (assq auth imap-authenticator-alist)) buffer)
(if (funcall (nth 2 (assq auth imap-authenticator-alist)) (current-buffer))
(progn
(message "imap: Authenticating to `%s' using `%s'...done"
imap-server auth)

View file

@ -35,10 +35,22 @@
;;; .netrc and .authinfo rc parsing
;;;
;; use encrypt if loaded (encrypt-file-alist has to be set as well)
(eval-and-compile
(autoload 'encrypt-find-model "encrypt")
(autoload 'encrypt-insert-file-contents "encrypt"))
(defalias 'netrc-point-at-eol
(if (fboundp 'point-at-eol)
'point-at-eol
'line-end-position))
(eval-when-compile
(defvar encrypt-file-alist)
;; This is unnecessary in the compiled version as it is a macro.
(if (fboundp 'bound-and-true-p)
(defalias 'netrc-bound-and-true-p 'bound-and-true-p)
(defmacro netrc-bound-and-true-p (var)
"Return the value of symbol VAR if it is bound, else nil."
`(and (boundp (quote ,var)) ,var))))
(defgroup netrc nil
"Netrc configuration."
@ -55,8 +67,12 @@
(let ((tokens '("machine" "default" "login"
"password" "account" "macdef" "force"
"port"))
(encryption-model (when (netrc-bound-and-true-p encrypt-file-alist)
(encrypt-find-model file)))
alist elem result pair)
(insert-file-contents file)
(if encryption-model
(encrypt-insert-file-contents file encryption-model)
(insert-file-contents file))
(goto-char (point-min))
;; Go through the file, line by line.
(while (not (eobp))

View file

@ -90,14 +90,6 @@
(require 'pp)
(require 'browse-url)
;; Attempt to handle older/other emacs.
(eval-and-compile
;; If customize isn't available just use defvar instead.
(unless (fboundp 'defgroup)
(defmacro defgroup (&rest rest) nil)
(defmacro defcustom (symbol init docstring &rest rest)
`(defvar ,symbol ,init ,docstring))))
;; Customize options.
(defgroup quickurl nil

View file

@ -29,10 +29,13 @@
;;; Code:
(eval-and-compile
(eval-when-compile
;; Pacify byte-compiler.
(require 'cl)
(require 'cl))
(eval-and-compile
(require 'custom)
;; Load the appropriate timer package.

View file

@ -459,7 +459,7 @@ PRESERVE-UID-GID is completely ignored."
;; We just need the only and only entry FILENAME.
(list (assoc base entries)))))
;; Sort entries
;; Sort entries.
(setq entries
(sort
entries
@ -470,6 +470,18 @@ PRESERVE-UID-GID is completely ignored."
;; Sort by name.
(string-lessp (nth 0 x) (nth 0 y))))))
;; Handle "-F" switch.
(when (string-match "F" switches)
(mapcar
(lambda (x)
(when (not (zerop (length (car x))))
(cond
((char-equal ?d (string-to-char (nth 1 x)))
(setcar x (concat (car x) "/")))
((char-equal ?x (string-to-char (nth 1 x)))
(setcar x (concat (car x) "*"))))))
entries))
;; Print entries.
(mapcar
(lambda (x)

View file

@ -78,7 +78,7 @@
(when (featurep 'tramp-compat)
(unload-feature 'tramp-compat 'force))))
(require 'format-spec) ;from Gnus 5.8, also in tar ball
(require 'format-spec) ; from Gnus 5.8, also in tar ball
;; As long as password.el is not part of (X)Emacs, it shouldn't
;; be mandatory
(if (featurep 'xemacs)
@ -5365,11 +5365,14 @@ file exists and nonzero exit status otherwise."
;; as well.
(tramp-send-command
vec
(format "PROMPT_COMMAND=''; PS1='%s%s%s'; PS2=''; PS3=''"
(format "PS1='%s%s%s'"
tramp-rsh-end-of-line
tramp-end-of-output
tramp-rsh-end-of-line)
t)
(tramp-send-command vec "PS2=''" t)
(tramp-send-command vec "PS3=''" t)
(tramp-send-command vec "PROMPT_COMMAND=''" t)
(tramp-message vec 5 "Setting remote shell prompt...done"))
(t (tramp-message
vec 5 "Remote `%s' groks tilde expansion, good"
@ -5638,7 +5641,7 @@ process to set up. VEC specifies the connection."
(tramp-send-command
vec
(format
"exec env 'ENV=' 'PROMPT_COMMAND=' 'PS1=$ ' PS2='' PS3='' %s"
"exec env ENV='' PROMPT_COMMAND='' PS1='$ ' PS2='' PS3='' %s"
(tramp-get-method-parameter
(tramp-file-name-method vec) 'tramp-remote-sh))
t)
@ -5665,11 +5668,14 @@ process to set up. VEC specifies the connection."
;; regarded as prompt already.
(tramp-send-command
vec
(format "PROMPT_COMMAND=''; PS1='%s%s%s'; PS2=''; PS3=''"
(format "PS1='%s%s%s'"
tramp-rsh-end-of-line
tramp-end-of-output
tramp-rsh-end-of-line)
t)
(tramp-send-command vec "PS2=''" t)
(tramp-send-command vec "PS3=''" t)
(tramp-send-command vec "PROMPT_COMMAND=''" t)
;; Try to set up the coding system correctly.
;; CCC this can't be the right way to do it. Hm.
@ -7332,6 +7338,8 @@ Only works for Bourne-like shells."
;; * Reconnect directly to a compliant shell without first going
;; through the user's default shell. (Pete Forman)
;; * Make `tramp-default-user' obsolete.
;; * Tramp shall reconnect automatically to its ssh connection when it
;; detects that the process "has died". (David Reitter)
;; Functions for file-name-handler-alist:
;; diff-latest-backup-file -- in diff.el

View file

@ -30,14 +30,14 @@
;; "autoconf && ./configure" to change them. (X)Emacs version check is defined
;; in macro AC_EMACS_INFO of aclocal.m4; should be changed only there.
(defconst tramp-version "2.1.12-pre"
(defconst tramp-version "2.1.12"
"This version of Tramp.")
(defconst tramp-bug-report-address "tramp-devel@gnu.org"
"Email address to send bug reports to.")
;; Check for (X)Emacs version.
(let ((x (if (or (< emacs-major-version 21) (and (featurep 'xemacs) (< emacs-minor-version 4))) (format "Tramp 2.1.12-pre is not fit for %s" (when (string-match "^.*$" (emacs-version)) (match-string 0 (emacs-version)))) "ok")))
(let ((x (if (or (< emacs-major-version 21) (and (featurep 'xemacs) (< emacs-minor-version 4))) (format "Tramp 2.1.12 is not fit for %s" (when (string-match "^.*$" (emacs-version)) (match-string 0 (emacs-version)))) "ok")))
(unless (string-match "\\`ok\\'" x) (error "%s" x)))
(provide 'trampver)

View file

@ -1095,16 +1095,22 @@ The strings used as comment starts are built from
((< numarg 0) (uncomment-region beg end (- numarg)))
(t
(let ((multi-char (/= (string-match "[ \t]*\\'" comment-start) 1))
indent)
indent triple)
(if (eq (nth 3 style) 'multi-char)
(setq indent multi-char)
(save-excursion
(goto-char beg)
(setq indent multi-char
;; Triple if we will put the comment starter at the margin
;; and the first line of the region isn't indented
;; at least two spaces.
triple (and (not multi-char) (looking-at "\t\\| "))))
(setq indent (nth 3 style)))
;; In Lisp and similar modes with one-character comment starters,
;; double it by default if `comment-add' says so.
;; If it isn't indented, triple it.
(if (and (null arg) (not multi-char))
(setq numarg (* comment-add (if indent 1 2)))
(setq numarg (* comment-add (if triple 2 1)))
(setq numarg (1- (prefix-numeric-value arg))))
(comment-region-internal

View file

@ -52,10 +52,10 @@
:group 'languages
:group 'wp)
(defgroup nxml-highlighting-faces nil
(defgroup nxml-faces nil
"Faces for XML syntax highlighting."
:group 'nxml
:group 'font-lock-highlighting-faces)
:group 'font-lock-faces)
(defcustom nxml-syntax-highlight-flag t
"*Non-nil means nxml-mode should perform syntax highlighting."
@ -64,7 +64,7 @@
(defcustom nxml-char-ref-display-glyph-flag t
"*Non-nil means display glyph following character reference.
The glyph is displayed in `nxml-glyph-face'. The hook
The glyph is displayed in face `nxml-glyph'. The hook
`nxml-glyph-set-hook' can be used to customize for which characters
glyphs are displayed."
:group 'nxml
@ -147,229 +147,201 @@ The XML declaration is inserted using `nxml-insert-xml-declaration'."
:group 'nxml
:type 'boolean)
;; The following are the colors we use with a light background.
;; The two blues have the same hue but contrasting saturation/value.
;; The hue of the green is 120 degrees different from that of the
;; blue. The red used for highlighting errors is 120 degrees
;; different again. We use the light blue only for refs and
;; delimiters, since these are short (long stretches in a light color
;; would be too hard to read). The dark blue is closest to black
;; (which we use by default for text), so we use it for attribute
;; values, which are similar to text.
(defconst nxml-light-blue-color "#9292C9") ; hue 240
(defconst nxml-dark-blue-color "#3A3A7B") ; hue 240
(defconst nxml-green-color "#257A25") ; hue 120
;; Similar principles apply with a dark background. However,
;; we switch green and blue, because darker blues are very hard to
;; read (for me anyway) on a dark background.
(defconst nxml-sky-blue-color "#ACACFC") ; hue 240
(defconst nxml-dark-green-color "#00AD00") ; hue 120
(defconst nxml-light-green-color "#70F170") ; hue 120
(defface nxml-delimited-data-face
`((((class color) (background light)) (:foreground ,nxml-dark-blue-color))
(((class color) (background dark)) (:foreground ,nxml-light-green-color)))
(defface nxml-delimited-data
'((t (:inherit font-lock-doc-face)))
"Face used to highlight data enclosed between delimiters.
By default, this is inherited by `nxml-attribute-value-face'
and `nxml-processing-instruction-content-face'."
:group 'nxml-highlighting-faces)
This is not used directly, but only via inheritance by other faces."
:group 'nxml-faces)
(defface nxml-name-face
`((((class color) (background light)) (:foreground ,nxml-green-color))
(((class color) (background dark)) (:foreground ,nxml-sky-blue-color)))
(defface nxml-name
'((t (:inherit font-lock-builtin-face)))
"Face used to highlight various names.
This includes element and attribute names, processing
instruction targets and the CDATA keyword in a CDATA section.
This is not used directly, but only via inheritance by other faces."
:group 'nxml-highlighting-faces)
:group 'nxml-faces)
(defface nxml-ref-face
`((((class color) (background light)) (:foreground ,nxml-light-blue-color))
(((class color) (background dark)) (:foreground ,nxml-dark-green-color)))
(defface nxml-ref
'((t (:inherit font-lock-constant-face)))
"Face used to highlight character and entity references.
This is not used directly, but only via inheritance by other faces."
:group 'nxml-highlighting-faces)
:group 'nxml-faces)
(defface nxml-delimiter-face
`((((class color) (background light)) (:foreground ,nxml-light-blue-color))
(((class color) (background dark)) (:foreground ,nxml-dark-green-color))
(t (:bold t)))
(defface nxml-delimiter
nil
"Face used to highlight delimiters.
This is not used directly, but only via inheritance by other faces."
:group 'nxml-highlighting-faces)
:group 'nxml-faces)
(defface nxml-text-face
(defface nxml-text
nil
"Face used to highlight text."
:group 'nxml-highlighting-faces)
:group 'nxml-faces)
(defface nxml-comment-content-face
'((t (:italic t)))
(defface nxml-comment-content
'((t (:inherit font-lock-comment-face)))
"Face used to highlight the content of comments."
:group 'nxml-highlighting-faces)
:group 'nxml-faces)
(defface nxml-comment-delimiter-face
'((t (:inherit nxml-delimiter-face)))
(defface nxml-comment-delimiter
'((t (:inherit font-lock-comment-delimiter-face)))
"Face used for the delimiters of comments, i.e <!-- and -->."
:group 'nxml-highlighting-faces)
:group 'nxml-faces)
(defface nxml-processing-instruction-delimiter-face
'((t (:inherit nxml-delimiter-face)))
(defface nxml-processing-instruction-delimiter
'((t (:inherit nxml-delimiter)))
"Face used for the delimiters of processing instructions, i.e <? and ?>."
:group 'nxml-highlighting-faces)
:group 'nxml-faces)
(defface nxml-processing-instruction-target-face
'((t (:inherit nxml-name-face)))
(defface nxml-processing-instruction-target
'((t (:inherit font-lock-keyword-face)))
"Face used for the target of processing instructions."
:group 'nxml-highlighting-faces)
:group 'nxml-faces)
(defface nxml-processing-instruction-content-face
'((t (:inherit nxml-delimited-data-face)))
(defface nxml-processing-instruction-content
'((t (:inherit nxml-delimited-data)))
"Face used for the content of processing instructions."
:group 'nxml-highlighting-faces)
:group 'nxml-faces)
(defface nxml-cdata-section-delimiter-face
'((t (:inherit nxml-delimiter-face)))
(defface nxml-cdata-section-delimiter
'((t (:inherit nxml-delimiter)))
"Face used for the delimiters of CDATA sections, i.e <![, [, and ]]>."
:group 'nxml-highlighting-faces)
:group 'nxml-faces)
(defface nxml-cdata-section-CDATA-face
'((t (:inherit nxml-name-face)))
(defface nxml-cdata-section-CDATA
'((t (:inherit nxml-name)))
"Face used for the CDATA keyword in CDATA sections."
:group 'nxml-highlighting-faces)
:group 'nxml-faces)
(defface nxml-cdata-section-content-face
'((t (:inherit nxml-text-face)))
(defface nxml-cdata-section-content
'((t (:inherit nxml-text)))
"Face used for the content of CDATA sections."
:group 'nxml-highlighting-faces)
:group 'nxml-faces)
(defface nxml-char-ref-number-face
'((t (:inherit nxml-ref-face)))
(defface nxml-char-ref-number
'((t (:inherit nxml-ref)))
"Face used for the number in character references.
This includes ths `x' in hex references."
:group 'nxml-highlighting-faces)
:group 'nxml-faces)
(defface nxml-char-ref-delimiter-face
'((t (:inherit nxml-ref-face)))
(defface nxml-char-ref-delimiter
'((t (:inherit nxml-ref)))
"Face used for the delimiters of character references, i.e &# and ;."
:group 'nxml-highlighting-faces)
:group 'nxml-faces)
(defface nxml-entity-ref-name-face
'((t (:inherit nxml-ref-face)))
(defface nxml-entity-ref-name
'((t (:inherit nxml-ref)))
"Face used for the entity name in general entity references."
:group 'nxml-highlighting-faces)
:group 'nxml-faces)
(defface nxml-entity-ref-delimiter-face
'((t (:inherit nxml-ref-face)))
(defface nxml-entity-ref-delimiter
'((t (:inherit nxml-ref)))
"Face used for the delimiters of entity references, i.e & and ;."
:group 'nxml-highlighting-faces)
:group 'nxml-faces)
(defface nxml-tag-delimiter-face
'((t (:inherit nxml-delimiter-face)))
(defface nxml-tag-delimiter
'((t (:inherit nxml-delimiter)))
"Face used for the angle brackets delimiting tags.
`nxml-tag-slash-face' is used for slashes."
:group 'nxml-highlighting-faces)
`nxml-tag-slash' is used for slashes."
:group 'nxml-faces)
(defface nxml-tag-slash-face
'((t (:inherit nxml-name-face)))
(defface nxml-tag-slash
'((t (:inherit nxml-tag-delimiter)))
"Face used for slashes in tags, both in end-tags and empty-elements."
:group 'nxml-highlighting-faces)
:group 'nxml-faces)
(defface nxml-element-prefix-face
'((t (:inherit nxml-name-face)))
(defface nxml-element-prefix
'((t (:inherit nxml-name)))
"Face used for the prefix of elements."
:group 'nxml-highlighting-faces)
:group 'nxml-faces)
(defface nxml-element-colon-face
'((t (:inherit nxml-name-face)))
(defface nxml-element-colon
nil
"Face used for the colon in element names."
:group 'nxml-highlighting-faces)
:group 'nxml-faces)
(defface nxml-element-local-name-face
'((t (:inherit nxml-name-face)))
(defface nxml-element-local-name
'((t (:inherit font-lock-function-name-face)))
"Face used for the local name of elements."
:group 'nxml-highlighting-faces)
:group 'nxml-faces)
(defface nxml-attribute-prefix-face
'((t (:inherit nxml-name-face)))
(defface nxml-attribute-prefix
'((t (:inherit nxml-name)))
"Face used for the prefix of attributes."
:group 'nxml-highlighting-faces)
:group 'nxml-faces)
(defface nxml-attribute-colon-face
'((t (:inherit nxml-name-face)))
(defface nxml-attribute-colon
'((t (:inherit nxml-delimiter)))
"Face used for the colon in attribute names."
:group 'nxml-highlighting-faces)
:group 'nxml-faces)
(defface nxml-attribute-local-name-face
'((t (:inherit nxml-name-face)))
(defface nxml-attribute-local-name
'((t (:inherit font-lock-variable-name-face)))
"Face used for the local name of attributes."
:group 'nxml-highlighting-faces)
:group 'nxml-faces)
(defface nxml-namespace-attribute-xmlns-face
'((t (:inherit nxml-name-face)))
(defface nxml-namespace-attribute-xmlns
'((t (:inherit nxml-attribute-prefix)))
"Face used for `xmlns' in namespace attributes."
:group 'nxml-highlighting-faces)
:group 'nxml-faces)
(defface nxml-namespace-attribute-colon-face
'((t (:inherit nxml-name-face)))
(defface nxml-namespace-attribute-colon
'((t (:inherit nxml-attribute-colon)))
"Face used for the colon in namespace attributes."
:group 'nxml-highlighting-faces)
:group 'nxml-faces)
(defface nxml-namespace-attribute-prefix-face
'((t (:inherit nxml-name-face)))
(defface nxml-namespace-attribute-prefix
'((t (:inherit nxml-attribute-local-name)))
"Face used for the prefix declared in namespace attributes."
:group 'nxml-highlighting-faces)
:group 'nxml-faces)
(defface nxml-attribute-value-face
'((t (:inherit nxml-delimited-data-face)))
(defface nxml-attribute-value
'((t (:inherit font-lock-string-face)))
"Face used for the value of attributes."
:group 'nxml-highlighting-faces)
:group 'nxml-faces)
(defface nxml-attribute-value-delimiter-face
'((t (:inherit nxml-delimiter-face)))
(defface nxml-attribute-value-delimiter
'((t (:inherit nxml-attribute-value)))
"Face used for the delimiters of attribute values."
:group 'nxml-highlighting-faces)
:group 'nxml-faces)
(defface nxml-namespace-attribute-value-face
'((t (:inherit nxml-attribute-value-face)))
(defface nxml-namespace-attribute-value
'((t (:inherit nxml-attribute-value)))
"Face used for the value of namespace attributes."
:group 'nxml-highlighting-faces)
:group 'nxml-faces)
(defface nxml-namespace-attribute-value-delimiter-face
'((t (:inherit nxml-attribute-value-delimiter-face)))
(defface nxml-namespace-attribute-value-delimiter
'((t (:inherit nxml-attribute-value-delimiter)))
"Face used for the delimiters of namespace attribute values."
:group 'nxml-highlighting-faces)
:group 'nxml-faces)
(defface nxml-prolog-literal-delimiter-face
'((t (:inherit nxml-delimiter-face)))
(defface nxml-prolog-literal-delimiter
'((t (:inherit nxml-delimited-data)))
"Face used for the delimiters of literals in the prolog."
:group 'nxml-highlighting-faces)
:group 'nxml-faces)
(defface nxml-prolog-literal-content-face
'((t (:inherit nxml-delimited-data-face)))
(defface nxml-prolog-literal-content
'((t (:inherit nxml-delimited-data)))
"Face used for the content of literals in the prolog."
:group 'nxml-highlighting-faces)
:group 'nxml-faces)
(defface nxml-prolog-keyword-face
'((t (:inherit nxml-name-face)))
(defface nxml-prolog-keyword
'((t (:inherit font-lock-keyword-face)))
"Face used for keywords in the prolog."
:group 'nxml-highlighting-faces)
:group 'nxml-faces)
(defface nxml-markup-declaration-delimiter-face
'((t (:inherit nxml-delimiter-face)))
(defface nxml-markup-declaration-delimiter
'((t (:inherit nxml-delimiter)))
"Face used for the delimiters of markup declarations in the prolog.
The delimiters are <! and >."
:group 'nxml-highlighting-faces)
:group 'nxml-faces)
(defface nxml-hash-face
'((t (:inherit nxml-name-face)))
(defface nxml-hash
'((t (:inherit nxml-name)))
"Face used for # before a name in the prolog."
:group 'nxml-highlighting-faces)
:group 'nxml-faces)
(defface nxml-glyph-face
(defface nxml-glyph
'((((type x))
(:family
"misc-fixed"
@ -391,14 +363,10 @@ The delimiters are <! and >."
:slant
normal)))
"Face used for glyph for char references."
:group 'nxml-highlighting-faces)
:group 'nxml-faces)
;;; Global variables
;; This is initialized in rng-auto.el.
(defvar nxml-version nil
"*The version of nxml-mode that is being used.")
(defvar nxml-prolog-regions nil
"List of regions in the prolog to be fontified.
See the function `xmltok-forward-prolog' for more information.")
@ -941,142 +909,142 @@ Leave point after last fontified position."
(put 'start-tag
'nxml-fontify-rule
'([nil 1 nxml-tag-delimiter-face]
[-1 nil nxml-tag-delimiter-face]
'([nil 1 nxml-tag-delimiter]
[-1 nil nxml-tag-delimiter]
(element-qname . 1)
attributes))
(put 'partial-start-tag
'nxml-fontify-rule
'([nil 1 nxml-tag-delimiter-face]
'([nil 1 nxml-tag-delimiter]
(element-qname . 1)
attributes))
(put 'end-tag
'nxml-fontify-rule
'([nil 1 nxml-tag-delimiter-face]
[1 2 nxml-tag-slash-face]
[-1 nil nxml-tag-delimiter-face]
'([nil 1 nxml-tag-delimiter]
[1 2 nxml-tag-slash]
[-1 nil nxml-tag-delimiter]
(element-qname . 2)))
(put 'partial-end-tag
'nxml-fontify-rule
'([nil 1 nxml-tag-delimiter-face]
[1 2 nxml-tag-slash-face]
'([nil 1 nxml-tag-delimiter]
[1 2 nxml-tag-slash]
(element-qname . 2)))
(put 'empty-element
'nxml-fontify-rule
'([nil 1 nxml-tag-delimiter-face]
[-2 -1 nxml-tag-slash-face]
[-1 nil nxml-tag-delimiter-face]
'([nil 1 nxml-tag-delimiter]
[-2 -1 nxml-tag-slash]
[-1 nil nxml-tag-delimiter]
(element-qname . 1)
attributes))
(put 'partial-empty-element
'nxml-fontify-rule
'([nil 1 nxml-tag-delimiter-face]
[-1 nil nxml-tag-slash-face]
'([nil 1 nxml-tag-delimiter]
[-1 nil nxml-tag-slash]
(element-qname . 1)
attributes))
(put 'char-ref
'nxml-fontify-rule
'([nil 2 nxml-char-ref-delimiter-face]
[2 -1 nxml-char-ref-number-face]
[-1 nil nxml-char-ref-delimiter-face]
'([nil 2 nxml-char-ref-delimiter]
[2 -1 nxml-char-ref-number]
[-1 nil nxml-char-ref-delimiter]
char-ref))
(put 'entity-ref
'nxml-fontify-rule
'([nil 1 nxml-entity-ref-delimiter-face]
[1 -1 nxml-entity-ref-name-face]
[-1 nil nxml-entity-ref-delimiter-face]))
'([nil 1 nxml-entity-ref-delimiter]
[1 -1 nxml-entity-ref-name]
[-1 nil nxml-entity-ref-delimiter]))
(put 'comment
'nxml-fontify-rule
'([nil 4 nxml-comment-delimiter-face]
[4 -3 nxml-comment-content-face]
[-3 nil nxml-comment-delimiter-face]))
'([nil 4 nxml-comment-delimiter]
[4 -3 nxml-comment-content]
[-3 nil nxml-comment-delimiter]))
(put 'processing-instruction
'nxml-fontify-rule
'([nil 2 nxml-processing-instruction-delimiter-face]
[-2 nil nxml-processing-instruction-delimiter-face]
'([nil 2 nxml-processing-instruction-delimiter]
[-2 nil nxml-processing-instruction-delimiter]
processing-instruction-content))
(put 'cdata-section
'nxml-fontify-rule
'([nil 3 nxml-cdata-section-delimiter-face] ; <![
[3 8 nxml-cdata-section-CDATA-face] ; CDATA
[8 9 nxml-cdata-section-delimiter-face] ; [
[9 -3 nxml-cdata-section-content-face] ; ]]>
[-3 nil nxml-cdata-section-delimiter-face]))
'([nil 3 nxml-cdata-section-delimiter] ; <![
[3 8 nxml-cdata-section-CDATA] ; CDATA
[8 9 nxml-cdata-section-delimiter] ; [
[9 -3 nxml-cdata-section-content] ; ]]>
[-3 nil nxml-cdata-section-delimiter]))
(put 'data
'nxml-fontify-rule
'([nil nil nxml-text-face]))
'([nil nil nxml-text]))
;; Prolog region types in list returned by xmltok-forward-prolog.
(put 'xml-declaration
'nxml-fontify-rule
'([nil 2 nxml-processing-instruction-delimiter-face]
[2 5 nxml-processing-instruction-target-face]
[-2 nil nxml-processing-instruction-delimiter-face]))
'([nil 2 nxml-processing-instruction-delimiter]
[2 5 nxml-processing-instruction-target]
[-2 nil nxml-processing-instruction-delimiter]))
(put 'xml-declaration-attribute-name
'nxml-fontify-rule
'([nil nil nxml-attribute-local-name-face]))
'([nil nil nxml-attribute-local-name]))
(put 'xml-declaration-attribute-value
'nxml-fontify-rule
'([nil 1 nxml-attribute-value-delimiter-face]
[1 -1 nxml-attribute-value-face]
[-1 nil nxml-attribute-value-delimiter-face]))
'([nil 1 nxml-attribute-value-delimiter]
[1 -1 nxml-attribute-value]
[-1 nil nxml-attribute-value-delimiter]))
(put 'processing-instruction-left
'nxml-fontify-rule
'([nil 2 nxml-processing-instruction-delimiter-face]
[2 nil nxml-processing-instruction-target-face]))
'([nil 2 nxml-processing-instruction-delimiter]
[2 nil nxml-processing-instruction-target]))
(put 'processing-instruction-right
'nxml-fontify-rule
'([nil -2 nxml-processing-instruction-content-face]
[-2 nil nxml-processing-instruction-delimiter-face]))
'([nil -2 nxml-processing-instruction-content]
[-2 nil nxml-processing-instruction-delimiter]))
(put 'literal
'nxml-fontify-rule
'([nil 1 nxml-prolog-literal-delimiter-face]
[1 -1 nxml-prolog-literal-content-face]
[-1 nil nxml-prolog-literal-delimiter-face]))
'([nil 1 nxml-prolog-literal-delimiter]
[1 -1 nxml-prolog-literal-content]
[-1 nil nxml-prolog-literal-delimiter]))
(put 'keyword
'nxml-fontify-rule
'([nil nil nxml-prolog-keyword-face]))
'([nil nil nxml-prolog-keyword]))
(put 'markup-declaration-open
'nxml-fontify-rule
'([0 2 nxml-markup-declaration-delimiter-face]
[2 nil nxml-prolog-keyword-face]))
'([0 2 nxml-markup-declaration-delimiter]
[2 nil nxml-prolog-keyword]))
(put 'markup-declaration-close
'nxml-fontify-rule
'([nil nil nxml-markup-declaration-delimiter-face]))
'([nil nil nxml-markup-declaration-delimiter]))
(put 'internal-subset-open
'nxml-fontify-rule
'([nil nil nxml-markup-declaration-delimiter-face]))
'([nil nil nxml-markup-declaration-delimiter]))
(put 'internal-subset-close
'nxml-fontify-rule
'([nil 1 nxml-markup-declaration-delimiter-face]
[-1 nil nxml-markup-declaration-delimiter-face]))
'([nil 1 nxml-markup-declaration-delimiter]
[-1 nil nxml-markup-declaration-delimiter]))
(put 'hash-name
'nxml-fontify-rule
'([nil 1 nxml-hash-face]
[1 nil nxml-prolog-keyword-face]))
'([nil 1 nxml-hash]
[1 nil nxml-prolog-keyword]))
(defun nxml-apply-fontify-rule (&optional type start end)
(let ((rule (get (or type xmltok-type) 'nxml-fontify-rule)))
@ -1101,21 +1069,21 @@ Leave point after last fontified position."
(nxml-fontify-qname (+ start (cdr action))
xmltok-name-colon
xmltok-name-end
'nxml-element-prefix-face
'nxml-element-colon-face
'nxml-element-local-name-face)))
'nxml-element-prefix
'nxml-element-colon
'nxml-element-local-name)))
((eq action 'attributes)
(nxml-fontify-attributes))
((eq action 'processing-instruction-content)
(nxml-set-face (+ start 2)
xmltok-name-end
'nxml-processing-instruction-target-face)
'nxml-processing-instruction-target)
(nxml-set-face (save-excursion
(goto-char xmltok-name-end)
(skip-chars-forward " \t\r\n")
(point))
(- end 2)
'nxml-processing-instruction-content-face))
'nxml-processing-instruction-content))
((eq action 'char-ref)
(nxml-char-ref-display-extra start
end
@ -1138,25 +1106,25 @@ Leave point after last fontified position."
(nxml-fontify-qname (xmltok-attribute-name-start att)
(xmltok-attribute-name-colon att)
(xmltok-attribute-name-end att)
'nxml-namespace-attribute-xmlns-face
'nxml-namespace-attribute-colon-face
'nxml-namespace-attribute-prefix-face
'nxml-namespace-attribute-xmlns-face)
'nxml-namespace-attribute-xmlns
'nxml-namespace-attribute-colon
'nxml-namespace-attribute-prefix
'nxml-namespace-attribute-xmlns)
(nxml-fontify-qname (xmltok-attribute-name-start att)
(xmltok-attribute-name-colon att)
(xmltok-attribute-name-end att)
'nxml-attribute-prefix-face
'nxml-attribute-colon-face
'nxml-attribute-local-name-face))
'nxml-attribute-prefix
'nxml-attribute-colon
'nxml-attribute-local-name))
(let ((start (xmltok-attribute-value-start att))
(end (xmltok-attribute-value-end att))
(refs (xmltok-attribute-refs att))
(delimiter-face (if namespace-declaration
'nxml-namespace-attribute-value-delimiter-face
'nxml-attribute-value-delimiter-face))
'nxml-namespace-attribute-value-delimiter
'nxml-attribute-value-delimiter))
(value-face (if namespace-declaration
'nxml-namespace-attribute-value-face
'nxml-attribute-value-face)))
'nxml-namespace-attribute-value
'nxml-attribute-value)))
(when start
(nxml-set-face (1- start) start delimiter-face)
(nxml-set-face end (1+ end) delimiter-face)
@ -2598,7 +2566,7 @@ With a prefix argument, inserts the character directly."
(when nxml-char-ref-extra-display
(let ((name (nxml-get-char-name n))
(glyph-string (and nxml-char-ref-display-glyph-flag
(nxml-glyph-display-string n 'nxml-glyph-face)))
(nxml-glyph-display-string n 'nxml-glyph)))
ov)
(when (or name glyph-string)
(setq ov (make-overlay start end nil t))
@ -2608,7 +2576,7 @@ With a prefix argument, inserts the character directly."
(when glyph-string
(overlay-put ov
'after-string
(propertize glyph-string 'face 'nxml-glyph-face)))))))
(propertize glyph-string 'face 'nxml-glyph)))))))
(defun nxml-clear-char-ref-extra-display (start end)
(let ((ov (overlays-in start end)))
@ -2617,15 +2585,6 @@ With a prefix argument, inserts the character directly."
(delete-overlay (car ov)))
(setq ov (cdr ov)))))
;;; Versioning
(defun nxml-version ()
"Show the version of nXML mode that is being used."
(interactive)
(if nxml-version
(message "nXML mode version %s" nxml-version)
(message "nXML mode version unknown")))
(defun nxml-start-delimiter-length (type)
(or (get type 'nxml-start-delimiter-length)

View file

@ -111,25 +111,25 @@ See the variable `nxml-section-element-name-regexp' for more details."
:group 'nxml
:type 'integer)
(defface nxml-heading-face
(defface nxml-heading
'((t (:weight bold)))
"Face used for the contents of abbreviated heading elements."
:group 'nxml-highlighting-faces)
:group 'nxml-faces)
(defface nxml-outline-indicator-face
(defface nxml-outline-indicator
'((t (:inherit default)))
"Face used for `+' or `-' before element names in outlines."
:group 'nxml-highlighting-faces)
:group 'nxml-faces)
(defface nxml-outline-active-indicator-face
'((t (:box t :inherit nxml-outline-indicator-face)))
(defface nxml-outline-active-indicator
'((t (:box t :inherit nxml-outline-indicator)))
"Face used for clickable `+' or `-' before element names in outlines."
:group 'nxml-highlighting-faces)
:group 'nxml-faces)
(defface nxml-outline-ellipsis-face
(defface nxml-outline-ellipsis
'((t (:bold t :inherit default)))
"Face used for `...' in outlines."
:group 'nxml-highlighting-faces)
:group 'nxml-faces)
(defvar nxml-heading-scan-distance 1000
"Maximum distance from section to scan for heading.")
@ -514,19 +514,19 @@ non-transparent child section."
had-children))
(defconst nxml-highlighted-less-than
(propertize "<" 'face 'nxml-tag-delimiter-face))
(propertize "<" 'face 'nxml-tag-delimiter))
(defconst nxml-highlighted-greater-than
(propertize ">" 'face 'nxml-tag-delimiter-face))
(propertize ">" 'face 'nxml-tag-delimiter))
(defconst nxml-highlighted-colon
(propertize ":" 'face 'nxml-element-colon-face))
(propertize ":" 'face 'nxml-element-colon))
(defconst nxml-highlighted-slash
(propertize "/" 'face 'nxml-tag-slash-face))
(propertize "/" 'face 'nxml-tag-slash))
(defconst nxml-highlighted-ellipsis
(propertize "..." 'face 'nxml-outline-ellipsis-face))
(propertize "..." 'face 'nxml-outline-ellipsis))
(defconst nxml-highlighted-empty-end-tag
(concat nxml-highlighted-ellipsis
@ -535,13 +535,13 @@ non-transparent child section."
nxml-highlighted-greater-than))
(defconst nxml-highlighted-inactive-minus
(propertize "-" 'face 'nxml-outline-indicator-face))
(propertize "-" 'face 'nxml-outline-indicator))
(defconst nxml-highlighted-active-minus
(propertize "-" 'face 'nxml-outline-active-indicator-face))
(propertize "-" 'face 'nxml-outline-active-indicator))
(defconst nxml-highlighted-active-plus
(propertize "+" 'face 'nxml-outline-active-indicator-face))
(propertize "+" 'face 'nxml-outline-active-indicator))
(defun nxml-display-section (last-pos
section-start-pos
@ -642,14 +642,14 @@ non-transparent child section."
(if colon
(concat (propertize (substring qname 0 colon)
'face
'nxml-element-prefix-face)
'nxml-element-prefix)
nxml-highlighted-colon
(propertize (substring qname (1+ colon))
'face
'nxml-element-local-name-face))
'nxml-element-local-name))
(propertize qname
'face
'nxml-element-local-name-face))))
'nxml-element-local-name))))
(defun nxml-outline-display-single-line-end-tag (last-pos)
(nxml-outline-set-overlay 'nxml-outline-display-hide
@ -727,7 +727,7 @@ non-transparent child section."
(put 'nxml-outline-display-heading 'help-echo nxml-outline-show-help)
(put 'nxml-outline-display-heading 'nxml-outline-display t)
(put 'nxml-outline-display-heading 'evaporate t)
(put 'nxml-outline-display-heading 'face 'nxml-heading-face)
(put 'nxml-outline-display-heading 'face 'nxml-heading)
(defvar nxml-outline-hiding-tag-map
(let ((map (make-sparse-keymap)))

View file

@ -38,10 +38,12 @@
Nil if using a vacuous schema.")
(make-variable-buffer-local 'rng-current-schema-file-name)
(defvar rng-schema-locating-files-default nil
(defvar rng-schema-locating-files-default
(list "schemas.xml" (expand-file-name "schema/schemas.xml" data-directory))
"Default value for variable `rng-schema-locating-files'.")
(defvar rng-schema-locating-file-schema-file nil
(defvar rng-schema-locating-file-schema-file
(expand-file-name "schema/locate.rnc" data-directory)
"File containing schema for schema locating files.")
(defvar rng-schema-locating-file-schema nil
@ -52,7 +54,7 @@ Nil if using a vacuous schema.")
:type '(repeat file)
:group 'relax-ng)
(defvar rng-schema-loader-alist nil
(defvar rng-schema-loader-alist '(("rnc" . rng-c-load-schema))
"Alist of schema extensions vs schema loader functions.")
(defvar rng-cached-document-element nil)

View file

@ -32,66 +32,6 @@
(defvar rng-dir (file-name-directory load-file-name))
(defconst rng-autoload-modules
'(xmltok
nxml-mode
nxml-uchnm
nxml-glyph
rng-cmpct
rng-maint
rng-valid
rng-xsd
rng-nxml))
;;;###autoload
(defun rng-update-autoloads ()
"Update the autoloads in rng-auto.el."
(interactive)
(let* ((generated-autoload-file (expand-file-name "rng-auto.el"
rng-dir)))
(mapcar (lambda (x)
(update-file-autoloads
(expand-file-name (concat (symbol-name x) ".el") rng-dir)))
rng-autoload-modules)))
(defconst rng-compile-modules
'(xmltok
nxml-util
nxml-enc
nxml-glyph
nxml-rap
nxml-outln
nxml-mode
nxml-uchnm
nxml-ns
nxml-parse
nxml-maint
xsd-regexp
rng-util
rng-dt
rng-xsd
rng-uri
rng-pttrn
rng-cmpct
rng-match
rng-parse
rng-loc
rng-valid
rng-nxml
rng-maint))
;;;###autoload
(defun rng-byte-compile-load ()
"Byte-compile and load all of the RELAX NG library in an appropriate order."
(interactive)
(mapcar (lambda (x)
(byte-compile-file (expand-file-name (concat (symbol-name x) ".el")
rng-dir)
t))
rng-compile-modules))
;;; Conversion from XML to texinfo.
;; This is all a hack and is just enough to make the conversion work.
;; It's not intended for public use.
@ -101,7 +41,6 @@
(defvar rng-manual-texi (concat rng-manual-base ".texi"))
(defvar rng-manual-info (concat rng-manual-base ".info"))
;;;###autoload
(defun rng-format-manual ()
"Create manual.texi from manual.xml."
(interactive)
@ -288,15 +227,6 @@
(insert ?\n))
(insert "\n\n"))))
;;; Versioning
;;;###autoload
(defun rng-write-version ()
(find-file "VERSION")
(erase-buffer)
(insert nxml-version "\n")
(save-buffer))
;;; Timing
(defun rng-time-to-float (time)

View file

@ -82,9 +82,7 @@ Complete on start-tag names regardless.")
["First Error" rng-first-error :active rng-validate-mode]
["Next Error" rng-next-error :active rng-validate-mode]
"---"
["Customize nXML" (customize-group 'nxml)]
"---"
["Show nXML Version" nxml-version]))
["Customize nXML" (customize-group 'nxml)]))
;;;###autoload
(defun rng-nxml-mode-init ()

View file

@ -107,7 +107,7 @@
:group 'nxml
:group 'languages)
(defface rng-error-face '((t (:underline "red")))
(defface rng-error '((t (:inherit font-lock-warning-face)))
"Face for highlighting XML errors."
:group 'relax-ng)
@ -224,7 +224,7 @@ Checks whether the buffer is a well-formed XML 1.0 document,
conforming to the XML Namespaces Recommendation and valid against a
RELAX NG schema. The mode-line indicates whether it is or not. Any
parts of the buffer that cause it not to be are considered errors and
are highlighted with `rng-error-face'. A description of each error is
are highlighted with face `rng-error'. A description of each error is
available as a tooltip. \\[rng-next-error] goes to the next error
after point. Clicking mouse-1 on the word `Invalid' in the mode-line
goes to the first error in the buffer. If the buffer changes, then it
@ -768,7 +768,7 @@ Return t if there is work to do, nil otherwise."
(overlay-put overlay 'category 'rng-error)
(overlay-put overlay 'help-echo message))))))
(put 'rng-error 'face 'rng-error-face)
(put 'rng-error 'face 'rng-error)
(put 'rng-error 'modification-hooks '(rng-error-modified))
;; If we don't do this, then the front delimiter can move

View file

@ -218,25 +218,7 @@
(let ((faces ,face))
(while (unless (memq (car faces) fast-lock-save-faces)
(setq faces (cdr faces))))
faces))))
;;
;; We use this for compatibility with a future Emacs.
(or (fboundp 'with-temp-message)
(defmacro with-temp-message (message &rest body)
`(let ((temp-message ,message) current-message)
(unwind-protect
(progn
(when temp-message
(setq current-message (current-message))
(message "%s" temp-message))
,@body)
(when temp-message
(message "%s" current-message))))))
;;
;; We use this for compatibility with a future Emacs.
(or (fboundp 'defcustom)
(defmacro defcustom (symbol value doc &rest args)
`(defvar ,symbol ,value ,doc))))
faces)))))
;;(defun fast-lock-submit-bug-report ()
;; "Submit via mail a bug report on fast-lock.el."

View file

@ -53,13 +53,6 @@
(eval-when-compile
(require 'cl))
;; If customize isn't available just use defvar instead.
(eval-and-compile
(unless (fboundp 'defgroup)
(defmacro defgroup (&rest rest) nil)
(defmacro defcustom (symbol init docstring &rest rest)
`(defvar ,symbol ,init ,docstring))))
;; Customize options.
(defgroup 5x5 nil

View file

@ -1396,13 +1396,11 @@ If you use ada-xref.el:
(progn (goto-char (symbol-value 'beg)) (forward-word -1) (point))
(goto-char aa-end)))))
;; transient-mark-mode and mark-active are not defined in XEmacs
(defun ada-region-selected ()
"Return t if a region has been selected by the user and is still active."
(if (featurep 'xemacs)
(region-active-p)
(and transient-mark-mode mark-active)))
"Should we operate on an active region?"
(if (fboundp 'use-region-p)
(use-region-p)
(region-active-p)))
;;-----------------------------------------------------------------
;; auto-casing

View file

@ -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.")

View file

@ -3069,16 +3069,17 @@ non-nil."
;; compiled, e.g. in the menus.
(c-region-is-active-p))
(defun c-indent-line-or-region ()
"When the region is active, indent it syntactically. Otherwise
indent the current line syntactically."
;; Emacs has a variable called mark-active, XEmacs uses region-active-p
(interactive)
(if (and transient-mark-mode mark-active
(not (eq (region-beginning) (region-end))))
(defun c-indent-line-or-region (&optional arg region)
"Indent active region, current line, or block starting on this line.
In Transient Mark mode, when the region is active, reindent the region.
Othewise, with a prefix argument, rigidly reindent the expression
starting on the current line.
Otherwise reindent just the current line."
(interactive
(list current-prefix-arg (use-region-p)))
(if region
(c-indent-region (region-beginning) (region-end))
(c-indent-line)))
(c-indent-command arg)))
;; for progress reporting
(defvar c-progress-info nil)

View file

@ -337,11 +337,11 @@ to it is returned. This function does not modify the point or the mark."
(defmacro c-region-is-active-p ()
;; Return t when the region is active. The determination of region
;; activeness is different in both Emacs and XEmacs.
(if (cc-bytecomp-fboundp 'region-active-p)
;; XEmacs.
'(region-active-p)
;; Emacs.
'mark-active))
(if (cc-bytecomp-boundp 'mark-active)
;; Emacs.
'mark-active
;; XEmacs.
'(region-active-p)))
(defmacro c-set-region-active (activate)
;; Activate the region if ACTIVE is non-nil, deactivate it

View file

@ -190,7 +190,8 @@ control). See \"cc-mode.el\" for more info."
(run-hooks 'c-initialization-hook)
;; Fix obsolete variables.
(if (boundp 'c-comment-continuation-stars)
(setq c-block-comment-prefix c-comment-continuation-stars))
(setq c-block-comment-prefix
(symbol-value 'c-comment-continuation-stars)))
(add-hook 'change-major-mode-hook 'c-leave-cc-mode-mode)
(setq c-initialization-ok t))
;; Will try initialization hooks again if they failed.

View file

@ -88,45 +88,27 @@
(cc-require 'cc-defs)
(cc-require 'cc-cmds)
;; Don't complain about the `define-minor-mode' form if it isn't defined.
(cc-bytecomp-defvar c-subword-mode)
(defvar c-subword-mode-map
(let ((map (make-sparse-keymap)))
(dolist (cmd '(forward-word backward-word mark-word
kill-word backward-kill-word
transpose-words
capitalize-word upcase-word downcase-word))
(let ((othercmd (let ((name (symbol-name cmd)))
(string-match "\\(.*-\\)\\(word.*\\)" name)
(intern (concat "c-"
(match-string 1 name)
"sub"
(match-string 2 name))))))
(if (fboundp 'command-remapping)
(define-key map (vector 'remap cmd) othercmd)
(substitute-key-definition cmd othercmd map global-map))))
map)
"Keymap used in command `c-subword-mode' minor mode.")
;; Autoload directives must be on the top level, so we construct an
;; autoload form instead.
;;;###autoload (autoload 'c-subword-mode "cc-subword" "Mode enabling subword movement and editing keys." t)
(if (not (fboundp 'define-minor-mode))
(defun c-subword-mode ()
"(Missing) mode enabling subword movement and editing keys.
This mode is not (yet) available in this version of (X)Emacs. Sorry! If
you really want it, please send a request to <bug-gnu-emacs@gnu.org>,
telling us which (X)Emacs version you're using."
(interactive)
(error
"c-subword-mode is not (yet) available in this version of (X)Emacs. Sorry!"))
(defvar c-subword-mode-map
(let ((map (make-sparse-keymap)))
(dolist (cmd '(forward-word backward-word mark-word
kill-word backward-kill-word
transpose-words
capitalize-word upcase-word downcase-word))
(let ((othercmd (let ((name (symbol-name cmd)))
(string-match "\\(.*-\\)\\(word.*\\)" name)
(intern (concat "c-"
(match-string 1 name)
"sub"
(match-string 2 name))))))
(if (fboundp 'command-remapping)
(define-key map (vector 'remap cmd) othercmd)
(substitute-key-definition cmd othercmd map global-map))))
map)
"Keymap used in command `c-subword-mode' minor mode.")
;; Produces compiler warning about make-variable-buffer-local not
;; being called at toplevel (due to fboundp test).
(define-minor-mode c-subword-mode
"Mode enabling subword movement and editing keys.
;;;###autoload
(define-minor-mode c-subword-mode
"Mode enabling subword movement and editing keys.
In spite of GNU Coding Standards, it is popular to name a symbol by
mixing uppercase and lowercase letters, e.g. \"GtkWidget\",
\"EmacsFrameClass\", \"NSGraphicsContext\", etc. Here we call these
@ -150,8 +132,6 @@ as words.
c-subword-mode-map
(c-update-modeline))
)
(defun c-forward-subword (&optional arg)
"Do the same as `forward-word' but on subwords.
See the command `c-subword-mode' for a description of subwords.

View file

@ -156,45 +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 ,val))
tail))
(aggregate `'(radio
(const :tag "Use style settings" set-from-style)
,(cons head newt))))
(message "aggregate: %S" aggregate)
`(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.
@ -441,12 +430,13 @@ comment-only lines."
;; Although c-comment-continuation-stars is obsolete, we look at it in
;; some places in CC Mode anyway, so make the compiler ignore it
;; during our compilation.
(cc-bytecomp-obsolete-var c-comment-continuation-stars)
(cc-bytecomp-defvar c-comment-continuation-stars)
;; [This is unclean; better to use `symbol-value'. --ttn]
;;(cc-bytecomp-obsolete-var c-comment-continuation-stars)
;;(cc-bytecomp-defvar c-comment-continuation-stars)
(defcustom-c-stylevar c-block-comment-prefix
(if (boundp 'c-comment-continuation-stars)
c-comment-continuation-stars
(symbol-value 'c-comment-continuation-stars)
"* ")
"*Specifies the line prefix of continued C-style block comments.
You should set this variable to the literal string that gets inserted

View file

@ -1163,12 +1163,9 @@ 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.
(setq outwin (display-buffer outbuf nil t))
;; http://lists.gnu.org/archive/html/emacs-devel/2007-11/msg01638.html
(setq outwin (display-buffer outbuf))
(with-current-buffer outbuf
(let ((process-environment
(append
@ -1191,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
@ -1218,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)

View file

@ -66,29 +66,6 @@
(provide 'delphi)
(eval-and-compile
;; Allow execution on pre Emacs 20 versions.
(or (fboundp 'when)
(defmacro when (test &rest body)
`(if ,test (progn ,@body))))
(or (fboundp 'unless)
(defmacro unless (test &rest body)
`(if (not ,test) (progn ,@body))))
(or (fboundp 'defgroup)
(defmacro defgroup (group val docs &rest group-attributes)
`(defvar ,group ,val ,docs)))
(or (fboundp 'defcustom)
(defmacro defcustom (val-name val docs &rest custom-attributes)
`(defvar ,val-name ,val ,docs)))
(or (fboundp 'cadr)
(defmacro cadr (list) `(car (cdr ,list))))
(or (fboundp 'cddr)
(defmacro cddr (list) `(cdr (cdr ,list))))
(or (fboundp 'with-current-buffer)
(defmacro with-current-buffer (buf &rest forms)
`(save-excursion (set-buffer ,buf) ,@forms)))
)
(defgroup delphi nil
"Major mode for editing Delphi source in Emacs."
:version "21.1"

View file

@ -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

View file

@ -98,18 +98,6 @@
(eval-when-compile (require 'cl))
(defvar idlwave-shell-have-new-custom nil)
(eval-and-compile
;; Kludge to allow `defcustom' for Emacs 19.
(condition-case () (require 'custom) (error nil))
(if (and (featurep 'custom)
(fboundp 'custom-declare-variable)
(fboundp 'defface))
;; We've got what we needed
(setq idlwave-shell-have-new-custom t)
;; We have the old or no custom-library, hack around it!
(defmacro defgroup (&rest args) nil)
(defmacro defcustom (var value doc &rest args)
`(defvar ,var ,value ,doc))))
;;; Customizations: idlwave-shell group

View file

@ -172,16 +172,6 @@
(require 'timer)
(error nil)))
(eval-and-compile
;; Kludge to allow `defcustom' for Emacs 19.
(condition-case () (require 'custom) (error nil))
(if (and (featurep 'custom) (fboundp 'custom-declare-variable))
nil ;; We've got what we needed
;; We have the old or no custom-library, hack around it!
(defmacro defgroup (&rest args) nil)
(defmacro defcustom (var value doc &rest args)
`(defvar ,var ,value ,doc))))
(declare-function idlwave-shell-get-path-info "idlw-shell")
(declare-function idlwave-shell-temp-file "idlw-shell")
(declare-function idlwave-shell-is-running "idlw-shell")
@ -2122,15 +2112,11 @@ Returns point if comment found and nil otherwise."
(backward-char 1)
(point)))))
(defvar transient-mark-mode)
(defvar zmacs-regions)
(defvar mark-active)
(defun idlwave-region-active-p ()
"Is transient-mark-mode on and the region active?
Works on both Emacs and XEmacs."
(if (featurep 'xemacs)
(and zmacs-regions (region-active-p))
(and transient-mark-mode mark-active)))
"Should we operate on an active region?"
(if (fboundp 'use-region-p)
(use-region-p)
(region-active-p)))
(defun idlwave-show-matching-quote ()
"Insert quote and show matching quote if this is end of a string."

View file

@ -1097,7 +1097,7 @@ subshells can nest."
;; change the syntax, so we have to tell syntax-ppss that the states it
;; has just computed will need to be recomputed.
(sh-font-lock-flush-syntax-ppss-cache)
;; Make sure $@ and @? are correctly recognized as sexps.
;; Make sure $@ and $? are correctly recognized as sexps.
("\\$\\([?@]\\)" 1 ,sh-st-symbol)
;; Find HEREDOC starters and add a corresponding rule for the ender.
(sh-font-lock-here-doc

File diff suppressed because it is too large Load diff

View file

@ -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)

View file

@ -1260,21 +1260,25 @@ done that."
;;;###autoload
(defun server-save-buffers-kill-terminal (proc &optional arg)
;; Called from save-buffers-kill-terminal in files.el.
"Offer to save each buffer, then kill PROC.
With prefix arg, silently save all file-visiting buffers, then kill.
If emacsclient was started with a list of filenames to edit, then
only these files will be asked to be saved."
(let ((buffers (process-get proc 'buffers)))
;; If client is bufferless, emulate a normal Emacs session
;; exit and offer to save all buffers. Otherwise, offer to
;; save only the buffers belonging to the client.
(save-some-buffers arg
(if buffers
(lambda () (memq (current-buffer) buffers))
t))
(server-delete-client proc)))
;; save-buffers-kill-terminal occasionally calls us with proc set
;; to `nowait' (comes from the value of the `client' frame parameter).
(when (processp proc)
(let ((buffers (process-get proc 'buffers)))
;; If client is bufferless, emulate a normal Emacs session
;; exit and offer to save all buffers. Otherwise, offer to
;; save only the buffers belonging to the client.
(save-some-buffers arg
(if buffers
(lambda () (memq (current-buffer) buffers))
t))
(server-delete-client proc))))
(define-key ctl-x-map "#" 'server-edit)

View file

@ -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.")
@ -2659,13 +2665,26 @@ If `interprogram-cut-function' is set, pass the resulting kill to it."
(equal yank-handler (get-text-property 0 'yank-handler cur)))
yank-handler)))
(defcustom yank-pop-change-selection nil
"If non-nil, rotating the kill ring changes the window system selection."
:type 'boolean
:group 'killing
:version "23.1")
(defun current-kill (n &optional do-not-move)
"Rotate the yanking point by N places, and then return that kill.
If N is zero, `interprogram-paste-function' is set, and calling it returns a
string or list of strings, then that string (or list) is added to the front
of the kill ring and the string (or first string in the list) is returned as
the latest kill. If optional arg DO-NOT-MOVE is non-nil, then don't
actually move the yanking point; just return the Nth kill forward."
the latest kill.
If N is not zero, and if `yank-pop-change-selection' is
non-nil, use `interprogram-cut-function' to transfer the
kill at the new yank point into the window system selection.
If optional arg DO-NOT-MOVE is non-nil, then don't actually
move the yanking point; just return the Nth kill forward."
(let ((interprogram-paste (and (= n 0)
interprogram-paste-function
(funcall interprogram-paste-function))))
@ -2684,8 +2703,12 @@ actually move the yanking point; just return the Nth kill forward."
(nthcdr (mod (- n (length kill-ring-yank-pointer))
(length kill-ring))
kill-ring)))
(or do-not-move
(setq kill-ring-yank-pointer ARGth-kill-element))
(unless do-not-move
(setq kill-ring-yank-pointer ARGth-kill-element)
(when (and yank-pop-change-selection
(> n 0)
interprogram-cut-function)
(funcall interprogram-cut-function (car ARGth-kill-element))))
(car ARGth-kill-element)))))
@ -3300,6 +3323,12 @@ Also runs the hook `deactivate-mark-hook'."
(setq mark-active nil)
(run-hooks 'deactivate-mark-hook))))
(defcustom select-active-regions nil
"If non-nil, an active region automatically becomes the window selection."
:type 'boolean
:group 'killing
:version "23.1")
(defun set-mark (pos)
"Set this buffer's mark to POS. Don't use this function!
That is to say, don't use this function unless you want
@ -3321,6 +3350,9 @@ store it in a Lisp variable. Example:
(progn
(setq mark-active t)
(run-hooks 'activate-mark-hook)
(and select-active-regions
(x-set-selection
nil (buffer-substring (region-beginning) (region-end))))
(set-marker (mark-marker) pos (current-buffer)))
;; Normally we never clear mark-active except in Transient Mark mode.
;; But when we actually clear out the mark value too,
@ -3329,6 +3361,35 @@ store it in a Lisp variable. Example:
(run-hooks 'deactivate-mark-hook)
(set-marker (mark-marker) nil)))
(defcustom use-empty-active-region nil
"If non-nil, an active region takes control even if empty.
This applies to certain commands which, in Transient Mark mode,
apply to the active region if there is one. If the setting is t,
these commands apply to an empty active region if there is one.
If the setting is nil, these commands treat an empty active
region as if it were not active."
:type 'boolean
:version "23.1"
:group 'editing-basics)
(defun use-region-p ()
"Return t if certain commands should apply to the region.
Certain commands normally apply to text near point,
but in Transient Mark mode when the mark is active they apply
to the region instead. Such commands should use this subroutine to
test whether to do that.
This function also obeys `use-empty-active-region'."
(and transient-mark-mode mark-active
(or use-empty-active-region (> (region-end) (region-beginning)))))
(defun region-active-p ()
"Return t if Transient Mark mode is enabled and the mark is active.
This is NOT the best function to use to test whether a command should
operate on the region instead of the usual behavior -- for that,
use `use-region-p'."
(and transient-mark-mode mark-active))
(defvar mark-ring nil
"The list of former marks of the current buffer, most recent first.")
(make-variable-buffer-local 'mark-ring)
@ -4960,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.

View file

@ -657,10 +657,11 @@ before speedbar has been loaded."
speedbar-ignored-directory-regexp
(speedbar-extension-list-to-regex val))))
(defcustom speedbar-directory-unshown-regexp "^\\(CVS\\|RCS\\|SCCS\\|\\..*\\)\\'"
(defcustom speedbar-directory-unshown-regexp "^\\(\\..*\\)\\'"
"*Regular expression matching directories not to show in speedbar.
They should include commonly existing directories which are not
useful, such as version control."
useful. It is no longer necessary to include include version-control
directories here; see \\[vc-directory-exclusion-list\\]."
:group 'speedbar
:type 'string)
@ -1917,6 +1918,7 @@ the file-system."
(while dir
(if (not
(or (string-match speedbar-file-unshown-regexp (car dir))
(member (car dir) vc-directory-exclusion-list)
(string-match speedbar-directory-unshown-regexp (car dir))))
(if (file-directory-p (car dir))
(setq dirs (cons (car dir) dirs))
@ -2972,18 +2974,8 @@ the file being checked."
"Return t if we should bother checking DIRECTORY for version control files.
This can be overloaded to add new types of version control systems."
(or
;; Local CVS available in Emacs 21
(and (fboundp 'vc-state)
(file-exists-p (concat directory "CVS/")))
;; Local RCS
(file-exists-p (concat directory "RCS/"))
;; Local SCCS
(file-exists-p (concat directory "SCCS/"))
;; Remote SCCS project
(let ((proj-dir (getenv "PROJECTDIR")))
(if proj-dir
(file-exists-p (concat proj-dir "/SCCS"))
nil))
(catch t (dolist (vcd vc-directory-exclusion-list)
(if (file-exists-p (concat directory vcd)) (throw t t))) nil)
;; User extension
(run-hook-with-args-until-success 'speedbar-vc-directory-enable-hook
directory)
@ -2991,29 +2983,11 @@ This can be overloaded to add new types of version control systems."
(defun speedbar-this-file-in-vc (directory name)
"Check to see if the file in DIRECTORY with NAME is in a version control system.
You can add new VC systems by overriding this function. You can
Automatically recognizes all VCs supported by VC mode. You can
optimize this function by overriding it and only doing those checks
that will occur on your system."
(or
(if (fboundp 'vc-state)
;; Emacs 21 handles VC state in a nice way.
(condition-case nil
(let ((state (vc-state (concat directory name))))
(not (or (eq 'up-to-date state)
(null state))))
;; An error means not in a VC system
(error nil))
(or
;; RCS file name
(file-exists-p (concat directory "RCS/" name ",v"))
(file-exists-p (concat directory "RCS/" name))
;; Local SCCS file name
(file-exists-p (concat directory "SCCS/s." name))
;; Remote SCCS file name
(let ((proj-dir (getenv "PROJECTDIR")))
(if proj-dir
(file-exists-p (concat proj-dir "/SCCS/s." name))
nil))))
(vc-backend (concat directory "/" name))
;; User extension
(run-hook-with-args 'speedbar-vc-in-control-hook directory name)
))

View file

@ -1320,8 +1320,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
@ -1355,7 +1353,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)))))

Some files were not shown because too many files have changed in this diff Show more