1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-29 07:58:28 +00:00

Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-82

Merge from emacs--cvs-trunk--0

Patches applied:

 * emacs--cvs-trunk--0  (patch 542-553)

   - Update from CVS
   - Merge from gnus--rel--5.10

 * gnus--rel--5.10  (patch 116-121)

   - Merge from emacs--cvs-trunk--0
   - Update from CVS
This commit is contained in:
Miles Bader 2005-09-19 10:20:33 +00:00
commit 6f512f0b53
190 changed files with 8087 additions and 1861 deletions

View File

@ -1,3 +1,9 @@
2005-09-15 Ulf Jasper <ulf.jasper@web.de>
* Makefile.in (install-arch-indep, uninstall):
Handle newsticker manual.
(info): Add - to commands.
2005-09-11 Kim F. Storm <storm@cua.dk>
* AUTHORS: Regenerate.

View File

@ -486,7 +486,7 @@ install-arch-indep: mkdir info
chmod a+r ${infodir}/dir); \
fi; \
cd ${srcdir}/info ; \
for f in ada-mode* autotype* calc* ccmode* cl* dired-x* ebrowse* ediff* efaq* eintr* elisp* emacs* emacs-mime* emacs-xtra* eshell* eudc* flymake* forms* gnus* idlwave* info* message* mh-e* org* pcl-cvs* pgg* reftex* sc* ses* sieve* speedbar* tramp* vip* widget* woman* smtpmail* url*; do \
for f in ada-mode* autotype* calc* ccmode* cl* dired-x* ebrowse* ediff* efaq* eintr* elisp* emacs* emacs-mime* emacs-xtra* eshell* eudc* flymake* forms* gnus* idlwave* info* message* mh-e* newsticker* org* pcl-cvs* pgg* reftex* sc* ses* sieve* speedbar* tramp* vip* widget* woman* smtpmail* url*; do \
(cd $${thisdir}; \
${INSTALL_DATA} ${srcdir}/info/$$f ${infodir}/$$f; \
chmod a+r ${infodir}/$$f); \
@ -496,7 +496,7 @@ install-arch-indep: mkdir info
thisdir=`/bin/pwd`; \
if [ `(cd ${srcdir}/info && /bin/pwd)` != `(cd ${infodir} && /bin/pwd)` ]; \
then \
for f in ada-mode autotype calc ccmode cl dired-x ebrowse ediff efaq elisp eintr emacs emacs-mime emacs-xtra eshell eudc flymake forms gnus idlwave info message mh-e org pcl-cvs pgg reftex sc ses sieve speedbar tramp vip viper widget woman smtpmail url; do \
for f in ada-mode autotype calc ccmode cl dired-x ebrowse ediff efaq elisp eintr emacs emacs-mime emacs-xtra eshell eudc flymake forms gnus idlwave info message mh-e newsticker org pcl-cvs pgg reftex sc ses sieve speedbar tramp vip viper widget woman smtpmail url; do \
(cd $${thisdir}; \
${INSTALL_INFO} --info-dir=${infodir} ${infodir}/$$f); \
done; \
@ -562,7 +562,7 @@ uninstall:
done
(cd ${archlibdir} && rm -f fns-*)
-rm -rf ${libexecdir}/emacs/${version}
(cd ${infodir} && rm -f cl* ada-mode* autotype* calc* ccmode* ebrowse* efaq* eintr elisp* eshell* eudc* idlwave* message* pcl-cvs* reftex* speedbar* tramp* widget* woman* dired-x* ediff* emacs* emacs-xtra* flymake* forms* gnus* info* mh-e* org* sc* ses* vip* smtpmail* url*)
(cd ${infodir} && rm -f cl* ada-mode* autotype* calc* ccmode* ebrowse* efaq* eintr elisp* eshell* eudc* idlwave* message* pcl-cvs* reftex* speedbar* tramp* widget* woman* dired-x* ediff* emacs* emacs-xtra* flymake* forms* gnus* info* mh-e* newsticker* org* sc* ses* vip* smtpmail* url*)
(cd ${man1dir} && rm -f emacs${manext} emacsclient${manext} etags${manext} ctags${manext})
(cd ${bindir} && rm -f $(EMACSFULL) $(EMACS))
@ -721,9 +721,9 @@ force-info:
# put the info files in $(srcdir),
# so we can do ok running make in the build dir.
info: force-info
(cd man; $(MAKE) $(MFLAGS) info)
(cd lispref; $(MAKE) $(MFLAGS) info)
(cd lispintro; $(MAKE) $(MFLAGS) info)
-(cd man; $(MAKE) $(MFLAGS) info)
-(cd lispref; $(MAKE) $(MFLAGS) info)
-(cd lispintro; $(MAKE) $(MFLAGS) info)
dvi:
(cd man; $(MAKE) $(MFLAGS) dvi)
(cd lispref; $(MAKE) $(MFLAGS) elisp.dvi)

View File

@ -46,26 +46,11 @@ and has already been posted on the developers' list, but it is on the
back burner waiting for a legal comment or an alternate implementation
(around 30 lines of code).
** goeran@uddeborg.se's Sep 13 crash report
about trying to display the invalid gif file poison.gif.
* BUGS
** Fix recognition of shell's `dirs' command.
Is his change right?
Date: Wed, 29 Jun 2005 18:21:28 -0500 (CDT)
From: kevin.gal@verizon.net
When I use tcsh (which echoes command input) in a shell buffer,
entering "M-x dirs" fails because it mistakens the echoed "dirs"
string as the directory string to use as input when changing the
buffers default directory. The attached gziped patch file contains a
fix. The patch also binds the "dirs" command to "\e\C-m" in
shell-mode-map (previously unbound) to make it easy to invoke.
Finally, a test has been added to see if "shell-dirstack-query" is
non-nil. If so, it is not overwritten.
To enable the fix, the user must set comint-process-echoes to t.
** TCP server processes do not work on Windows.
TCP/IP server processes created with `make-network-process' consume

View File

@ -1,4 +1,17 @@
2005-09-00 Kevin Ryde <user42@zip.com.au>
2005-09-17 Romain Francoise <romain@orebokech.com>
* gfdl.1: Update to version 1.2. Delete UC macro.
2005-09-15 Kenichi Handa <handa@m17n.org>
* PROBLEMS: Fix the paragraph describing the limitation of
UTF-8/16/7.
2005-09-14 Romain Francoise <romain@orebokech.com>
* NEWS: Add entry for write-region-inhibit-fsync.
2005-09-09 Kevin Ryde <user42@zip.com.au>
* MORE.STUFF: Update url for calculator.el.

View File

@ -692,6 +692,12 @@ supplied. This behavior is analogous to `write-file'.
controls whether or not the function `make-auto-save-file-name' will
attempt to construct a unique auto-save name (e.g. for remote files).
+++
*** The new option `write-region-inhibit-fsync' disables calls to fsync
in `write-region'. This can be useful on laptops to avoid spinning up
the hard drive upon each file save. Enabling this variable may result
in data loss, use with care.
+++
*** If the user visits a file larger than `large-file-warning-threshold',
Emacs asks for confirmation.
@ -1553,6 +1559,14 @@ colors as on X.
* New Modes and Packages in Emacs 22.1
---
** Newsticker is now part of the Emacs distribution.
Newsticker asynchronously retrieves headlines (RSS) from a list of news
sites, prepares these headlines for reading, and allows for loading the
corresponding articles in a web browser. Its documentation is in a
separate manual.
+++
** Filesets are collections of files. You can define a fileset in
various ways, such as based on a directory tree or based on
@ -3066,11 +3080,17 @@ updated `skeleton-insert' docstring explains these new features along
with other details of skeleton construction.
---
** New variable `hs-set-up-overlay' allows customization of the overlay
** Hideshow mode changes
*** New variable `hs-set-up-overlay' allows customization of the overlay
used to effect hiding for hideshow minor mode. Integration with isearch
handles the overlay property `display' specially, preserving it during
temporary overlay showing in the course of an isearch operation.
*** New variable `hs-allow-nesting' non-nil means that hiding a block does
not discard the hidden state of any "internal" blocks; when the parent
block is later shown, the internal blocks remain hidden. Default is nil.
+++
** `hide-ifdef-mode' now uses overlays rather than selective-display
to hide its text. This should be mostly transparent but slightly
@ -4661,6 +4681,17 @@ When you click the mouse when the mouse pointer is over a hot-spot,
an event is composed by combining the ID of the hot-spot with the
mouse event, e.g. [area4 mouse-1] if the hot-spot's ID is `area4'.
+++
*** The function `find-image' now searches in etc/images/ and etc/.
The new variable `image-load-path' is a list of locations in which to
search for image files. The default is to search in etc/images, then
in etc/, and finally in the directories specified by `load-path'.
Subdirectories of etc/ and etc/images are not recursively searched; if
you put an image file in a subdirectory, you have to specify it
explicitly; for example, if an image is put in etc/images/foo/bar.xpm:
(defimage foo-image '((:type xpm :file "foo/bar.xpm")))
** Mouse pointer features:
+++ (lispref)

View File

@ -845,9 +845,16 @@ mule-unicode-0100-24ff:-gnu-unifont-*-iso10646-1
** The UTF-8/16/7 coding systems don't encode CJK (Far Eastern) characters.
Emacs by default only supports the parts of the Unicode BMP whose code
points are in the ranges 0000-33ff and e000-ffff. This excludes: most
of CJK, Yi and Hangul, as well as everything outside the BMP.
Emacs directly supports the Unicode BMP whose code points are in the
ranges 0000-33ff and e000-ffff, and indirectly supports the parts of
CJK characters belonging to these legacy charsets:
GB2312, Big5, JISX0208, JISX0212, JISX0213-1, JISX0213-2, KSC5601
The latter support is done in Utf-Translate-Cjk mode (turned on by
default). Which Unicode CJK characters are decoded into which Emacs
charset is decided by the current language environment. For instance,
in Chinese-GB, most of them are decoded into chinese-gb2312.
If you read UTF-8 data with code points outside these ranges, the
characters appear in the buffer as raw bytes of the original UTF-8
@ -857,13 +864,6 @@ If you read such characters from UTF-16 or UTF-7 data, they are
substituted with the Unicode `replacement character', and you lose
information.
To edit such UTF data, turn on Utf-Translate-Cjk mode, which makes
many common CJK characters available for encoding and decoding and can
be extended by updating the tables it uses. This also allows you to
save as UTF buffers containing characters decoded by the chinese-,
japanese- and korean- coding systems, e.g. cut and pasted from
elsewhere.
** Mule-UCS loads very slowly.
Changes to Emacs internals interact badly with Mule-UCS's `un-define'

View File

@ -1,10 +1,9 @@
.TH GFDL 1 "2001 April 23"
.UC 4
.TH GFDL 1 "2005 September 17"
.SH NAME
GFDL \- The GNU Free Documentation License
.ce
Version 1.1, March 2000
Version 1.2, November 2002
.hy 0
.na
@ -23,12 +22,12 @@ of this license document, but changing it is not allowed.
.SH 0. PREAMBLE
The purpose of this License is to make a manual, textbook, or other
written document "free" in the sense of freedom: to assure everyone
the effective freedom to copy and redistribute it, with or without
modifying it, either commercially or noncommercially. Secondarily,
this License preserves for the author and publisher a way to get
credit for their work, while not being considered responsible for
modifications made by others.
functional and useful document "free" in the sense of freedom: to
assure everyone the effective freedom to copy and redistribute it,
with or without modifying it, either commercially or noncommercially.
Secondarily, this License preserves for the author and publisher a way
to get credit for their work, while not being considered responsible
for modifications made by others.
This License is a kind of "copyleft", which means that derivative
works of the document must themselves be free in the same sense. It
@ -45,11 +44,15 @@ principally for works whose purpose is instruction or reference.
.SH 1. APPLICABILITY AND DEFINITIONS
This License applies to any manual or other work that contains a
notice placed by the copyright holder saying it can be distributed
under the terms of this License. The "Document", below, refers to any
such manual or work. Any member of the public is a licensee, and is
addressed as "you."
This License applies to any manual or other work, in any medium, that
contains a notice placed by the copyright holder saying it can be
distributed under the terms of this License. Such a notice grants a
world-wide, royalty-free license, unlimited in duration, to use that
work under the conditions stated herein. The "Document", below,
refers to any such manual or work. Any member of the public is a
licensee, and is addressed as "you". You accept the license if you
copy, modify or distribute the work in a way requiring permission
under copyright law.
A "Modified Version" of the Document means any work containing the
Document or a portion of it, either copied verbatim, or with
@ -59,7 +62,7 @@ A "Secondary Section" is a named appendix or a front-matter section of
the Document that deals exclusively with the relationship of the
publishers or authors of the Document to the Document's overall subject
(or to related matters) and contains nothing that could fall directly
within that overall subject. (For example, if the Document is in part a
within that overall subject. (Thus, if the Document is in part a
textbook of mathematics, a Secondary Section may not explain any
mathematics.) The relationship could be a matter of historical
connection with the subject or with related matters, or of legal,
@ -68,33 +71,40 @@ them.
The "Invariant Sections" are certain Secondary Sections whose titles
are designated, as being those of Invariant Sections, in the notice
that says that the Document is released under this License.
that says that the Document is released under this License. If a
section does not fit the above definition of Secondary then it is not
allowed to be designated as Invariant. The Document may contain zero
Invariant Sections. If the Document does not identify any Invariant
Sections then there are none.
The "Cover Texts" are certain short passages of text that are listed,
as Front-Cover Texts or Back-Cover Texts, in the notice that says that
the Document is released under this License.
the Document is released under this License. A Front-Cover Text may
be at most 5 words, and a Back-Cover Text may be at most 25 words.
A "Transparent" copy of the Document means a machine-readable copy,
represented in a format whose specification is available to the
general public, whose contents can be viewed and edited directly and
general public, that is suitable for revising the document
straightforwardly with generic text editors or (for images composed of
pixels) generic paint programs or (for drawings) some widely available
drawing editor, and that is suitable for input to text formatters or
for automatic translation to a variety of formats suitable for input
to text formatters. A copy made in an otherwise Transparent file
format whose markup has been designed to thwart or discourage
subsequent modification by readers is not Transparent. A copy that is
not "Transparent" is called "Opaque."
format whose markup, or absence of markup, has been arranged to thwart
or discourage subsequent modification by readers is not Transparent.
An image format is not Transparent if used for any substantial amount
of text. A copy that is not "Transparent" is called "Opaque".
Examples of suitable formats for Transparent copies include plain
ASCII without markup, Texinfo input format, LaTeX input format, SGML
or XML using a publicly available DTD, and standard-conforming simple
HTML designed for human modification. Opaque formats include
PostScript, PDF, proprietary formats that can be read and edited only
by proprietary word processors, SGML or XML for which the DTD and/or
HTML, PostScript or PDF designed for human modification. Examples of
transparent image formats include PNG, XCF and JPG. Opaque formats
include proprietary formats that can be read and edited only by
proprietary word processors, SGML or XML for which the DTD and/or
processing tools are not generally available, and the
machine-generated HTML produced by some word processors for output
purposes only.
machine-generated HTML, PostScript or PDF produced by some word
processors for output purposes only.
The "Title Page" means, for a printed book, the title page itself,
plus such following pages as are needed to hold, legibly, the material
@ -103,6 +113,21 @@ formats which do not have any title page as such, "Title Page" means
the text near the most prominent appearance of the work's title,
preceding the beginning of the body of the text.
A section "Entitled XYZ" means a named subunit of the Document whose
title either is precisely XYZ or contains XYZ in parentheses following
text that translates XYZ in another language. (Here XYZ stands for a
specific section name mentioned below, such as "Acknowledgements",
"Dedications", "Endorsements", or "History".) To "Preserve the Title"
of such a section when you modify the Document means that it remains a
section "Entitled XYZ" according to this definition.
The Document may include Warranty Disclaimers next to the notice which
states that this License applies to the Document. These Warranty
Disclaimers are considered to be included by reference in this
License, but only as regards disclaiming warranties: any other
implication that these Warranty Disclaimers may have is void and has
no effect on the meaning of this License.
.SH 2. VERBATIM COPYING
You may copy and distribute the Document in any medium, either
@ -120,9 +145,10 @@ you may publicly display copies.
.SH 3. COPYING IN QUANTITY
If you publish printed copies of the Document numbering more than 100,
and the Document's license notice requires Cover Texts, you must enclose
the copies in covers that carry, clearly and legibly, all these Cover
If you publish printed copies (or copies in media that commonly have
printed covers) of the Document, numbering more than 100, and the
Document's license notice requires Cover Texts, you must enclose the
copies in covers that carry, clearly and legibly, all these Cover
Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
the back cover. Both covers must also clearly and legibly identify
you as the publisher of these copies. The front cover must present
@ -140,16 +166,15 @@ pages.
If you publish or distribute Opaque copies of the Document numbering
more than 100, you must either include a machine-readable Transparent
copy along with each Opaque copy, or state in or with each Opaque copy
a publicly-accessible computer-network location containing a complete
Transparent copy of the Document, free of added material, which the
general network-using public has access to download anonymously at no
charge using public-standard network protocols. If you use the latter
option, you must take reasonably prudent steps, when you begin
distribution of Opaque copies in quantity, to ensure that this
Transparent copy will remain thus accessible at the stated location
until at least one year after the last time you distribute an Opaque
copy (directly or through your agents or retailers) of that edition to
the public.
a computer-network location from which the general network-using
public has access to download using public-standard network protocols
a complete Transparent copy of the Document, free of added material.
If you use the latter option, you must take reasonably prudent steps,
when you begin distribution of Opaque copies in quantity, to ensure
that this Transparent copy will remain thus accessible at the stated
location until at least one year after the last time you distribute an
Opaque copy (directly or through your agents or retailers) of that
edition to the public.
It is requested, but not required, that you contact the authors of the
Document well before redistributing any large number of copies, to give
@ -165,17 +190,18 @@ and modification of the Modified Version to whoever possesses a copy
of it. In addition, you must do these things in the Modified Version:
.TP
A.
Use in the Title Page (and on the covers, if any) a title distinct
from that of the Document, and from those of previous versions
(which should, if there were any, be listed in the History section
of the Document). You may use the same title as a previous version
if the original publisher of that version gives permission.
Use in the Title Page (and on the covers, if any) a title distinct from
that of the Document, and from those of previous versions (which should,
if there were any, be listed in the History section of the Document).
You may use the same title as a previous version if the original
publisher of that version gives permission.
.TP
B.
List on the Title Page, as authors, one or more persons or entities
responsible for authorship of the modifications in the Modified
Version, together with at least five of the principal authors of the
Document (all of its principal authors, if it has less than five).
responsible for authorship of the modifications in the Modified Version,
together with at least five of the principal authors of the Document
(all of its principal authors, if it has fewer than five), unless they
release you from this requirement.
.TP
C.
State on the Title page the name of the publisher of the
@ -190,8 +216,8 @@ adjacent to the other copyright notices.
.TP
F.
Include, immediately after the copyright notices, a license notice
giving the public permission to use the Modified Version under the
terms of this License, in the form shown in the Addendum below.
giving the public permission to use the Modified Version under the terms
of this License, in the form shown in the Addendum below.
.TP
G.
Preserve in that license notice the full lists of Invariant Sections
@ -201,41 +227,44 @@ H.
Include an unaltered copy of this License.
.TP
I.
Preserve the section entitled "History", and its title, and add to
it an item stating at least the title, year, new authors, and
publisher of the Modified Version as given on the Title Page. If
there is no section entitled "History" in the Document, create one
stating the title, year, authors, and publisher of the Document as
given on its Title Page, then add an item describing the Modified
Version as stated in the previous sentence.
Preserve the section Entitled "History", Preserve its Title, and add to
it an item stating at least the title, year, new authors, and publisher
of the Modified Version as given on the Title Page. If there is no
section Entitled "History" in the Document, create one stating the
title, year, authors, and publisher of the Document as given on its
Title Page, then add an item describing the Modified Version as stated
in the previous sentence.
.TP
J.
Preserve the network location, if any, given in the Document for
public access to a Transparent copy of the Document, and likewise
the network locations given in the Document for previous versions
it was based on. These may be placed in the "History" section.
You may omit a network location for a work that was published at
least four years before the Document itself, or if the original
publisher of the version it refers to gives permission.
Preserve the network location, if any, given in the Document for public
access to a Transparent copy of the Document, and likewise the network
locations given in the Document for previous versions it was based on.
These may be placed in the "History" section. You may omit a network
location for a work that was published at least four years before the
Document itself, or if the original publisher of the version it refers
to gives permission.
.TP
K.
In any section entitled "Acknowledgements" or "Dedications",
preserve the section's title, and preserve in the section all the
substance and tone of each of the contributor acknowledgements
and/or dedications given therein.
For any section Entitled "Acknowledgements" or "Dedications", Preserve
the Title of the section, and preserve in the section all the substance
and tone of each of the contributor acknowledgements and/or dedications
given therein.
.TP
L.
Preserve all the Invariant Sections of the Document,
unaltered in their text and in their titles. Section numbers
or the equivalent are not considered part of the section titles.
Preserve all the Invariant Sections of the Document, unaltered in their
text and in their titles. Section numbers or the equivalent are not
considered part of the section titles.
.TP
M.
Delete any section entitled "Endorsements." Such a section
may not be included in the Modified Version.
Delete any section Entitled "Endorsements". Such a section may not be
included in the Modified Version.
.TP
N.
Do not retitle any existing section as "Endorsements"
or to conflict in title with any Invariant Section.
Do not retitle any existing section to be Entitled "Endorsements" or to
conflict in title with any Invariant Section.
.TP
O.
Preserve any Warranty Disclaimers.
.PP
If the Modified Version includes new front-matter sections or
appendices that qualify as Secondary Sections and contain no material
@ -244,7 +273,7 @@ of these sections as invariant. To do this, add their titles to the
list of Invariant Sections in the Modified Version's license notice.
These titles must be distinct from any other section titles.
You may add a section entitled "Endorsements", provided it contains
You may add a section Entitled "Endorsements", provided it contains
nothing but endorsements of your Modified Version by various
parties--for example, statements of peer review or that the text has
been approved by an organization as the authoritative definition of a
@ -271,7 +300,7 @@ License, under the terms defined in section 4 above for modified
versions, provided that you include in the combination all of the
Invariant Sections of all of the original documents, unmodified, and
list them all as Invariant Sections of your combined work in its
license notice.
license notice, and that you preserve all their Warranty Disclaimers.
The combined work need only contain one copy of this License, and
multiple identical Invariant Sections may be replaced with a single
@ -282,11 +311,11 @@ author or publisher of that section if known, or else a unique number.
Make the same adjustment to the section titles in the list of
Invariant Sections in the license notice of the combined work.
In the combination, you must combine any sections entitled "History"
in the various original documents, forming one section entitled
"History"; likewise combine any sections entitled "Acknowledgements",
and any sections entitled "Dedications." You must delete all sections
entitled "Endorsements."
In the combination, you must combine any sections Entitled "History"
in the various original documents, forming one section Entitled
"History"; likewise combine any sections Entitled "Acknowledgements",
and any sections Entitled "Dedications". You must delete all sections
Entitled "Endorsements".
.SH 6. COLLECTIONS OF DOCUMENTS
@ -305,18 +334,20 @@ other respects regarding verbatim copying of that document.
A compilation of the Document or its derivatives with other separate
and independent documents or works, in or on a volume of a storage or
distribution medium, does not as a whole count as a Modified Version
of the Document, provided no compilation copyright is claimed for the
compilation. Such a compilation is called an "aggregate", and this
License does not apply to the other self-contained works thus compiled
with the Document, on account of their being thus compiled, if they
are not themselves derivative works of the Document.
distribution medium, is called an "aggregate" if the copyright
resulting from the compilation is not used to limit the legal rights
of the compilation's users beyond what the individual works permit.
When the Document is included in an aggregate, this License does not
apply to the other works in the aggregate which are not themselves
derivative works of the Document.
If the Cover Text requirement of section 3 is applicable to these
copies of the Document, then if the Document is less than one quarter
of the entire aggregate, the Document's Cover Texts may be placed on
covers that surround only the Document within the aggregate.
Otherwise they must appear on covers around the whole aggregate.
copies of the Document, then if the Document is less than one half of
the entire aggregate, the Document's Cover Texts may be placed on
covers that bracket the Document within the aggregate, or the
electronic equivalent of covers if the Document is in electronic form.
Otherwise they must appear on printed covers that bracket the whole
aggregate.
.SH 8. TRANSLATION
@ -326,10 +357,17 @@ Replacing Invariant Sections with translations requires special
permission from their copyright holders, but you may include
translations of some or all Invariant Sections in addition to the
original versions of these Invariant Sections. You may include a
translation of this License provided that you also include the
original English version of this License. In case of a disagreement
between the translation and the original English version of this
License, the original English version will prevail.
translation of this License, and all the license notices in the
Document, and any Warranty Disclaimers, provided that you also include
the original English version of this License and the original versions
of those notices and disclaimers. In case of a disagreement between
the translation and the original version of this License or a notice
or disclaimer, the original version will prevail.
If a section in the Document is Entitled "Acknowledgements",
"Dedications", or "History", the requirement (section 4) to Preserve
its Title (section 1) will typically require changing the actual
title.
.SH 9. TERMINATION
@ -358,7 +396,6 @@ Free Software Foundation. If the Document does not specify a version
number of this License, you may choose any version ever published (not
as a draft) by the Free Software Foundation.
.SH ADDENDUM: How to use this License for your documents
To use this License in a document you have written, include a copy of
@ -372,20 +409,28 @@ Copyright
.if n (c)
[\fIyear\fP] [\fIyour name\fP].
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1
under the terms of the GNU Free Documentation License, Version 1.2
or any later version published by the Free Software Foundation;
with the Invariant Sections being [\fIlist their titles\fP], with the
Front-Cover Texts being [\fIlist\fP], and with the Back-Cover Texts
being [\fIlist\fP].
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license is included in the section entitled "GNU
Free Documentation License."
.ad
.hy 1
If you have no Invariant Sections, write "with no Invariant Sections"
instead of saying which ones are invariant. If you have no
Front-Cover Texts, write "no Front-Cover Texts" instead of
"Front-Cover Texts being [\fIlist\fP]"; likewise for Back-Cover Texts.
If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
replace the "with...Texts." line with this:
.hy 0
.na
with the Invariant Sections being [\fILIST THEIR TITLES\fP], with the
Front-Cover Texts being [\fILIST\fP], and with the Back-Cover Texts being
[\fILIST\fP].
.ad
.hy 1
If you have Invariant Sections without Cover Texts, or some other
combination of the three, merge those two alternatives to suit the
situation.
If your document contains nontrivial examples of program code, we
recommend releasing these examples in parallel under your choice of

View File

@ -48,6 +48,7 @@ Emacs
* Message: (message). Mail and news composition mode that goes with Gnus.
* MH-E: (mh-e). Emacs interface to the MH mail system.
* MIME: (emacs-mime). Emacs MIME de/composition library.
* Newsticker: (newsticker). A News ticker for Emacs.
* PGG: (pgg). Emacs interface to various PGP implementations.
* SC: (sc). Supercite lets you cite parts of messages you're
replying to, in flexible ways.

View File

@ -1,3 +1,15 @@
2005-09-15 Richard M. Stallman <rms@gnu.org>
* Makefile.in (update-game-score.o): New target.
Compile and link this progranm separately.
(update-game-score${EXEEXT}): Use GETOPTDEPTS.
2005-09-11 Jason Rumney <jasonr@gnu.org>
* makefile.w32-in (../src/config.h): Don't overwrite. Print a
message instead.
(../src/paths.h): Removed.
2005-07-27 Juanma Barranquero <lekktu@gmail.com>
* .cvsignore: Don't ignore fns-* and fns.el, which are no longer

View File

@ -460,10 +460,12 @@ emacsclient${EXEEXT}: ${srcdir}/emacsclient.c ../src/config.h $(GETOPTDEPS)
hexl${EXEEXT}: ${srcdir}/hexl.c ../src/config.h
$(CC) ${ALL_CFLAGS} ${srcdir}/hexl.c $(LOADLIBES) -o hexl
update-game-score${EXEEXT}: ${srcdir}/update-game-score.c ../src/config.h
$(CC) ${ALL_CFLAGS} ${srcdir}/update-game-score.c \
update-game-score${EXEEXT}: update-game-score.o $(GETOPTDEPS)
$(CC) ${LINK_CFLAGS} ${MOVE_FLAGS} update-game-score.o $(GETOPTOBJS) $(LOADLIBES) -o update-game-score
update-game-score.o: ${srcdir}/update-game-score.c ../src/config.h $(GETOPT_H)
$(CC) -c ${CPP_CFLAGS} ${srcdir}/update-game-score.c \
-DHAVE_SHARED_GAME_DIR="\"$(gamedir)\"" \
$(LOADLIBES) -o update-game-score
/* These are NOT included in INSTALLABLES or UTILITIES.
See ../src/Makefile.in. */

View File

@ -300,9 +300,9 @@ cleanall: clean
# Headers we would preprocess if we could.
#
../src/config.h: ../nt/$(CONFIG_H)
$(CP) $(ALL_DEPS) $@
../src/paths.h: ../nt/paths.h
$(CP) $(ALL_DEPS) $@
echo config.h has changed. Re-run configure.bat.
exit -1
getopt.h: getopt_.h
$(CP) $(ALL_DEPS) $@

View File

@ -1,3 +1,386 @@
2005-09-18 Michael Albinus <michael.albinus@gmx.de>
* net/tramp.el (tramp-login-prompt-regexp): Expand regexp in order
to cover prompts like "login as:". Reported by Slawomir Nowaczyk
<slawomir.nowaczyk.847@student.lu.se>.
2005-09-18 Chong Yidong <cyd@stupidchicken.com>
* image.el (image-load-path): Use symbol `data-directory' instead
of its value, for backward compatibility with packages that bind
it during `find-image'. Suggested by Katsumi Yamaoka.
(image-search-load-path): Handle symbols whose values are strings.
2005-09-18 Romain Francoise <romain@orebokech.com>
* calendar/diary-lib.el (mark-diary-entries): Rearrange to wrap
with-current-buffer form in save-excursion.
2005-09-18 D Goel <deego@gnufans.org>
* apropos.el (apropos-command): Fix `message' call: first arg
should be a format spec. In this and all other cases that appear
below and elsewhere in the source code, I made a change only when
two conditions were satisfied: [1] I can think of a possibility
that the arguments would cause an error, for example, the code is
question relies on extarnal variables such as filenames. [2] I was
sure that the arg to `message' could not have been nil in the
code.
* textmodes/tildify.el (tildify-region): Ditto.
* textmodes/reftex-index.el (reftex-index-change-entry)
(reftex-index-phrase-selection-or-word)
(reftex-query-index-phrase): Ditto.
* textmodes/reftex-dcr.el (reftex-echo-ref, reftex-echo-cite): Ditto.
* textmodes/org.el (org-complete, org-deadline, org-schedule)
(org-priority, org-table-sum): Ditto.
* textmodes/ispell.el (ispell-check-version)
(ispell-parse-output): Ditto.
* textmodes/flyspell.el (flyspell-mode-on)
(flyspell-notify-misspell, flyspell-word)
(flyspell-display-next-corrections): Ditto.
* textmodes/bibtex.el (bibtex-print-help-message): Ditto.
* textmodes/artist.el (artist-key-set-point-poly): Ditto.
* term/mac-win.el (mac-services-insert-text): Ditto.
* progmodes/vhdl-mode.el (vhdl-warning, vhdl-print-warnings)
(vhdl-hooked-abbrev, vhdl-template-insert-fun)
(vhdl-port-paste-testbench, vhdl-compose-new-component)
(vhdl-compose-configuration): Ditto.
* progmodes/sh-script.el (sh-blink, sh-show-indent)
(sh-set-indent, sh-learn-line-indent): Ditto.
* progmodes/ps-mode.el (ps-mode-target-column): Ditto.
* progmodes/idlwave.el (idlwave-make-tags)
(idlwave-scan-library-catalogs): Ditto.
* progmodes/idlw-shell.el (idlwave-shell-parse-stack-and-display): Ditto.
* progmodes/gud.el (gud-jdb-analyze-source): Ditto.
* progmodes/flymake.el (flymake-log): Ditto.
* progmodes/ebnf2ps.el (ebnf-generate-region): Ditto.
* progmodes/cmacexp.el (c-macro-expansion): Ditto.
* progmodes/ada-xref.el (ada-treat-cmd-string): Ditto.
* progmodes/ada-mode.el (ada-create-case-exception-substring)
(ada-justified-indent-current, ada-batch-reformat): Ditto.
* play/zone.el (zone): Ditto.
* play/landmark.el (lm-move): Ditto.
* play/decipher.el (decipher-show-alphabet): Ditto.
* net/newsticker.el (newsticker--display-jump)
(newsticker--display-scroll): Ditto.
* mail/rmail-spam-filter.el (rsf-add-subject-to-spam-list)
(rsf-add-sender-to-spam-list, rsf-add-region-to-spam-list): Ditto.
* mail/feedmail.el (feedmail-dump-message-to-queue): Ditto.
* eshell/esh-proc.el (eshell-remove-process-entry): Ditto.
* emulation/ws-mode.el (ws-last-error): Ditto.
* emulation/viper-macs.el (ex-map-read-args, ex-unmap-read-args)
(viper-record-kbd-macro): Ditto.
* emulation/viper-ex.el (ex-pwd, viper-info-on-file): Ditto.
* emacs-lisp/lisp-mnt.el (lm-report-bug): Ditto.
* emacs-lisp/find-func.el (find-function-noselect): Ditto.
* calendar/timeclock.el (timeclock-status-string)
(timeclock-workday-remaining-string)
(timeclock-workday-elapsed-string)
(timeclock-when-to-leave-string): Ditto.
* calendar/icalendar.el (icalendar--convert-ical-to-diary): Ditto.
* calc/calc-units.el (calc-enter-units-table): Ditto.
* calc/calc-mode.el (calc-mode-record-mode): Ditto.
* woman.el (woman-mini-help): Ditto.
* wdired.el (wdired-change-to-wdired-mode): Ditto.
* vc.el (vc-retrieve-snapshot): Ditto.
* strokes.el (strokes-read-stroke, strokes-read-complex-stroke): Ditto.
* startup.el (display-startup-echo-area-message): Ditto.
* simple.el (set-goal-column): Ditto.
* ses.el (ses-command-hook, ses-recalculate-cell): Ditto.
* server.el (server-process-filter): Ditto.
* printing.el (pr-interface-txt-print, pr-interface-printify)
(pr-interface-ps): Ditto.
* pcvs.el (cvs-help): Ditto.
* log-edit.el (log-edit, log-edit-mode-help): Ditto.
* iswitchb.el (iswitchb-possible-new-buffer): Ditto.
* isearch.el (isearch-edit-string): Ditto.
* image-mode.el (image-mode, image-minor-mode): Ditto.
* ibuf-macs.el (define-ibuffer-filter): Ditto.
* hi-lock.el (hi-lock-find-patterns): Ditto.
* files.el (toggle-read-only): Ditto.
* ediff-util.el (ediff-copy-diff)
(ediff-write-merge-buffer-and-maybe-kill): Ditto.
* echistory.el (Electric-history-undefined): Ditto.
* dnd.el (dnd-insert-text): Ditto.
* dired-aux.el (dired-query): Ditto.
* desktop.el (desktop-restore-file-buffer)
(desktop-lazy-create-buffer): Ditto.
* bookmark.el (bookmark-bmenu-locate): Ditto.
* obsolete/fast-lock.el (@top-level): Ditto in the macro
definition of `with-temp-message'.
* pcomplete.el (pcomplete--help): Fix `message' format spec. Not
having a %s would be weird, though not technically wrong.
2005-09-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* term/mac-win.el (mac-add-charset-info): Doc fix.
2005-09-17 Romain Francoise <romain@orebokech.com>
* shell.el (shell-resync-dirs): Handle echoing processes more
reliably. Don't insert resync command if `comint-process-echoes'
is non-nil.
2005-09-17 Magnus Henoch <mange@freemail.hu>
* textmodes/ispell.el (ispell-aspell-supports-utf8): New variable.
(ispell-check-version): Set ispell-aspell-supports-utf8 to t for
aspell versions >= 0.60.
(ispell-valid-dictionary-list): Call ispell-find-aspell-dictionaries
only if ispell-aspell-supports-utf8 is non-nil.
2005-09-17 Johan Bockg,Ae(Brd <bojohan@dd.chalmers.se>
* progmodes/scheme.el (scheme-mode-variables): Use setq to assign
buffer-local value to lisp-indent-function.
2005-09-17 Milan Zamazal <pdm@zamazal.org>
* progmodes/glasses.el (glasses-make-readable): If
glasses-separator differs from underscore, put appropriate
overlays over underscore characters.
(glasses-convert-to-unreadable): If glasses-separator differs from
underscore, try to convert glasses-separator characters to
underscores.
2005-09-16 Stefan Monnier <monnier@iro.umontreal.ca>
* calendar/diary-lib.el (mark-diary-entries): Don't move point.
Use with-syntax-table and dolist.
2005-09-16 Carsten Dominik <dominik@science.uva.nl>
* textmodes/reftex-auc.el:
* textmodes/reftex-cite.el:
* textmodes/reftex-dcr.el:
* textmodes/reftex-global.el:
* textmodes/reftex-parse.el:
* textmodes/reftex-ref.el:
* textmodes/reftex-sel.el:
* textmodes/reftex-toc.el:
* textmodes/reftex-vars.el:
* textmodes/reftex.el: Small changes to remove compiler warnings.
* textmodes/reftex-index.el: Likewise.
(reftex-query-index-phrase): More efficient use of markers.
2005-09-15 Chong Yidong <cyd@stupidchicken.com>
* image.el (image-load-path): New variable.
(image-search-load-path): New function.
(find-image): Search for images in `image-load-path'.
2005-09-15 Richard M. Stallman <rms@gnu.org>
* follow.el: Change Maintainer field.
2005-09-15 David Ponce <david@dponce.com>
* recentf.el (recentf-save-file-modes): New option.
(recentf-save-list): Use it.
2005-09-15 Nick Roberts <nickrob@snap.net.nz>
* bindings.el (mode-line-eol-desc, mode-line-coding-system-map)
(mode-line-mule-info, mode-line-modified): Move bindings from
mouse-3 to mouse-1.
2005-09-15 Chong Yidong <cyd@stupidchicken.com>
* simple.el (sendmail-user-agent-compose): Revert last change.
2005-09-14 Stefan Monnier <monnier@iro.umontreal.ca>
* net/ange-ftp.el (ange-ftp-process-filter): Revert to ^#+$.
Use with-current-buffer.
(ange-ftp-gwp-start): Remove unused var `gw-user'.
(ange-ftp-guess-hash-mark-size): Remove unused var `result'.
(ange-ftp-insert-directory): Remove unused var `short'.
(ange-ftp-file-name-sans-versions): Remove unused var `host-type'.
* pcvs-defs.el (cvs-version): Recognize CVSNT version string.
(cvs-execute-single-dir): Change default: cvs-1.9 is ancient.
* calendar/cal-menu.el: Don't require easymenu, since we don't use it.
(check-calendar-holidays, diary-list-entries): Autoload.
Otherwise `emacs -q' followed by "mouse-2 -> diary entries" burps.
(calendar-mouse-holidays, calendar-mouse-view-diary-entries): Simplify.
* calendar/diary-lib.el (diary-show-all-entries): Fix last change,
which mistakenly removed a call to display-buffer.
2005-09-14 Juanma Barranquero <lekktu@gmail.com>
* obsolete/iso-insert.el: Move to obsolete/ from international/.
2005-09-14 Thien-Thi Nguyen <ttn@gnu.org>
* progmodes/hideshow.el
(hs-hide-comments-when-hiding-all): Remove autoload cookie.
(hs-allow-nesting): New user var.
(hs-discard-overlays): Skip "internal" overlays if nesting allowed.
(hs-hide-block-at-point): When nesting allowed,
if there is already an overlay in place, delete it.
(hs-safety-is-job-n): Delete func; remove call sites.
(hs-hide-level-recursive): Don't pre-clean if nesting allowed.
(hs-overlay-at): New func.
(hs-already-hidden-p, hs-show-block): Use it.
(hs-hide-all): Don't pre-clean if nesting allowed.
(hs-show-all): Temporarily disallow
nesting around call to `hs-discard-overlays'.
2005-09-14 Chong Yidong <cyd@stupidchicken.com>
* mouse.el (mouse-major-mode-menu): Make `prefix' optional.
Delete unused local var.
2005-09-13 Juanma Barranquero <lekktu@gmail.com>
* help-fns.el (describe-categories): "?\ " -> "?\s".
(help-do-arg-highlight): Recognize also ARG-n, as in
`move-to-left-margin' (ARG+n is already recognized). Simplify.
* international/codepage.el (dos-unsupported-char-glyph):
* net/newsticker.el (tool-bar-map, w3-mode-map)
(w3m-minor-mode-map):
* progmodes/vhdl-mode.el (conf-alist, conf-entry, conf-key)
(ent-alist):
* textmodes/reftex-vars.el (reftex-tables-dirty): Add defvars.
2005-09-13 Chong Yidong <cyd@stupidchicken.com>
* custom.el (custom-push-theme): Handle the case where a symbol is
bound but face properties have not yet been assigned.
* mail/sendmail.el (mail): Use new buffer if `noerase' is `new'.
Fix behavior if noerase is `t' and there is no mail buffer.
* simple.el (sendmail-user-agent-compose): Use a new mail buffer
if `continue' is nil, rather than signal an error.
2005-09-12 Richard M. Stallman <rms@gnu.org>
* font-lock.el (font-lock-keywords): Add autoload.
* help-fns.el (describe-variable): Rearrange to put source link
in a predictable place.
* net/newsticker.el: New file.
2005-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
* calendar/calendar.el (calendar-for-loop): Add edebug info.
(calendar-basic-setup): Use the new nil arg.
(number-of-diary-entries): Move to diary-lib.el.
* calendar/diary-lib.el: Use with-current-buffer, match-string.
(diary-list-entries): Use with-syntax-table and dolist.
Rename from list-diary-entries.
Use number-of-diary-entries if `number' is nil.
(diary, diary-view-entries): Use this new name and new nil arg value.
(number-of-diary-entries): Move from calendar.el.
(diary-unhide-everything): New function.
(include-other-diary-files, fancy-diary-display)
(diary-show-all-entries, make-diary-entry): Use it.
(diary-mail-entries): Use buffer-string.
(mark-diary-entries): Fix long standing paren typo.
(diary-sexp-entry): Use count-lines.
(make-diary-entry): Avoid `previous-line'.
(diary-mode-map): New var.
(diary-mode): Redraw cal after saving. Setup header-line.
(fancy-diary-display-mode): Use local-set-key.
* startup.el (command-line): Try calling various terminal-init-foo-bar
functions by stripping hyphenated suffixes from $TERM.
* files.el (normal-mode): Check boundness of font-lock-keywords.
2005-09-12 Richard M. Stallman <rms@gnu.org>
* progmodes/compile.el: Don't decide a file's directory
until the user actually tries to go there.
(compilation-next-error-function):
Pass compilation-find-file the directory from the file-struct.
(compilation-internal-error-properties): Separate local FILE-STRUCT
from FILE. Doc the args better. Rename arg FMT to FMTS.
(compilation-find-file): Arg DIR renamed to DIRECTORY.
Expand it, and if nil, use default-directory.
(compilation-get-file-structure): Don't mix specified directory
with default directory. Put specified directory into
file-struct. Don't make the file name absolute.
* progmodes/compile.el (compilation-error-regexp-alist): Doc fix.
(compile-command): Add autoload.
(compilation-disable-input): Add autoload.
2005-09-11 Stephen Gildea <gildea@stop.mail-abuse.org>
* time-stamp.el: Mention variable `time-stamp-pattern' in doc
strings of the variables it can override.
(time-stamp): New (as yet undocumented) time-stamp-format escapes
%Q and %q, for fully-qualified domain name and unqualified host name.
2005-09-11 Kim F. Storm <storm@cua.dk>
* emacs-lisp/authors.el (authors-aliases): Update list.
@ -15,14 +398,14 @@
2005-09-10 Pascal Dupuis <Pascal.Dupuis@esat.kuleuven.be> (tiny change)
* progmodes/octave-inf.el (inferior-octave-startup): Resync
current dir at the end.
* progmodes/octave-inf.el (inferior-octave-startup):
Resync current dir at the end.
2005-09-10 Emilio C. Lopes <eclig@gmx.net>
* woman.el (woman-topic-at-point-default): Renamed to
woman-use-topic-at-point-default.
(woman-topic-at-point): Renamed to woman-use-topic-at-point.
* woman.el (woman-topic-at-point-default):
Rename to woman-use-topic-at-point-default.
(woman-topic-at-point): Rename to woman-use-topic-at-point.
(woman-file-name): Reflect renames above. Automatically use the
word at point as topic if woman-use-topic-at-point is non-nil.
Otherwise offer it as default but don't insert it in the
@ -40,28 +423,26 @@
(menu-bar-non-minibuffer-window-p): New functions.
("Split Window", "Save As..."): Use them.
("Postscript Print Buffer (B+W)", "Postscript Print Buffer")
("Print Buffer", "Truncate Long Lines in this Buffer"): Use
menu-bar-menu-frame-live-and-visible-p.
("Print Buffer", "Truncate Long Lines in this Buffer"):
Use menu-bar-menu-frame-live-and-visible-p.
("Save Buffer", "Insert File", "Open Directory...")
("Open File...", "Visit New File..."): Use
menu-bar-non-minibuffer-window-p.
(kill-this-buffer-enabled-p, dired <menu-enable>): Use
menu-bar-non-minibuffer-window-p.
("Open File...", "Visit New File..."):
Use menu-bar-non-minibuffer-window-p.
(kill-this-buffer-enabled-p, dired <menu-enable>):
Use menu-bar-non-minibuffer-window-p.
2005-09-09 Eli Zaretskii <eliz@gnu.org>
* cus-start.el (all): Don't complain about fringe-related
built-ins if fringes are not supported. Ditto about
selection-related built-ins. Fix the test for GTK-related
built-ins.
selection-related built-ins. Fix the test for GTK-related built-ins.
* menu-bar.el ("Split Window", "Postscript Print Buffer (B+W)")
("Postscript Print Buffer", "Print Region", "Save As...")
("Save", "Insert File...", "Open Directory...")
("Open File...", "Visit New File..."")
("Truncate Long Lines in this Buffer"): Don't look at
menu-updating-frame if this display does not support multiple
frames.
menu-updating-frame if this display does not support multiple frames.
2005-09-09 Frederik Fouvry <fouvry@CoLi.Uni-SB.DE>
@ -94,15 +475,6 @@
* descr-text.el (describe-property-list): Handle non-symbol prop names.
2005-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
* net/ange-ftp.el (ange-ftp-process-filter): Revert to ^#+$.
Use with-current-buffer.
(ange-ftp-gwp-start): Remove unused var `gw-user'.
(ange-ftp-guess-hash-mark-size): Remove unused var `result'.
(ange-ftp-insert-directory): Remove unused var `short'.
(ange-ftp-file-name-sans-versions): Remove unused var `host-type'.
2005-08-30 Richard M. Stallman <rms@gnu.org>
* simple.el (blink-matching-open): Get rid of text props from
@ -138,6 +510,13 @@
(recentf-open-files): Use it.
(recentf-open-file-with-key): New command.
2005-09-08 Chong Yidong <cyd@stupidchicken.com>
* buff-menu.el (Buffer-menu-sort-by-column): New function.
Suggested by Kim F. Storm.
(Buffer-menu-sort-button-map): Global keymap for sort buttons.
(Buffer-menu-make-sort-button): Use global keymap.
2005-09-07 Michael Albinus <michael.albinus@gmx.de>
* woman.el (top): Remap `man' command by `woman' in `woman-mode-map'.
@ -163,13 +542,6 @@
* calc/calc-poly.el (math-expand-term): Multiply out any powers
when in matrix mode.
2005-09-08 Chong Yidong <cyd@stupidchicken.com>
* buff-menu.el (Buffer-menu-sort-by-column): New function.
Suggested by Kim F. Storm.
(Buffer-menu-sort-button-map): Global keymap for sort buttons.
(Buffer-menu-make-sort-button): Use global keymap.
2005-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
* buff-menu.el (Buffer-menu-make-sort-button): Add docstrings, use

View File

@ -443,7 +443,7 @@ satisfy the predicate VAR-PREDICATE."
(setq p (cdr p))))
(and (apropos-print t nil)
message
(message message))))
(message "%s" message))))
;;;###autoload

View File

@ -123,7 +123,7 @@ corresponding to the mode line clicked."
(defvar mode-line-coding-system-map
(let ((map (make-sparse-keymap)))
(define-key map [mode-line mouse-3]
(define-key map [mode-line mouse-1]
(lambda (e)
(interactive "e")
(save-selected-window
@ -156,7 +156,7 @@ corresponding to the mode line clicked."
(setq desc
(propertize
mnemonic
'help-echo (format "%s end-of-line; mouse-3 to cycle"
'help-echo (format "%s end-of-line; mouse-1 to cycle"
(if (eq eol 0) "Unix-style LF"
(if (eq eol 1) "Dos-style CRLF"
(if (eq eol 2) "Mac-style CR"
@ -164,7 +164,7 @@ corresponding to the mode line clicked."
'keymap
(eval-when-compile
(let ((map (make-sparse-keymap)))
(define-key map [mode-line mouse-3] 'mode-line-change-eol)
(define-key map [mode-line mouse-1] 'mode-line-change-eol)
map))
'mouse-face 'mode-line-highlight))
(push (cons eol (cons mnemonic desc)) mode-line-eol-desc-cache)
@ -190,7 +190,7 @@ corresponding to the mode line clicked."
(when buffer-file-coding-system
(if enable-multibyte-characters
(concat (symbol-name buffer-file-coding-system)
" buffer; mouse-3: describe coding system")
" buffer; mouse-1: describe coding system")
(concat "Unibyte " (symbol-name buffer-file-coding-system)
" buffer")))))
'mouse-face 'mode-line-highlight
@ -230,27 +230,27 @@ Normally nil in most modes, since there is no process to display.")
(list (propertize
"%1*"
'help-echo (purecopy (lambda (window object point)
(format "%sead-only: mouse-3 toggles"
(format "%sead-only: mouse-1 toggles"
(save-selected-window
(select-window window)
(if buffer-read-only
"R"
"Not r")))))
'local-map (purecopy (make-mode-line-mouse-map
'mouse-3
'mouse-1
#'mode-line-toggle-read-only))
'mouse-face 'mode-line-highlight)
(propertize
"%1+"
'help-echo (purecopy (lambda (window object point)
(format "%sodified: mouse-3 toggles"
(format "%sodified: mouse-1 toggles"
(save-selected-window
(select-window window)
(if (buffer-modified-p)
"M"
"Not m")))))
'local-map (purecopy (make-mode-line-mouse-map
'mouse-3 #'mode-line-toggle-modified))
'mouse-1 #'mode-line-toggle-modified))
'mouse-face 'mode-line-highlight))
"Mode-line control for displaying whether current buffer is modified.")

View File

@ -2058,7 +2058,7 @@ To carry out the deletions that you've marked, use \\<bookmark-bmenu-mode-map>\\
(interactive)
(if (bookmark-bmenu-check-position)
(let ((bmrk (bookmark-bmenu-bookmark)))
(message (bookmark-location bmrk)))))
(message "%s" (bookmark-location bmrk)))))
(defun bookmark-bmenu-relocate ()
"Change the file path of the bookmark on the current line,

View File

@ -408,7 +408,8 @@
((= n 4) 'global)
((= n 5) 'save)
(t 'local)))
(message (cond ((and (eq calc-mode-save-mode 'local) calc-embedded-info)
(message "%s"
(cond ((and (eq calc-mode-save-mode 'local) calc-embedded-info)
"Recording mode changes with [calc-mode: ...]")
((eq calc-mode-save-mode 'edit)
"Recording mode changes with [calc-edit-mode: ...]")

View File

@ -515,7 +515,7 @@ Entries are (SYMBOL EXPR DOC-STRING TEMP-TYPE BASE-UNITS).")
(interactive "P")
(and n (setq math-units-table-buffer-valid nil))
(math-build-units-table-buffer t)
(message (substitute-command-keys "Type \\[calc] to return to the Calculator")))
(message "%s" (substitute-command-keys "Type \\[calc] to return to the Calculator")))
(defun calc-define-unit (uname desc)
(interactive "SDefine unit name: \nsDescription: ")

View File

@ -44,7 +44,6 @@
(defvar event)
(eval-when-compile (require 'calendar))
(require 'easymenu)
(define-key calendar-mode-map [menu-bar edit] 'undefined)
(define-key calendar-mode-map [menu-bar search] 'undefined)
@ -323,12 +322,14 @@ ERROR is t, otherwise just returns nil."
(calendar-cursor-to-date (calendar-current-date))
(calendar-cursor-holidays)))
(autoload 'check-calendar-holidays "holidays")
(autoload 'diary-list-entries "diary-lib")
(defun calendar-mouse-holidays ()
"Pop up menu of holidays for mouse selected date."
(interactive)
(let* ((date (calendar-event-to-date))
(l (mapcar '(lambda (x) (list x))
(check-calendar-holidays date)))
(l (mapcar 'list (check-calendar-holidays date)))
(selection
(cal-menu-x-popup-menu
event
@ -350,11 +351,10 @@ Any holidays are shown if `holidays-in-diary-buffer' is t."
(diary-list-include-blanks nil)
(diary-display-hook 'ignore)
(diary-entries
(mapcar '(lambda (x) (split-string (car (cdr x)) "\^M\\|\n"))
(list-diary-entries date 1)))
(mapcar (lambda (x) (split-string (car (cdr x)) "\^M\\|\n"))
(diary-list-entries date 1)))
(holidays (if holidays-in-diary-buffer
(mapcar '(lambda (x) (list x))
(check-calendar-holidays date))))
(check-calendar-holidays date)))
(title (concat "Diary entries "
(if diary (format "from %s " diary) "")
"for "
@ -365,9 +365,7 @@ Any holidays are shown if `holidays-in-diary-buffer' is t."
(list title
(append
(list title)
(if holidays
(mapcar '(lambda (x) (list (concat " " (car x))))
holidays))
(mapcar (lambda (x) (list (concat " " x))) holidays)
(if holidays
(list "--shadow-etched-in" "--shadow-etched-in"))
(if diary-entries

View File

@ -163,35 +163,6 @@ be overridden by the value of `calendar-setup'."
:type 'boolean
:group 'diary)
;;;###autoload
(defcustom number-of-diary-entries 1
"*Specifies how many days of diary entries are to be displayed initially.
This variable affects the diary display when the command \\[diary] is used,
or if the value of the variable `view-diary-entries-initially' is t. For
example, if the default value 1 is used, then only the current day's diary
entries will be displayed. If the value 2 is used, then both the current
day's and the next day's entries will be displayed.
The value can also be a vector such as [0 2 2 2 2 4 1]; this value
says to display no diary entries on Sunday, the display the entries
for the current date and the day after on Monday through Thursday,
display Friday through Monday's entries on Friday, and display only
Saturday's entries on Saturday.
This variable does not affect the diary display with the `d' command
from the calendar; in that case, the prefix argument controls the
number of days of diary entries displayed."
:type '(choice (integer :tag "Entries")
(vector :value [0 0 0 0 0 0 0]
(integer :tag "Sunday")
(integer :tag "Monday")
(integer :tag "Tuesday")
(integer :tag "Wednesday")
(integer :tag "Thursday")
(integer :tag "Friday")
(integer :tag "Saturday")))
:group 'diary)
;;;###autoload
(defcustom mark-diary-entries-in-calendar nil
"*Non-nil means mark dates with diary entries, in the calendar window.
@ -393,7 +364,7 @@ functions that move by days and weeks."
For example,
(add-hook 'calendar-move-hook (lambda () (view-diary-entries 1)))
(add-hook 'calendar-move-hook (lambda () (diary-view-entries 1)))
redisplays the diary for whatever date the cursor is moved to."
:type 'hook
@ -1335,6 +1306,7 @@ A negative YR is interpreted as BC; -1 being 1 BC, and so on."
(defmacro calendar-for-loop (var from init to final do &rest body)
"Execute a for loop."
(declare (debug (symbolp "from" form "to" form "do" body)))
`(let ((,var (1- ,init)))
(while (>= ,final (setq ,var (1+ ,var)))
,@body)))
@ -1651,10 +1623,7 @@ to be replaced by asterisks to highlight it whenever it is in the window."
(increment-calendar-month month year (- calendar-offset))
(generate-calendar-window month year)
(if (and view-diary-entries-initially (calendar-date-is-visible-p date))
(view-diary-entries
(if (vectorp number-of-diary-entries)
(aref number-of-diary-entries (calendar-day-of-week date))
number-of-diary-entries))))
(diary-view-entries)))
(let* ((diary-buffer (get-file-buffer diary-file))
(diary-window (if diary-buffer (get-buffer-window diary-buffer)))
(split-height-threshold (if diary-window 2 1000)))
@ -1662,7 +1631,7 @@ to be replaced by asterisks to highlight it whenever it is in the window."
(list-calendar-holidays)))
(run-hooks 'initial-calendar-window-hook))
(autoload 'view-diary-entries "diary-lib"
(autoload 'diary-view-entries "diary-lib"
"Prepare and display a buffer with diary entries.
Searches your diary file for entries that match ARG days starting with
the date indicated by the cursor position in the displayed three-month
@ -2272,7 +2241,7 @@ movement commands will not work correctly."
(define-key calendar-mode-map "x" 'mark-calendar-holidays)
(define-key calendar-mode-map "u" 'calendar-unmark)
(define-key calendar-mode-map "m" 'mark-diary-entries)
(define-key calendar-mode-map "d" 'view-diary-entries)
(define-key calendar-mode-map "d" 'diary-view-entries)
(define-key calendar-mode-map "D" 'view-other-diary-entries)
(define-key calendar-mode-map "s" 'show-all-diary-entries)
(define-key calendar-mode-map "pd" 'calendar-print-day-of-year)
@ -2493,8 +2462,7 @@ the STRINGS are just concatenated and the result truncated."
(defun update-calendar-mode-line ()
"Update the calendar mode line with the current date and date style."
(if (bufferp (get-buffer calendar-buffer))
(save-excursion
(set-buffer calendar-buffer)
(with-current-buffer calendar-buffer
(setq mode-line-format
(calendar-string-spread
(let ((date (condition-case nil
@ -2589,14 +2557,15 @@ ERROR is t, otherwise just returns nil."
(list month
(string-to-number (buffer-substring (1+ (point)) (+ 4 (point))))
year))
(if (looking-at "\\*")
(save-excursion
(re-search-backward "[^*]")
(if (looking-at ".\\*\\*")
(list month calendar-starred-day year)
(if error (error "Not on a date!"))))
(if (and (looking-at "\\*")
(save-excursion
(re-search-backward "[^*]")
(looking-at ".\\*\\*")))
(list month calendar-starred-day year)
(if error (error "Not on a date!"))))))
(add-to-list 'debug-ignored-errors "Not on a date!")
;; The following version of calendar-gregorian-from-absolute is preferred for
;; reasons of clarity, BUT it's much slower than the version that follows it.
@ -3071,8 +3040,7 @@ Defaults to today's date if DATE is not given."
"Show dates on other calendars for date under the cursor."
(interactive)
(let* ((date (calendar-cursor-to-date t)))
(save-excursion
(set-buffer (get-buffer-create other-calendars-buffer))
(with-current-buffer (get-buffer-create other-calendars-buffer)
(setq buffer-read-only nil)
(calendar-set-mode-line
(concat (calendar-date-string date) " (Gregorian)"))
@ -3138,9 +3106,9 @@ Defaults to today's date if DATE is not given."
(provide 'calendar)
;;; Local variables:
;;; byte-compile-dynamic: t
;;; End:
;; Local variables:
;; byte-compile-dynamic: t
;; End:
;;; arch-tag: 19c61596-c8fb-4c69-bcf1-7dd739919cd8
;; arch-tag: 19c61596-c8fb-4c69-bcf1-7dd739919cd8
;;; calendar.el ends here

View File

@ -58,21 +58,17 @@ does nothing. This function is suitable for execution in a `.emacs' file."
(interactive "P")
(diary-check-diary-file)
(let ((date (calendar-current-date)))
(list-diary-entries
date
(cond (arg (prefix-numeric-value arg))
((vectorp number-of-diary-entries)
(aref number-of-diary-entries (calendar-day-of-week date)))
(t number-of-diary-entries)))))
(diary-list-entries date (if arg (prefix-numeric-value arg)))))
(defun view-diary-entries (arg)
(define-obsolete-function-alias 'view-diary-entries 'diary-view-entries)
(defun diary-view-entries (&optional arg)
"Prepare and display a buffer with diary entries.
Searches the file named in `diary-file' for entries that
match ARG days starting with the date indicated by the cursor position
in the displayed three-month calendar."
(interactive "p")
(diary-check-diary-file)
(list-diary-entries (calendar-cursor-to-date t) arg))
(diary-list-entries (calendar-cursor-to-date t) arg))
(defun view-other-diary-entries (arg d-file)
"Prepare and display buffer of diary entries from an alternative diary file.
@ -182,14 +178,15 @@ The holidays are those in the list `calendar-holidays'.")
"Local time of candle lighting diary entry--applies if date is a Friday.
No diary entry if there is no sunset on that date.")
(defvar diary-syntax-table (copy-syntax-table (standard-syntax-table))
(defvar diary-syntax-table
(let ((st (copy-syntax-table (standard-syntax-table))))
(modify-syntax-entry ?* "w" st)
(modify-syntax-entry ?: "w" st)
st)
"The syntax table used when parsing dates in the diary file.
It is the standard syntax table used in Fundamental mode, but with the
syntax of `*' and `:' changed to be word constituents.")
(modify-syntax-entry ?* "w" diary-syntax-table)
(modify-syntax-entry ?: "w" diary-syntax-table)
(defvar diary-entries-list)
(defvar displayed-year)
(defvar displayed-month)
@ -243,9 +240,7 @@ search."
regexp (concat diary-glob-file-regexp-prefix regexp))
(setq attrvalue nil)
(if (re-search-forward regexp (point-max) t)
(setq attrvalue (buffer-substring-no-properties
(match-beginning regnum)
(match-end regnum))))
(setq attrvalue (match-string-no-properties regnum)))
(if (and attrvalue
(setq attrvalue (diary-attrtype-convert attrvalue type)))
(setq ret-attr (append ret-attr (list attrname attrvalue))))
@ -264,9 +259,7 @@ search."
(setq attrvalue nil)
(if (string-match regexp entry)
(progn
(setq attrvalue (substring-no-properties entry
(match-beginning regnum)
(match-end regnum)))
(setq attrvalue (match-string-no-properties regnum entry))
(setq entry (replace-match "" t t entry))))
(if (and attrvalue
(setq attrvalue (diary-attrtype-convert attrvalue type)))
@ -299,8 +292,38 @@ Only used if `diary-header-line-flag' is non-nil."
(defvar diary-saved-point) ; internal
(defun list-diary-entries (date number)
"Create and display a buffer containing the relevant lines in diary-file.
(defcustom number-of-diary-entries 1
"Specifies how many days of diary entries are to be displayed initially.
This variable affects the diary display when the command \\[diary] is used,
or if the value of the variable `view-diary-entries-initially' is t. For
example, if the default value 1 is used, then only the current day's diary
entries will be displayed. If the value 2 is used, then both the current
day's and the next day's entries will be displayed.
The value can also be a vector such as [0 2 2 2 2 4 1]; this value
says to display no diary entries on Sunday, the display the entries
for the current date and the day after on Monday through Thursday,
display Friday through Monday's entries on Friday, and display only
Saturday's entries on Saturday.
This variable does not affect the diary display with the `d' command
from the calendar; in that case, the prefix argument controls the
number of days of diary entries displayed."
:type '(choice (integer :tag "Entries")
(vector :value [0 0 0 0 0 0 0]
(integer :tag "Sunday")
(integer :tag "Monday")
(integer :tag "Tuesday")
(integer :tag "Wednesday")
(integer :tag "Thursday")
(integer :tag "Friday")
(integer :tag "Saturday")))
:group 'diary)
(define-obsolete-function-alias 'list-diary-entries 'diary-list-entries)
(defun diary-list-entries (date number)
"Create and display a buffer containing the relevant lines in `diary-file'.
The arguments are DATE and NUMBER; the entries selected are those
for NUMBER days starting with date DATE. The other entries are hidden
using selective display. If NUMBER is less than 1, this function does nothing.
@ -332,10 +355,12 @@ These hooks have the following distinct roles:
`diary-hook' is run last. This can be used for an appointment
notification function."
(unless number
(setq number (if (vectorp number-of-diary-entries)
(aref number-of-diary-entries (calendar-day-of-week date))
number-of-diary-entries)))
(when (> number 0)
(let ((original-date date);; save for possible use in the hooks
old-diary-syntax-table
diary-entries-list
file-glob-attrs
(date-string (calendar-date-string date))
@ -356,100 +381,94 @@ These hooks have the following distinct roles:
(setq selective-display-ellipses nil)
(if diary-header-line-flag
(setq header-line-format diary-header-line-format))
(setq old-diary-syntax-table (syntax-table))
(set-syntax-table diary-syntax-table)
(unwind-protect
(let ((buffer-read-only nil)
(diary-modified (buffer-modified-p))
(mark (regexp-quote diary-nonmarking-symbol)))
;; First and last characters must be ^M or \n for
;; selective display to work properly
(goto-char (1- (point-max)))
(if (not (looking-at "\^M\\|\n"))
(progn
(goto-char (point-max))
(insert "\^M")))
(goto-char (point-min))
(if (not (looking-at "\^M\\|\n"))
(insert "\^M"))
(subst-char-in-region (point-min) (point-max) ?\n ?\^M t)
(calendar-for-loop
i from 1 to number do
(let ((d diary-date-forms)
(month (extract-calendar-month date))
(day (extract-calendar-day date))
(year (extract-calendar-year date))
(entry-found (list-sexp-diary-entries date)))
(while d
(let*
((date-form (if (equal (car (car d)) 'backup)
(cdr (car d))
(car d)))
(backup (equal (car (car d)) 'backup))
(dayname
(format "%s\\|%s\\.?"
(calendar-day-name date)
(calendar-day-name date 'abbrev)))
(monthname
(format "\\*\\|%s\\|%s\\.?"
(calendar-month-name month)
(calendar-month-name month 'abbrev)))
(month (concat "\\*\\|0*" (int-to-string month)))
(day (concat "\\*\\|0*" (int-to-string day)))
(year
(concat
"\\*\\|0*" (int-to-string year)
(if abbreviated-calendar-year
(concat "\\|" (format "%02d" (% year 100)))
"")))
(regexp
(concat
"\\(\\`\\|\^M\\|\n\\)" mark "?\\("
(mapconcat 'eval date-form "\\)\\(")
"\\)"))
(case-fold-search t))
(goto-char (point-min))
(while (re-search-forward regexp nil t)
(if backup (re-search-backward "\\<" nil t))
(if (and (or (char-equal (preceding-char) ?\^M)
(char-equal (preceding-char) ?\n))
(not (looking-at " \\|\^I")))
;; Diary entry that consists only of date.
(backward-char 1)
;; Found a nonempty diary entry--make it
;; visible and add it to the list.
(setq entry-found t)
(let ((entry-start (point))
date-start temp)
(re-search-backward "\^M\\|\n\\|\\`")
(setq date-start (point))
(re-search-forward "\^M\\|\n" nil t 2)
(while (looking-at " \\|\^I")
(re-search-forward "\^M\\|\n" nil t))
(backward-char 1)
(subst-char-in-region date-start
(point) ?\^M ?\n t)
(setq entry (buffer-substring entry-start (point))
temp (diary-pull-attrs entry file-glob-attrs)
entry (nth 0 temp))
(add-to-diary-list
date
entry
(buffer-substring
(1+ date-start) (1- entry-start))
(copy-marker entry-start) (nth 1 temp))))))
(setq d (cdr d)))
(or entry-found
(not diary-list-include-blanks)
(setq diary-entries-list
(append diary-entries-list
(list (list date "" "" "" "")))))
(setq date
(calendar-gregorian-from-absolute
(1+ (calendar-absolute-from-gregorian date))))
(setq entry-found nil)))
(set-buffer-modified-p diary-modified))
(set-syntax-table old-diary-syntax-table))
(with-syntax-table diary-syntax-table
(let ((buffer-read-only nil)
(diary-modified (buffer-modified-p))
(mark (regexp-quote diary-nonmarking-symbol)))
;; First and last characters must be ^M or \n for
;; selective display to work properly
(goto-char (1- (point-max)))
(if (not (looking-at "\^M\\|\n"))
(progn
(goto-char (point-max))
(insert "\^M")))
(goto-char (point-min))
(if (not (looking-at "\^M\\|\n"))
(insert "\^M"))
(subst-char-in-region (point-min) (point-max) ?\n ?\^M t)
(calendar-for-loop
i from 1 to number do
(let ((month (extract-calendar-month date))
(day (extract-calendar-day date))
(year (extract-calendar-year date))
(entry-found (list-sexp-diary-entries date)))
(dolist (date-form diary-date-forms)
(let*
((backup (when (eq (car date-form) 'backup)
(setq date-form (cdr date-form))
t))
(dayname
(format "%s\\|%s\\.?"
(calendar-day-name date)
(calendar-day-name date 'abbrev)))
(monthname
(format "\\*\\|%s\\|%s\\.?"
(calendar-month-name month)
(calendar-month-name month 'abbrev)))
(month (concat "\\*\\|0*" (int-to-string month)))
(day (concat "\\*\\|0*" (int-to-string day)))
(year
(concat
"\\*\\|0*" (int-to-string year)
(if abbreviated-calendar-year
(concat "\\|" (format "%02d" (% year 100)))
"")))
(regexp
(concat
"\\(\\`\\|\^M\\|\n\\)" mark "?\\("
(mapconcat 'eval date-form "\\)\\(")
"\\)"))
(case-fold-search t))
(goto-char (point-min))
(while (re-search-forward regexp nil t)
(if backup (re-search-backward "\\<" nil t))
(if (and (or (char-equal (preceding-char) ?\^M)
(char-equal (preceding-char) ?\n))
(not (looking-at " \\|\^I")))
;; Diary entry that consists only of date.
(backward-char 1)
;; Found a nonempty diary entry--make it
;; visible and add it to the list.
(setq entry-found t)
(let ((entry-start (point))
date-start temp)
(re-search-backward "\^M\\|\n\\|\\`")
(setq date-start (point))
(re-search-forward "\^M\\|\n" nil t 2)
(while (looking-at " \\|\^I")
(re-search-forward "\^M\\|\n" nil t))
(backward-char 1)
(subst-char-in-region date-start
(point) ?\^M ?\n t)
(setq entry (buffer-substring entry-start (point))
temp (diary-pull-attrs entry file-glob-attrs)
entry (nth 0 temp))
(add-to-diary-list
date
entry
(buffer-substring
(1+ date-start) (1- entry-start))
(copy-marker entry-start) (nth 1 temp)))))))
(or entry-found
(not diary-list-include-blanks)
(setq diary-entries-list
(append diary-entries-list
(list (list date "" "" "" "")))))
(setq date
(calendar-gregorian-from-absolute
(1+ (calendar-absolute-from-gregorian date))))
(setq entry-found nil)))
(set-buffer-modified-p diary-modified)))
(goto-char (point-min))
(run-hooks 'nongregorian-diary-listing-hook
'list-diary-entries-hook)
@ -459,6 +478,14 @@ These hooks have the following distinct roles:
(run-hooks 'diary-hook)
diary-entries-list))))))
(defun diary-unhide-everything ()
(setq selective-display nil)
(let ((inhibit-read-only t)
(modified (buffer-modified-p)))
(subst-char-in-region (point-min) (point-max) ?\^M ?\n t)
(set-buffer-modified-p modified))
(kill-local-variable 'mode-line-format))
(defun include-other-diary-files ()
"Include the diary entries from other diary files with those of diary-file.
This function is suitable for use in `list-diary-entries-hook';
@ -471,34 +498,24 @@ changing the variable `diary-include-string'."
(goto-char (point-min))
(while (re-search-forward
(concat
"\\(\\`\\|\^M\\|\n\\)"
"\\(?:\\`\\|\^M\\|\n\\)"
(regexp-quote diary-include-string)
" \"\\([^\"]*\\)\"")
nil t)
(let* ((diary-file (substitute-in-file-name
(buffer-substring-no-properties
(match-beginning 2) (match-end 2))))
(match-string-no-properties 1)))
(diary-list-include-blanks nil)
(list-diary-entries-hook 'include-other-diary-files)
(diary-display-hook 'ignore)
(diary-hook nil)
(d-buffer (find-buffer-visiting diary-file))
(diary-modified (if d-buffer
(save-excursion
(set-buffer d-buffer)
(buffer-modified-p)))))
(diary-hook nil))
(if (file-exists-p diary-file)
(if (file-readable-p diary-file)
(unwind-protect
(setq diary-entries-list
(append diary-entries-list
(list-diary-entries original-date number)))
(save-excursion
(set-buffer (find-buffer-visiting diary-file))
(let ((inhibit-read-only t))
(subst-char-in-region (point-min) (point-max) ?\^M ?\n t))
(setq selective-display nil)
(set-buffer-modified-p diary-modified)))
(with-current-buffer (find-buffer-visiting diary-file)
(diary-unhide-everything)))
(beep)
(message "Can't read included diary file %s" diary-file)
(sleep-for 2))
@ -564,13 +581,9 @@ changing the variable `diary-include-string'."
(defun fancy-diary-display ()
"Prepare a diary buffer with relevant entries in a fancy, noneditable form.
This function is provided for optional use as the `diary-display-hook'."
(save-excursion;; Turn off selective-display in the diary file's buffer.
(set-buffer (find-buffer-visiting (substitute-in-file-name diary-file)))
(let ((diary-modified (buffer-modified-p)))
(subst-char-in-region (point-min) (point-max) ?\^M ?\n t)
(setq selective-display nil)
(kill-local-variable 'mode-line-format)
(set-buffer-modified-p diary-modified)))
(with-current-buffer ;; Turn off selective-display in the diary file's buffer.
(find-buffer-visiting (substitute-in-file-name diary-file))
(diary-unhide-everything))
(if (or (not diary-entries-list)
(and (not (cdr diary-entries-list))
(string-equal (car (cdr (car diary-entries-list))) "")))
@ -740,7 +753,8 @@ the actual printing."
(kill-buffer temp-buffer)))
(error "You don't have a diary buffer!")))))
(defun show-all-diary-entries ()
(define-obsolete-function-alias 'show-all-diary-entries 'diary-show-all-entries)
(defun diary-show-all-entries ()
"Show all of the diary entries in the diary file.
This function gets rid of the selective display of the diary file so that
all entries, not just some, are visible. If there is no diary buffer, one
@ -748,16 +762,10 @@ is created."
(interactive)
(let ((d-file (diary-check-diary-file))
(pop-up-frames (window-dedicated-p (selected-window))))
(save-excursion
(set-buffer (or (find-buffer-visiting d-file)
(find-file-noselect d-file t)))
(let ((buffer-read-only nil)
(diary-modified (buffer-modified-p)))
(subst-char-in-region (point-min) (point-max) ?\^M ?\n t)
(setq selective-display nil
mode-line-format default-mode-line-format)
(display-buffer (current-buffer))
(set-buffer-modified-p diary-modified)))))
(with-current-buffer (or (find-buffer-visiting d-file)
(find-file-noselect d-file t))
(diary-unhide-everything)
(display-buffer (current-buffer)))))
(defcustom diary-mail-addr
(if (boundp 'user-mail-address) user-mail-address "")
@ -807,9 +815,7 @@ to run it every morning at 1am."
(calendar-date-string (calendar-current-date))))
(insert
(if (get-buffer fancy-diary-buffer)
(save-excursion
(set-buffer fancy-diary-buffer)
(buffer-substring (point-min) (point-max)))
(with-current-buffer fancy-diary-buffer (buffer-string))
"No entries found"))
(call-interactively (get mail-user-agent 'sendfunc))))
@ -844,7 +850,7 @@ marked. After the entries are marked, the hooks
`nongregorian-diary-marking-hook' and `mark-diary-entries-hook'
are run. If the optional argument REDRAW is non-nil (which is
the case interactively, for example) then any existing diary
marks are first removed. This is intended to deal with deleted
marks are first removed. This is intended to deal with deleted
diary entries."
(interactive "p")
;; To remove any deleted diary entries. Do not redraw when:
@ -859,116 +865,99 @@ diary entries."
(let ((marking-diary-entries t)
file-glob-attrs marks)
(save-excursion
(set-buffer (find-file-noselect (diary-check-diary-file) t))
(setq mark-diary-entries-in-calendar t)
(message "Marking diary entries...")
(setq file-glob-attrs (nth 1 (diary-pull-attrs nil '())))
(let ((d diary-date-forms)
(old-diary-syntax-table (syntax-table))
temp)
(set-syntax-table diary-syntax-table)
(while d
(let* ((date-form (if (equal (car (car d)) 'backup)
(cdr (car d))
(car d)));; ignore 'backup directive
(dayname
(diary-name-pattern calendar-day-name-array
calendar-day-abbrev-array))
(monthname
(format "%s\\|\\*"
(diary-name-pattern calendar-month-name-array
calendar-month-abbrev-array)))
(month "[0-9]+\\|\\*")
(day "[0-9]+\\|\\*")
(year "[0-9]+\\|\\*")
(l (length date-form))
(d-name-pos (- l (length (memq 'dayname date-form))))
(d-name-pos (if (/= l d-name-pos) (+ 2 d-name-pos)))
(m-name-pos (- l (length (memq 'monthname date-form))))
(m-name-pos (if (/= l m-name-pos) (+ 2 m-name-pos)))
(d-pos (- l (length (memq 'day date-form))))
(d-pos (if (/= l d-pos) (+ 2 d-pos)))
(m-pos (- l (length (memq 'month date-form))))
(m-pos (if (/= l m-pos) (+ 2 m-pos)))
(y-pos (- l (length (memq 'year date-form))))
(y-pos (if (/= l y-pos) (+ 2 y-pos)))
(regexp
(concat
"\\(\\`\\|\^M\\|\n\\)\\("
(mapconcat 'eval date-form "\\)\\(")
"\\)"))
(case-fold-search t))
(goto-char (point-min))
(while (re-search-forward regexp nil t)
(let* ((dd-name
(if d-name-pos
(buffer-substring-no-properties
(match-beginning d-name-pos)
(match-end d-name-pos))))
(mm-name
(if m-name-pos
(buffer-substring-no-properties
(match-beginning m-name-pos)
(match-end m-name-pos))))
(mm (string-to-number
(if m-pos
(buffer-substring-no-properties
(match-beginning m-pos)
(match-end m-pos))
"")))
(dd (string-to-number
(if d-pos
(buffer-substring-no-properties
(match-beginning d-pos)
(match-end d-pos))
"")))
(y-str (if y-pos
(buffer-substring-no-properties
(match-beginning y-pos)
(match-end y-pos))))
(yy (if (not y-str)
0
(if (and (= (length y-str) 2)
abbreviated-calendar-year)
(let* ((current-y
(extract-calendar-year
(calendar-current-date)))
(y (+ (string-to-number y-str)
(* 100
(/ current-y 100)))))
(if (> (- y current-y) 50)
(- y 100)
(if (> (- current-y y) 50)
(+ y 100)
y)))
(string-to-number y-str))))
(save-excursion
(setq entry (buffer-substring-no-properties
(point) (line-end-position))
temp (diary-pull-attrs entry file-glob-attrs)
entry (nth 0 temp)
marks (nth 1 temp))))
(if dd-name
(mark-calendar-days-named
(cdr (assoc-string
dd-name
(calendar-make-alist
calendar-day-name-array
0 nil calendar-day-abbrev-array) t)) marks)
(if mm-name
(setq mm
(if (string-equal mm-name "*") 0
(cdr (assoc-string
mm-name
(calendar-make-alist
calendar-month-name-array
1 nil calendar-month-abbrev-array) t)))))
(mark-calendar-date-pattern mm dd yy marks))))
(setq d (cdr d))))
(mark-sexp-diary-entries)
(run-hooks 'nongregorian-diary-marking-hook
'mark-diary-entries-hook)
(set-syntax-table old-diary-syntax-table)
(with-current-buffer (find-file-noselect (diary-check-diary-file) t)
(setq mark-diary-entries-in-calendar t)
(message "Marking diary entries...")
(setq file-glob-attrs (nth 1 (diary-pull-attrs nil '())))
(with-syntax-table diary-syntax-table
(dolist (date-form diary-date-forms)
(if (eq (car date-form) 'backup)
(setq date-form (cdr date-form))) ;; ignore 'backup directive
(let* ((dayname
(diary-name-pattern calendar-day-name-array
calendar-day-abbrev-array))
(monthname
(format "%s\\|\\*"
(diary-name-pattern calendar-month-name-array
calendar-month-abbrev-array)))
(month "[0-9]+\\|\\*")
(day "[0-9]+\\|\\*")
(year "[0-9]+\\|\\*")
(l (length date-form))
(d-name-pos (- l (length (memq 'dayname date-form))))
(d-name-pos (if (/= l d-name-pos) (+ 2 d-name-pos)))
(m-name-pos (- l (length (memq 'monthname date-form))))
(m-name-pos (if (/= l m-name-pos) (+ 2 m-name-pos)))
(d-pos (- l (length (memq 'day date-form))))
(d-pos (if (/= l d-pos) (+ 2 d-pos)))
(m-pos (- l (length (memq 'month date-form))))
(m-pos (if (/= l m-pos) (+ 2 m-pos)))
(y-pos (- l (length (memq 'year date-form))))
(y-pos (if (/= l y-pos) (+ 2 y-pos)))
(regexp
(concat
"\\(\\`\\|\^M\\|\n\\)\\("
(mapconcat 'eval date-form "\\)\\(")
"\\)"))
(case-fold-search t))
(goto-char (point-min))
(while (re-search-forward regexp nil t)
(let* ((dd-name
(if d-name-pos
(match-string-no-properties d-name-pos)))
(mm-name
(if m-name-pos
(match-string-no-properties m-name-pos)))
(mm (string-to-number
(if m-pos
(match-string-no-properties m-pos)
"")))
(dd (string-to-number
(if d-pos
(match-string-no-properties d-pos)
"")))
(y-str (if y-pos
(match-string-no-properties y-pos)))
(yy (if (not y-str)
0
(if (and (= (length y-str) 2)
abbreviated-calendar-year)
(let* ((current-y
(extract-calendar-year
(calendar-current-date)))
(y (+ (string-to-number y-str)
(* 100
(/ current-y 100)))))
(if (> (- y current-y) 50)
(- y 100)
(if (> (- current-y y) 50)
(+ y 100)
y)))
(string-to-number y-str)))))
(let ((tmp (diary-pull-attrs (buffer-substring-no-properties
(point) (line-end-position))
file-glob-attrs)))
(setq entry (nth 0 tmp)
marks (nth 1 tmp)))
(if dd-name
(mark-calendar-days-named
(cdr (assoc-string
dd-name
(calendar-make-alist
calendar-day-name-array
0 nil calendar-day-abbrev-array) t)) marks)
(if mm-name
(setq mm
(if (string-equal mm-name "*") 0
(cdr (assoc-string
mm-name
(calendar-make-alist
calendar-month-name-array
1 nil calendar-month-abbrev-array) t)))))
(mark-calendar-date-pattern mm dd yy marks))))))
(mark-sexp-diary-entries)
(run-hooks 'nongregorian-diary-marking-hook
'mark-diary-entries-hook))
(message "Marking diary entries...done")))))
(defun mark-sexp-diary-entries ()
@ -982,8 +971,7 @@ is marked. See the documentation for the function `list-sexp-diary-entries'."
sexp-mark "(diary-remind\\)"))
(file-glob-attrs (nth 1 (diary-pull-attrs nil '())))
m y first-date last-date mark file-glob-attrs)
(save-excursion
(set-buffer calendar-buffer)
(with-current-buffer calendar-buffer
(setq m displayed-month)
(setq y displayed-year))
(increment-calendar-month m y -1)
@ -1048,12 +1036,12 @@ changing the variable `diary-include-string'."
(goto-char (point-min))
(while (re-search-forward
(concat
"\\(\\`\\|\^M\\|\n\\)"
"\\(?:\\`\\|\^M\\|\n\\)"
(regexp-quote diary-include-string)
" \"\\([^\"]*\\)\"")
nil t)
(let* ((diary-file (substitute-in-file-name
(match-string-no-properties 2)))
(match-string-no-properties 1)))
(mark-diary-entries-hook 'mark-included-diary-files)
(dbuff (find-buffer-visiting diary-file)))
(if (file-exists-p diary-file)
@ -1073,8 +1061,7 @@ changing the variable `diary-include-string'."
(defun mark-calendar-days-named (dayname &optional color)
"Mark all dates in the calendar window that are day DAYNAME of the week.
0 means all Sundays, 1 means all Mondays, and so on."
(save-excursion
(set-buffer calendar-buffer)
(with-current-buffer calendar-buffer
(let ((prev-month displayed-month)
(prev-year displayed-year)
(succ-month displayed-month)
@ -1094,8 +1081,7 @@ changing the variable `diary-include-string'."
(defun mark-calendar-date-pattern (month day year &optional color)
"Mark all dates in the calendar window that conform to MONTH/DAY/YEAR.
A value of 0 in any position is a wildcard."
(save-excursion
(set-buffer calendar-buffer)
(with-current-buffer calendar-buffer
(let ((m displayed-month)
(y displayed-year))
(increment-calendar-month m y -1)
@ -1152,22 +1138,17 @@ be used instead of a colon (:) to separate the hour and minute parts."
(cond ((string-match ; Military time
"\\`[ \t\n\\^M]*\\([0-9]?[0-9]\\)[:.]?\\([0-9][0-9]\\)\\(\\>\\|[^ap]\\)"
s)
(+ (* 100 (string-to-number
(substring s (match-beginning 1) (match-end 1))))
(string-to-number (substring s (match-beginning 2) (match-end 2)))))
(+ (* 100 (string-to-number (match-string 1 s)))
(string-to-number (match-string 2 s))))
((string-match ; Hour only XXam or XXpm
"\\`[ \t\n\\^M]*\\([0-9]?[0-9]\\)\\([ap]\\)m\\>" s)
(+ (* 100 (% (string-to-number
(substring s (match-beginning 1) (match-end 1)))
12))
(+ (* 100 (% (string-to-number (match-string 1 s)) 12))
(if (equal ?a (downcase (aref s (match-beginning 2))))
0 1200)))
((string-match ; Hour and minute XX:XXam or XX:XXpm
"\\`[ \t\n\\^M]*\\([0-9]?[0-9]\\)[:.]\\([0-9][0-9]\\)\\([ap]\\)m\\>" s)
(+ (* 100 (% (string-to-number
(substring s (match-beginning 1) (match-end 1)))
12))
(string-to-number (substring s (match-beginning 2) (match-end 2)))
(+ (* 100 (% (string-to-number (match-string 1 s)) 12))
(string-to-number (match-string 2 s))
(if (equal ?a (downcase (aref s (match-beginning 3))))
0 1200)))
(t diary-unknown-time)))) ; Unrecognizable
@ -1404,14 +1385,7 @@ best if they are nonmarking."
(error
(beep)
(message "Bad sexp at line %d in %s: %s"
(save-excursion
(save-restriction
(narrow-to-region 1 (point))
(goto-char (point-min))
(let ((lines 1))
(while (re-search-forward "\n\\|\^M" nil t)
(setq lines (1+ lines)))
lines)))
(count-lines (point-min) (point))
diary-file sexp)
(sleep-for 2))))))
(cond ((stringp result) result)
@ -1688,12 +1662,9 @@ If omitted, NONMARKING defaults to nil and FILE defaults to
redrawn with the new entry marked, if necessary."
(let ((pop-up-frames (window-dedicated-p (selected-window))))
(find-file-other-window (substitute-in-file-name (or file diary-file))))
(add-hook 'write-contents-functions 'diary-redraw-calendar nil t)
(when selective-display
(subst-char-in-region (point-min) (point-max) ?\^M ?\n t)
(setq selective-display nil)
(kill-local-variable 'mode-line-format))
(add-hook 'after-save-hook 'diary-redraw-calendar nil t)
(widen)
(diary-unhide-everything)
(goto-char (point-max))
(when (let ((case-fold-search t))
(search-backward "Local Variables:"
@ -1701,7 +1672,7 @@ redrawn with the new entry marked, if necessary."
t))
(beginning-of-line)
(insert "\n")
(previous-line 1))
(forward-line -1))
(insert
(if (bolp) "" "\n")
(if nonmarking diary-nonmarking-symbol "")
@ -1798,19 +1769,29 @@ Prefix arg will make the entry nonmarking."
(calendar-date-string (calendar-cursor-to-date t) nil t))
arg)))
(defvar diary-mode-map
(let ((map (make-sparse-keymap)))
(define-key map "\C-c\C-s" 'diary-show-all-entries)
(define-key map "\C-c\C-q" 'quit-window)
map)
"Keymap for `diary-mode'.")
;;;###autoload
(define-derived-mode diary-mode fundamental-mode
"Diary"
(define-derived-mode diary-mode fundamental-mode "Diary"
"Major mode for editing the diary file."
(set (make-local-variable 'font-lock-defaults)
'(diary-font-lock-keywords t)))
'(diary-font-lock-keywords t))
(add-to-invisibility-spec '(diary . nil))
(add-hook 'after-save-hook 'diary-redraw-calendar nil t)
(if diary-header-line-flag
(setq header-line-format diary-header-line-format)))
(define-derived-mode fancy-diary-display-mode fundamental-mode
"Diary"
"Major mode used while displaying diary entries using Fancy Display."
(set (make-local-variable 'font-lock-defaults)
'(fancy-diary-font-lock-keywords t))
(define-key (current-local-map) "q" 'quit-window))
(local-set-key "q" 'quit-window))
(defvar fancy-diary-font-lock-keywords
@ -1836,7 +1817,7 @@ Prefix arg will make the entry nonmarking."
"Keywords to highlight in fancy diary display")
(defun font-lock-diary-sexps (limit)
(defun diary-font-lock-sexps (limit)
"Recognize sexp diary entry for font-locking."
(if (re-search-forward
(concat "^" (regexp-quote diary-nonmarking-symbol)
@ -1851,7 +1832,7 @@ Prefix arg will make the entry nonmarking."
t))
(error t))))
(defun font-lock-diary-date-forms (month-array &optional symbol abbrev-array)
(defun diary-font-lock-date-forms (month-array &optional symbol abbrev-array)
"Create font-lock patterns for `diary-date-forms' using MONTH-ARRAY.
If given, optional SYMBOL must be a prefix to entries.
If optional ABBREV-ARRAY is present, the abbreviations constructed
@ -1865,7 +1846,7 @@ names."
(month "\\([0-9]+\\|\\*\\)")
(day "\\([0-9]+\\|\\*\\)")
(year "-?\\([0-9]+\\|\\*\\)"))
(mapcar '(lambda (x)
(mapcar (lambda (x)
(cons
(concat "^" (regexp-quote diary-nonmarking-symbol) "?"
(if symbol (regexp-quote symbol) "") "\\("
@ -1873,7 +1854,7 @@ names."
;; If backup, omit first item (backup)
;; and last item (not part of date)
(if (equal (car x) 'backup)
(reverse (cdr (reverse (cdr x))))
(nreverse (cdr (reverse (cdr x))))
x)
"")
;; With backup, last item is not part of date
@ -1888,14 +1869,14 @@ names."
(defvar diary-font-lock-keywords
(append
(font-lock-diary-date-forms calendar-month-name-array
(diary-font-lock-date-forms calendar-month-name-array
nil calendar-month-abbrev-array)
(when (or (memq 'mark-hebrew-diary-entries
nongregorian-diary-marking-hook)
(memq 'list-hebrew-diary-entries
nongregorian-diary-listing-hook))
(require 'cal-hebrew)
(font-lock-diary-date-forms
(diary-font-lock-date-forms
calendar-hebrew-month-name-array-leap-year
hebrew-diary-entry-symbol))
(when (or (memq 'mark-islamic-diary-entries
@ -1903,7 +1884,7 @@ names."
(memq 'list-islamic-diary-entries
nongregorian-diary-listing-hook))
(require 'cal-islam)
(font-lock-diary-date-forms
(diary-font-lock-date-forms
calendar-islamic-month-name-array
islamic-diary-entry-symbol))
(list
@ -1925,10 +1906,10 @@ names."
(concat "^" (regexp-quote diary-nonmarking-symbol)
"?\\(" (regexp-quote islamic-diary-entry-symbol) "\\)")
'(1 font-lock-reference-face))
'(font-lock-diary-sexps . font-lock-keyword-face)
'(diary-font-lock-sexps . font-lock-keyword-face)
'("[0-9]?[0-9]\\([:.]?[0-9][0-9]\\)?\\(am\\|pm\\|AM\\|PM\\)\\(-[0-9]?[0-9]\\([:.]?[0-9][0-9]\\)?\\(am\\|pm\\|AM\\|PM\\)\\)?"
. font-lock-function-name-face)))
"Forms to highlight in diary-mode")
"Forms to highlight in `diary-mode'.")
;; Following code from Dave Love <fx@gnu.org>.
@ -2087,5 +2068,5 @@ user is asked to confirm its addition."
(provide 'diary-lib)
;;; arch-tag: 22dd506e-2e33-410d-9ae1-095a0c1b2010
;; arch-tag: 22dd506e-2e33-410d-9ae1-095a0c1b2010
;;; diary-lib.el ends here

View File

@ -1532,7 +1532,7 @@ written into the buffer `*icalendar-errors*'."
(setq found-error t)
(setq error-string (format "%s\n%s\nCannot handle this event: %s"
error-val error-string e))
(message error-string))))
(message "%s" error-string))))
(if found-error
(save-current-buffer
(set-buffer (get-buffer-create "*icalendar-errors*"))

View File

@ -441,7 +441,7 @@ worked today, ignoring the time worked on previous days."
"remaining" "over")
(timeclock-when-to-leave-string show-seconds today-only)))
(if (interactive-p)
(message status)
(message "%s" status)
status)))
;;;###autoload
@ -512,7 +512,7 @@ See `timeclock-relative' for more information about the meaning of
(timeclock-workday-remaining today-only)
show-seconds t)))
(if (interactive-p)
(message string)
(message "%s" string)
string)))
(defsubst timeclock-workday-elapsed ()
@ -534,7 +534,7 @@ non-nil, the amount returned will be relative to past time worked."
(let ((string (timeclock-seconds-to-string (timeclock-workday-elapsed)
show-seconds)))
(if (interactive-p)
(message string)
(message "%s" string)
string)))
(defsubst timeclock-time-to-seconds (time)
@ -579,7 +579,7 @@ relative only to the time worked today, and not to past time."
(format-time-string "%-I:%M:%S %p" then)
(format-time-string "%-I:%M %p" then))))
(if (interactive-p)
(message string)
(message "%s" string)
string)))
;;; Internal Functions:

View File

@ -649,17 +649,16 @@ See `custom-known-themes' for a list of known themes."
(progn
(setcar (cdr setting) mode)
(setcar (cddr setting) value))
(if (and (null old)
(boundp symbol))
(setq old
(list
(list 'standard 'set
(if (eq prop 'theme-value)
(symbol-value symbol)
(list
(append
'(t)
(custom-face-attributes-get symbol nil))))))))
;; If no custom theme has been applied yet, first save the
;; current values to the 'standard theme.
(if (null old)
(if (and (eq prop 'theme-value)
(boundp symbol))
(setq old
(list (list 'standard 'set (symbol-value symbol))))
(if (facep symbol)
(setq old (list (list 'standard 'set (list
(append '(t) (custom-face-attributes-get symbol nil)))))))))
(put symbol prop (cons (list theme mode value) old)))
;; Record, for each theme, all its settings.
(put theme 'theme-settings

View File

@ -944,7 +944,7 @@ directory DIRNAME."
desktop-buffer-file-name)))
(if desktop-missing-file-warning
(y-or-n-p (concat msg " Re-create? "))
(message msg)
(message "%s" msg)
nil)))
(let* ((auto-insert nil) ; Disable auto insertion
(coding-system-for-read
@ -1101,7 +1101,7 @@ ARGS must be an argument list for `desktop-create-buffer'."
(msg (format "Desktop lazily opening %s (%s remaining)..."
buffer-name remaining)))
(when desktop-lazy-verbose
(message msg))
(message "%s" msg))
(let ((desktop-first-buffer nil)
(desktop-buffer-ok-count 0)
(desktop-buffer-fail-count 0))

View File

@ -845,7 +845,7 @@ Otherwise, the rule is a compression rule, and compression is done with gzip.")
(apply 'message qprompt qs-args)
(setq char (set qs-var (read-char))))
;; Display the question with the answer.
(message (concat (apply 'format qprompt qs-args)
(message "%s" (concat (apply 'format qprompt qs-args)
(char-to-string char)))
(memq (cdr elt) '(t y yes)))))))

View File

@ -179,7 +179,7 @@ TEXT is the text as a string, WINDOW is the window where the drop happened."
(not (windowp window)))
(progn
(kill-new text)
(message
(message "%s"
(substitute-command-keys
"The dropped text can be accessed with \\[yank]")))
(insert text))

View File

@ -140,7 +140,7 @@ The Command History listing is recomputed each time this mode is invoked."
(defun Electric-history-undefined ()
(interactive)
(ding)
(message (substitute-command-keys "Type \\[Helper-help] for help, ? for commands, C-c C-c to quit, Space to execute"))
(message "%s" (substitute-command-keys "Type \\[Helper-help] for help, ? for commands, C-c C-c to quit, Space to execute"))
(sit-for 4))
(defun Electric-history-quit ()

View File

@ -2075,7 +2075,7 @@ ARG is a prefix argument. If nil, copy the current difference region."
(ediff-clear-fine-differences n))
;; Make sure that the message about saving and how to restore is seen
;; by the user
(message messg))
(message "%s" messg))
))
;; Save Nth diff of buffer BUF-TYPE \(A, B, or C\).
@ -2720,7 +2720,7 @@ only if this merge job is part of a group, i.e., was invoked from within
(format "Another buffer is visiting file %s. Too dangerous to save the merge buffer"
file)))
(beep)
(message warn-message)
(message "%s" warn-message)
(with-output-to-temp-buffer ediff-msg-buffer
(princ "\n\n")
(princ warn-message)
@ -3286,7 +3286,7 @@ Hit \\[ediff-recenter] to reset the windows afterward."
(princ warn-message)
(princ "\n\n"))
(if (y-or-n-p
(message warn-message))
(message "%s" warn-message))
(with-current-buffer buff
(save-buffer)
(kill-buffer (current-buffer)))

View File

@ -260,7 +260,7 @@ in `load-path'."
(setq function (symbol-function function)
def (symbol-function function)))
(if aliases
(message aliases))
(message "%s" aliases))
(let ((library
(cond ((eq (car-safe def) 'autoload)
(nth 1 def))

View File

@ -610,7 +610,7 @@ Prompts for bug subject TOPIC. Leaves you in a mail buffer."
(if version
(insert " version " version))
(newline 2)
(message
(message "%s"
(substitute-command-keys "Type \\[mail-send] to send bug report."))))
(provide 'lisp-mnt)

View File

@ -1590,7 +1590,7 @@ reversed."
;; Ex print working directory
(defun ex-pwd ()
(message default-directory))
(message "%s" default-directory))
;; Ex quit command
(defun ex-quit ()
@ -2230,7 +2230,7 @@ Type 'mak ' (including the space) to run make with no args."
(if (buffer-modified-p) "[Modified]" "[Unchanged]")))
(if (< (+ 1 (length info) (length file))
(window-width (minibuffer-window)))
(message (concat file " " info))
(message "%s" (concat file " " info))
(save-window-excursion
(with-output-to-temp-buffer " *viper-info*"
(princ (concat "\n" file "\n\n\t" info "\n\n")))

View File

@ -186,7 +186,7 @@ a key is a symbol, e.g., `a', `\\1', `f2', etc., or a list, e.g.,
variant (if (> (length key-seq) 0)
(prin1-to-string (viper-display-macro key-seq))
"")))
(message message)
(message "%s" message)
(setq event (viper-read-key))
;;(setq event (viper-read-event))
(setq key
@ -263,7 +263,7 @@ a key is a symbol, e.g., `a', `\\1', `f2', etc., or a list, e.g.,
(prin1-to-string
(viper-display-macro key-seq))
"")))
(message message)
(message "%s" message)
(setq event (viper-read-key))
;;(setq event (viper-read-event))
(setq key
@ -442,7 +442,11 @@ If SCOPE is nil, the user is asked to specify the scope."
scope)
viper-custom-file-name))
(message msg)
;; 2005-09-18 T06:41:22-0400 (Sunday) D. Goel
;; From careful parsing of the above code, it looks like msg
;; couldn't be nil when we reach here. Since it is a string,
;; and a complicated one too, we might as well provide it a "%s"
(message "%s" msg)
))
(setq new-elt

View File

@ -691,7 +691,7 @@ in ws-last-errormessage for recovery with C-q w."
This will only work for errors raised by WordStar mode functions."
(interactive)
(if ws-last-errormessage
(message ws-last-errormessage)
(message "%s" ws-last-errormessage)
(message "No WordStar error yet.")))
(defun ws-kill-eol ()

View File

@ -225,8 +225,8 @@ The prompt will be set to PROMPT."
(if (and (eshell-processp (car entry))
(nth 2 entry)
eshell-done-messages-in-minibuffer)
(message (format "[%s]+ Done %s" (process-name (car entry))
(process-command (car entry)))))
(message "[%s]+ Done %s" (process-name (car entry))
(process-command (car entry))))
(setq eshell-process-list
(delq entry eshell-process-list)))

View File

@ -1738,7 +1738,11 @@ in that case, this function acts as if `enable-local-variables' were t."
(hack-local-variables)))
;; Turn font lock off and on, to make sure it takes account of
;; whatever file local variables are relevant to it.
(when (and font-lock-mode (eq (car font-lock-keywords) t))
(when (and font-lock-mode
;; Font-lock-mode (now in font-core.el) can be ON when
;; font-lock.el still hasn't been loaded.
(boundp 'font-lock-keywords)
(eq (car font-lock-keywords) t))
(setq font-lock-keywords (cadr font-lock-keywords))
(font-lock-mode 1))
@ -3576,7 +3580,7 @@ If visiting file read-only and `view-read-only' is non-nil, enter view mode."
(t (setq buffer-read-only (not buffer-read-only))
(force-mode-line-update)))
(if (vc-backend buffer-file-name)
(message (substitute-command-keys
(message "%s" (substitute-command-keys
(concat "File is under version-control; "
"use \\[vc-next-action] to check in/out"))))))

View File

@ -4,7 +4,7 @@
;; 2005 Free Software Foundation, Inc.
;; Author: Anders Lindgren <andersl@andersl.com>
;; Maintainer: Anders Lindgren <andersl@andersl.com>
;; Maintainer: FSF (Anders' email bounces, Sep 2005)
;; Created: 1995-05-25
;; Keywords: display, window, minor-mode, convenience
;; Last Changed: 1999-11-17

View File

@ -340,6 +340,7 @@ This can be an \"!\" or the \"n\" in \"ifndef\".")
;; Fontification variables:
;;;###autoload
(defvar font-lock-keywords nil
"A list of the keywords to highlight.
There are two kinds of values: user-level, and compiled.

View File

@ -1,3 +1,22 @@
2005-09-18 D Goel <deego@gnufans.org>
* sieve.el (sieve-help): Fix `message' call: first arg should be a
format spec.
2005-09-16 Katsumi Yamaoka <yamaoka@jpl.org>
* gnus.el (gnus-group-startup-message): Bind image-load-path.
2005-09-14 Katsumi Yamaoka <yamaoka@jpl.org>
* gnus-art.el (gnus-mime-display-part): Protect against broken
MIME messages.
2005-09-13 Katsumi Yamaoka <yamaoka@jpl.org>
* gnus-sum.el (gnus-summary-edit-article-done): Remove text props
before parsing header.
2005-09-10 Reiner Steib <Reiner.Steib@gmx.de>
* spam-report.el (spam-report-gmane): Fix generation of spam

View File

@ -4761,6 +4761,8 @@ If displaying \"text/html\" is discouraged \(see
(defun gnus-mime-display-part (handle)
(cond
;; Maybe a broken MIME message.
((null handle))
;; Single part.
((not (stringp (car handle)))
(gnus-mime-display-single handle))

View File

@ -9561,7 +9561,8 @@ groups."
(save-excursion
(save-restriction
(message-narrow-to-head)
(let ((head (buffer-string))
(let ((head (buffer-substring-no-properties
(point-min) (point-max)))
header)
(with-temp-buffer
(insert (format "211 %d Article retrieved.\n"

View File

@ -1006,6 +1006,11 @@ be set in `.emacs' instead."
(fboundp 'find-image)
(display-graphic-p)
(let* ((data-directory (nnheader-find-etc-directory "images/gnus"))
(image-load-path (cond (data-directory
(list data-directory))
((boundp 'image-load-path)
(symbol-value 'image-load-path))
(t load-path)))
(image (find-image
`((:type xpm :file "gnus.xpm"
:color-symbols

View File

@ -245,7 +245,7 @@ Used to bracket operations which move point in the sieve-buffer."
(if (eq last-command 'sieve-help)
;; would need minor-mode for log-edit-mode
(describe-function 'sieve-mode)
(message (substitute-command-keys
(message "%s" (substitute-command-keys
"`\\[sieve-edit-script]':edit `\\[sieve-activate]':activate `\\[sieve-deactivate]':deactivate `\\[sieve-remove]':remove"))))
(defun sieve-bury-buffer (buf &optional mainbuf)

View File

@ -269,22 +269,20 @@ face (according to `face-differs-from-default-p')."
(defun help-do-arg-highlight (doc args)
(with-syntax-table (make-syntax-table emacs-lisp-mode-syntax-table)
(modify-syntax-entry ?\- "w")
(while args
(let ((arg (prog1 (car args) (setq args (cdr args)))))
(setq doc (replace-regexp-in-string
;; This is heuristic, but covers all common cases
;; except ARG1-ARG2
(concat "\\<" ; beginning of word
"\\(?:[a-z-]*-\\)?" ; for xxx-ARG
"\\("
(regexp-quote arg)
"\\)"
"\\(?:es\\|s\\|th\\)?" ; for ARGth, ARGs
"\\(?:-[a-z-]+\\)?" ; for ARG-xxx
"\\>") ; end of word
(help-default-arg-highlight arg)
doc t t 1))))
doc))
(dolist (arg args doc)
(setq doc (replace-regexp-in-string
;; This is heuristic, but covers all common cases
;; except ARG1-ARG2
(concat "\\<" ; beginning of word
"\\(?:[a-z-]*-\\)?" ; for xxx-ARG
"\\("
(regexp-quote arg)
"\\)"
"\\(?:es\\|s\\|th\\)?" ; for ARGth, ARGs
"\\(?:-[a-z0-9-]+\\)?" ; for ARG-xxx, ARG-n
"\\>") ; end of word
(help-default-arg-highlight arg)
doc t t 1)))))
(defun help-highlight-arguments (usage doc &rest args)
(when usage
@ -522,108 +520,13 @@ it is displayed along with the global value."
(let* ((valvoid (not (with-current-buffer buffer (boundp variable))))
;; Extract the value before setting up the output buffer,
;; in case `buffer' *is* the output buffer.
(val (unless valvoid (buffer-local-value variable buffer))))
(val (unless valvoid (buffer-local-value variable buffer)))
val-start-pos)
(help-setup-xref (list #'describe-variable variable buffer)
(interactive-p))
(with-output-to-temp-buffer (help-buffer)
(with-current-buffer buffer
(prin1 variable)
(if valvoid
(princ " is void")
(with-current-buffer standard-output
(princ "'s value is ")
(terpri)
(let ((from (point)))
(pp val)
;; Hyperlinks in variable's value are quite frequently
;; inappropriate e.g C-h v <RET> features <RET>
;; (help-xref-on-pp from (point))
(if (< (point) (+ from 20))
(delete-region (1- from) from)))))
(terpri)
(when (local-variable-p variable)
(princ (format "%socal in buffer %s; "
(if (get variable 'permanent-local)
"Permanently l" "L")
(buffer-name)))
(if (not (default-boundp variable))
(princ "globally void")
(let ((val (default-value variable)))
(with-current-buffer standard-output
(princ "global value is ")
(terpri)
;; Fixme: pp can take an age if you happen to
;; ask for a very large expression. We should
;; probably print it raw once and check it's a
;; sensible size before prettyprinting. -- fx
(let ((from (point)))
(pp val)
;; See previous comment for this function.
;; (help-xref-on-pp from (point))
(if (< (point) (+ from 20))
(delete-region (1- from) from))))))
(terpri))
(terpri)
(with-current-buffer standard-output
(when (> (count-lines (point-min) (point-max)) 10)
;; Note that setting the syntax table like below
;; makes forward-sexp move over a `'s' at the end
;; of a symbol.
(set-syntax-table emacs-lisp-mode-syntax-table)
(goto-char (point-min))
(if valvoid
(forward-line 1)
(forward-sexp 1)
(delete-region (point) (progn (end-of-line) (point)))
(save-excursion
(insert "\n\nValue:")
(set (make-local-variable 'help-button-cache)
(point-marker)))
(insert " value is shown ")
(insert-button "below"
'action help-button-cache
'follow-link t
'help-echo "mouse-2, RET: show value")
(insert ".\n\n")))
;; Add a note for variables that have been make-var-buffer-local.
(when (and (local-variable-if-set-p variable)
(or (not (local-variable-p variable))
(with-temp-buffer
(local-variable-if-set-p variable))))
(save-excursion
(forward-line -1)
(insert "Automatically becomes buffer-local when set in any fashion.\n"))))
;; Mention if it's an alias
(let* ((alias (condition-case nil
(indirect-variable variable)
(error variable)))
(obsolete (get variable 'byte-obsolete-variable))
(doc (or (documentation-property variable 'variable-documentation)
(documentation-property alias 'variable-documentation))))
(unless (eq alias variable)
(princ (format "This variable is an alias for `%s'." alias))
(terpri)
(terpri))
(when obsolete
(princ "This variable is obsolete")
(if (cdr obsolete) (princ (format " since %s" (cdr obsolete))))
(princ ";") (terpri)
(princ (if (stringp (car obsolete)) (car obsolete)
(format "use `%s' instead." (car obsolete))))
(terpri)
(terpri))
(princ (or doc "Not documented as a variable.")))
;; Make a link to customize if this variable can be customized.
(if (custom-variable-p variable)
(let ((customize-label "customize"))
(terpri)
(terpri)
(princ (concat "You can " customize-label " this variable."))
(with-current-buffer standard-output
(save-excursion
(re-search-backward
(concat "\\(" customize-label "\\)") nil t)
(help-xref-button 1 'help-customize-variable variable)))))
;; Make a hyperlink to the library if appropriate. (Don't
;; change the format of the buffer's initial line in case
;; anything expects the current format.)
@ -647,16 +550,115 @@ it is displayed along with the global value."
(if (get-buffer " *DOC*")
(help-C-file-name variable 'var)
'C-source)))
(when file-name
(princ "\n\nDefined in `")
(princ (if (eq file-name 'C-source) "C source code" file-name))
(princ "'.")
(with-current-buffer standard-output
(save-excursion
(re-search-backward "`\\([^`']+\\)'" nil t)
(help-xref-button 1 'help-variable-def
variable file-name)))))
(if file-name
(progn
(princ " is a variable defined in `")
(princ (if (eq file-name 'C-source) "C source code" file-name))
(princ "'.\n")
(with-current-buffer standard-output
(save-excursion
(re-search-backward "`\\([^`']+\\)'" nil t)
(help-xref-button 1 'help-variable-def
variable file-name)))
(if valvoid
(princ "It is void as a variable.\n")
(princ "Its ")))
(if valvoid
(princ " is void as a variable.\n")
(princ "'s "))))
(if valvoid
nil
(with-current-buffer standard-output
(setq val-start-pos (point))
(princ "value is ")
(terpri)
(let ((from (point)))
(pp val)
;; Hyperlinks in variable's value are quite frequently
;; inappropriate e.g C-h v <RET> features <RET>
;; (help-xref-on-pp from (point))
(if (< (point) (+ from 20))
(delete-region (1- from) from)))))
(terpri)
(when (local-variable-p variable)
(princ (format "%socal in buffer %s; "
(if (get variable 'permanent-local)
"Permanently l" "L")
(buffer-name)))
(if (not (default-boundp variable))
(princ "globally void")
(let ((val (default-value variable)))
(with-current-buffer standard-output
(princ "global value is ")
(terpri)
;; Fixme: pp can take an age if you happen to
;; ask for a very large expression. We should
;; probably print it raw once and check it's a
;; sensible size before prettyprinting. -- fx
(let ((from (point)))
(pp val)
;; See previous comment for this function.
;; (help-xref-on-pp from (point))
(if (< (point) (+ from 20))
(delete-region (1- from) from)))))))
;; Add a note for variables that have been make-var-buffer-local.
(when (and (local-variable-if-set-p variable)
(or (not (local-variable-p variable))
(with-temp-buffer
(local-variable-if-set-p variable))))
(princ "\nAutomatically becomes buffer-local when set in any fashion.\n"))
(terpri)
;; If the value is large, move it to the end.
(with-current-buffer standard-output
(when (> (count-lines (point-min) (point-max)) 10)
;; Note that setting the syntax table like below
;; makes forward-sexp move over a `'s' at the end
;; of a symbol.
(set-syntax-table emacs-lisp-mode-syntax-table)
(goto-char val-start-pos)
(delete-region (point) (progn (end-of-line) (point)))
(save-excursion
(insert "\n\nValue:")
(set (make-local-variable 'help-button-cache)
(point-marker)))
(insert "value is shown ")
(insert-button "below"
'action help-button-cache
'follow-link t
'help-echo "mouse-2, RET: show value")
(insert ".\n\n")))
;; Mention if it's an alias
(let* ((alias (condition-case nil
(indirect-variable variable)
(error variable)))
(obsolete (get variable 'byte-obsolete-variable))
(doc (or (documentation-property variable 'variable-documentation)
(documentation-property alias 'variable-documentation))))
(unless (eq alias variable)
(princ (format "\nThis variable is an alias for `%s'.\n" alias)))
(when obsolete
(princ "\nThis variable is obsolete")
(if (cdr obsolete) (princ (format " since %s" (cdr obsolete))))
(princ ";") (terpri)
(princ (if (stringp (car obsolete)) (car obsolete)
(format "use `%s' instead." (car obsolete))))
(terpri))
(princ "Documentation:\n")
(princ (or doc "Not documented as a variable.")))
;; Make a link to customize if this variable can be customized.
(if (custom-variable-p variable)
(let ((customize-label "customize"))
(terpri)
(terpri)
(princ (concat "You can " customize-label " this variable."))
(with-current-buffer standard-output
(save-excursion
(re-search-backward
(concat "\\(" customize-label "\\)") nil t)
(help-xref-button 1 'help-customize-variable variable)))))
(print-help-return-message)
(save-excursion
(set-buffer standard-output)
@ -708,7 +710,7 @@ BUFFER should be a buffer or a buffer name."
(dotimes (i 95)
(let ((elt (aref docs i)))
(when elt
(insert (+ i ?\ ) ": " elt "\n"))))
(insert (+ i ?\s) ": " elt "\n"))))
(while (setq table (char-table-parent table))
(insert "\nThe parent category table is:")
(describe-vector table 'help-describe-category-set))))))))

View File

@ -564,7 +564,7 @@ Optional argument END is maximum excursion."
(hi-lock-current-line)))))))
(when hi-lock-mode (hi-lock-set-file-patterns all-patterns))
(if (interactive-p)
(message (format "Hi-lock added %d patterns." (length all-patterns)))))))
(message "Hi-lock added %d patterns." (length all-patterns))))))
(defun hi-lock-font-lock-hook ()
"Add hi lock patterns to font-lock's."

View File

@ -281,7 +281,7 @@ bound to the current value of the filter.
,(concat (or documentation "This filter is not documented."))
(interactive (list ,reader))
(ibuffer-push-filter (cons ',name qualifier))
(message
(message "%s"
(format ,(concat (format "Filter by %s added: " description)
" %s")
qualifier))

View File

@ -66,7 +66,7 @@ to toggle between display as an image and display as text."
;; variables were cleared by kill-all-local-variables
(setq cursor-type nil truncate-lines t))
(run-mode-hooks 'image-mode-hook)
(message (concat (substitute-command-keys
(message "%s" (concat (substitute-command-keys
"Type \\[image-toggle-display] to view the image as ")
(if (get-text-property (point-min) 'display)
"text" "an image") ".")))
@ -84,7 +84,7 @@ See the command `image-mode' for more information on this mode."
(if (get-text-property (point-min) 'display)
(setq cursor-type nil truncate-lines t))
(add-hook 'change-major-mode-hook (lambda () (image-minor-mode -1)) nil t)
(message (concat (substitute-command-keys
(message "%s" (concat (substitute-command-keys
"Type \\[image-toggle-display] to view the image as ")
(if (get-text-property (point-min) 'display)
"text" "an image") "."))))

View File

@ -49,6 +49,16 @@ IMAGE-TYPE must be a pair (PREDICATE . TYPE). PREDICATE is called
with one argument, a string containing the image data. If PREDICATE returns
a non-nil value, TYPE is the image's type.")
(defvar image-load-path
(list (file-name-as-directory (expand-file-name "images" data-directory))
'data-directory 'load-path)
"List of locations in which to search for image files.
If an element is a string, it defines a directory to search.
If an element is a variable symbol whose value is a string, that
value defines a directory to search.
If an element is a variable symbol whose value is a list, the
value is used as a list of directories to search.")
(defun image-jpeg-p (data)
"Value is non-nil if DATA, a string, consists of JFIF image data.
We accept the tag Exif because that is the same format."
@ -269,6 +279,27 @@ BUFFER nil or omitted means use the current buffer."
(delete-overlay overlay)))
(setq overlays (cdr overlays)))))
(defun image-search-load-path (file path)
(let (element found pathname)
(while (and (not found) (consp path))
(setq element (car path))
(cond
((stringp element)
(setq found
(file-readable-p
(setq pathname (expand-file-name file element)))))
((and (symbolp element) (boundp element))
(setq element (symbol-value element))
(cond
((stringp element)
(setq found
(file-readable-p
(setq pathname (expand-file-name file element)))))
((consp element)
(if (setq pathname (image-search-load-path file element))
(setq found t))))))
(setq path (cdr path)))
(if found pathname)))
;;;###autoload
(defun find-image (specs)
@ -286,7 +317,7 @@ is supported, and FILE exists, is used to construct the image
specification to be returned. Return nil if no specification is
satisfied.
The image is looked for first on `load-path' and then in `data-directory'."
The image is looked for in `image-load-path'."
(let (image)
(while (and specs (null image))
(let* ((spec (car specs))
@ -296,20 +327,11 @@ The image is looked for first on `load-path' and then in `data-directory'."
found)
(when (image-type-available-p type)
(cond ((stringp file)
(let ((path load-path))
(while (and (not found) path)
(let ((try-file (expand-file-name file (car path))))
(when (file-readable-p try-file)
(setq found try-file)))
(setq path (cdr path)))
(unless found
(let ((try-file (expand-file-name file data-directory)))
(if (file-readable-p try-file)
(setq found try-file))))
(if found
(setq image
(cons 'image (plist-put (copy-sequence spec)
:file found))))))
(if (setq found (image-search-load-path
file image-load-path))
(setq image
(cons 'image (plist-put (copy-sequence spec)
:file found)))))
((not (null data))
(setq image (cons 'image spec)))))
(setq specs (cdr specs))))

View File

@ -33,6 +33,8 @@
;;; Code:
(defvar dos-unsupported-char-glyph)
;; I doubt we need compatibility versions of any of these autoloaded
;; functions apart from codepage-setup, which users may call.

View File

@ -1012,7 +1012,7 @@ If first char entered is \\[isearch-yank-word-or-char], then do word search inst
;; read a key the normal way.
;; Word search does not apply (yet) to regexp searches,
;; no check is made here.
(message (isearch-message-prefix nil nil t))
(message "%s" (isearch-message-prefix nil nil t))
(if (memq (lookup-key isearch-mode-map (vector e))
'(isearch-yank-word
isearch-yank-word-or-char))

View File

@ -1122,7 +1122,7 @@ Return the modified list with the last element prepended to it."
(set-buffer-major-mode newbufcreated))
(iswitchb-visit-buffer newbufcreated))
;; else wont create new buffer
(message (format "no buffer matching `%s'" buf)))))
(message "no buffer matching `%s'" buf))))
(defun iswitchb-window-buffer-p (buffer)
"Return window pointer if BUFFER is visible in another frame.

View File

@ -331,7 +331,7 @@ If BUFFER is non-nil `log-edit' will jump to that buffer, use it to edit the
(set (make-local-variable 'log-edit-initial-files) (log-edit-files))
(when setup (run-hooks 'log-edit-hook))
(goto-char (point-min)) (push-mark (point-max))
(message (substitute-command-keys
(message "%s" (substitute-command-keys
"Press \\[log-edit-done] when you are done editing."))))
(define-derived-mode log-edit-mode text-mode "Log-Edit"
@ -426,7 +426,7 @@ To select default log text, we:
(interactive)
(if (eq last-command 'log-edit-mode-help)
(describe-function major-mode)
(message
(message "%s"
(substitute-command-keys
"Type `\\[log-edit-done]' to finish commit. Try `\\[describe-function] log-edit-done' for more help."))))

View File

@ -1943,7 +1943,7 @@ mapped to mostly alphanumerics for safety."
(file-exists-p a-s-file-name)
(delete-file a-s-file-name))))
(if feedmail-queue-chatty
(progn (message (concat "FQM: Queued in " filename))
(progn (message "%s" (concat "FQM: Queued in " filename))
(sit-for feedmail-queue-chatty-sit-for)))
(if feedmail-queue-chatty
(progn

View File

@ -449,10 +449,10 @@ it from rmail file. Called for each new message retrieved by
(if rsf-autosave-newly-added-definitions
(progn
(custom-save-all)
(message (concat "added subject \n <<< \n" message-subject
(message "%s" (concat "added subject \n <<< \n" message-subject
" \n >>> \n to list of spam definitions. \n"
"and saved the spam definitions to file.")))
(message (concat "added subject \n <<< \n" message-subject
(message "%s" (concat "added subject \n <<< \n" message-subject
" \n >>> \n to list of spam definitions. \n"
"Don't forget to save the spam definitions to file using the spam
menu"))
@ -478,10 +478,10 @@ it from rmail file. Called for each new message retrieved by
(if rsf-autosave-newly-added-definitions
(progn
(custom-save-all)
(message (concat "added sender \n <<< \n" message-sender
(message "%s" (concat "added sender \n <<< \n" message-sender
" \n >>> \n to list of spam definitions. \n"
"and saved the spam definitions to file.")))
(message (concat "added sender \n <<< \n " message-sender
(message "%s" (concat "added sender \n <<< \n " message-sender
" \n >>> \n to list of spam definitions."
"Don't forget to save the spam definitions to file using the spam
menu"))
@ -521,10 +521,10 @@ Added to spam definitions as a contents field."
(if rsf-autosave-newly-added-definitions
(progn
(custom-save-all)
(message (concat "added highlighted text \n <<< \n" region-to-spam-list
(message "%s" (concat "added highlighted text \n <<< \n" region-to-spam-list
" \n >>> \n to list of spam definitions. \n"
"and saved the spam definitions to file.")))
(message (concat "added highlighted text \n <<< \n " region-to-spam-list
(message "%s" (concat "added highlighted text \n <<< \n " region-to-spam-list
" \n >>> \n to list of spam definitions."
"Don't forget to save the spam definitions to file using the
spam menu"))

View File

@ -1591,8 +1591,13 @@ is inserted.
The normal hook `mail-setup-hook' is run after the message is
initialized. It can add more default fields to the message.
When calling from a program, the first argument if non-nil says
not to erase the existing contents of the `*mail*' buffer.
The first argument, NOERASE, determines what to do when there is
an existing modified `*mail*' buffer. If NOERASE is nil, the
existing mail buffer is used, and the user is prompted whether to
keep the old contents or to erase them. If NOERASE has the value
`new', a new mail buffer will be created instead of using the old
one. Any other non-nil value means to always select the old
buffer without erasing the contents.
The second through fifth arguments,
TO, SUBJECT, IN-REPLY-TO and CC, specify if non-nil
@ -1649,7 +1654,14 @@ The seventh argument ACTIONS is a list of actions to take
;;; (file-exists-p buffer-auto-save-file-name))
;;; (message "Auto save file for draft message exists; consider M-x mail-recover"))
;;; t))
(pop-to-buffer "*mail*")
(if (eq noerase 'new)
(pop-to-buffer (generate-new-buffer "*mail*"))
(and noerase
(not (get-buffer "*mail*"))
(setq noerase nil))
(pop-to-buffer "*mail*"))
;; Avoid danger that the auto-save file can't be written.
(let ((dir (expand-file-name
(file-name-as-directory mail-default-directory))))
@ -1664,7 +1676,8 @@ The seventh argument ACTIONS is a list of actions to take
;; (in case the user has actually visited a file *mail*).
; (set-visited-file-name nil)
(let (initialized)
(and (not noerase)
(and (not (and noerase
(not (eq noerase 'new))))
(if buffer-file-name
(if (buffer-modified-p)
(when (y-or-n-p "Buffer has unsaved changes; reinitialize it and discard them? ")

View File

@ -1,3 +1,24 @@
2005-09-18 D Goel <deego@gnufans.org>
* mh-alias.el (mh-alias-ali): Fix `message' call: first arg
should be a format spec.
* mh-print.el (mh-ps-spool-buffer, mh-ps-spool-a-msg)
(mh-ps-print-msg, mh-ps-print-msg-show): Ditto.
* mh-mime.el (mh-toggle-mh-decode-mime-flag): Ditto.
* mh-index.el (mh-index-sequenced-messages): Ditto.
* mh-e.el (mh-refile-or-write-again, mh-page-msg): Ditto.
* mh-junk.el (mh-junk-blacklist, mh-junk-whitelist)
(mh-spamassassin-blacklist, mh-spamassassin-whitelist): Ditto.
2005-08-15 Dan Nicolaescu <dann@ics.uci.edu>
* mh-customize.el: Do not use face-alias compatibility for

View File

@ -251,7 +251,7 @@ ali returns the string unchanged if not defined. The same is done here."
(if (looking-at "^$") (delete-backward-char 1))
(buffer-substring (point-min)(point-max)))
(error (progn
(message (error-message-string err))
(message "%s" (error-message-string err))
alias))))
(defun mh-alias-expand (alias)

View File

@ -734,7 +734,7 @@ If INTERACTIVE-FLAG is non-nil then the function was called interactively."
(apply 'mh-write-msg-to-file msg (cdr mh-last-destination)))
(mh-next-msg interactive-flag)
(format "Destination: %s" (cdr mh-last-destination)))))
(message output)))
(message "%s" output)))
(defun mh-quit ()
"Quit the current MH-E folder.
@ -778,12 +778,12 @@ bottom of the current message."
(if (mh-in-show-buffer (mh-show-buffer)
(pos-visible-in-window-p (point-max)))
(progn
(message (format
"End of message (Type %s to read %s undeleted message)"
(single-key-description last-input-event)
(if (equal mh-next-direction 'backward)
"previous"
"next")))
(message
"End of message (Type %s to read %s undeleted message)"
(single-key-description last-input-event)
(if (equal mh-next-direction 'backward)
"previous"
"next"))
(setq mh-page-to-next-msg-flag t))
(scroll-other-window arg)))
(mh-show)))

View File

@ -1325,7 +1325,7 @@ space-separated list of folders, or nothing to search all folders."
mh-index-sequence-search-flag t
mh-index-previous-search (list folders sequence))
(mh-index-write-data)
(when (stringp message) (message message))))
(when (stringp message) (message "%s" message))))
;;;###mh-autoload
(defun mh-index-new-messages (folders)

View File

@ -63,9 +63,9 @@ For more information about using your particular spam fighting program, see:
(substring mh-junk-disposition 1)))
(t (concat "+" mh-junk-disposition)))))
(mh-iterate-on-range msg range
(message (format "Blacklisting message %d..." msg))
(message "Blacklisting message %d..." msg)
(funcall (symbol-function blacklist-func) msg)
(message (format "Blacklisting message %d...done" msg))
(message "Blacklisting message %d...done" msg)
(if (not (memq msg mh-seen-list))
(setq mh-seen-list (cons msg mh-seen-list)))
(if dest
@ -87,9 +87,9 @@ The `mh-junk-program' option specifies the spam program in use."
(unless whitelist-func
(error "Customize `mh-junk-program' appropriately"))
(mh-iterate-on-range msg range
(message (format "Whitelisting message %d..." msg))
(message "Whitelisting message %d..." msg)
(funcall (symbol-function whitelist-func) msg)
(message (format "Whitelisting message %d...done" msg))
(message "Whitelisting message %d...done" msg)
(mh-refile-a-msg nil (intern mh-inbox)))
(mh-next-msg)))
@ -179,7 +179,7 @@ done by adding the following to your crontab:
(msg-file (mh-msg-filename msg mh-current-folder))
(sender))
(save-excursion
(message (format "Reporting message %d..." msg))
(message "Reporting message %d..." msg)
(mh-truncate-log-buffer)
(call-process mh-spamassassin-executable msg-file mh-log-buffer nil
;;"--report" "--remove-from-whitelist"
@ -188,7 +188,7 @@ done by adding the following to your crontab:
(message "Recategorizing this message as spam...")
(call-process mh-sa-learn-executable msg-file mh-log-buffer nil
"--single" "--spam" "--local" "--no-rebuild"))
(message (format "Blacklisting message %d..." msg))
(message "Blacklisting message %d..." msg)
(set-buffer (get-buffer-create mh-temp-buffer))
(erase-buffer)
(call-process (expand-file-name mh-scan-prog mh-progs)
@ -200,8 +200,8 @@ done by adding the following to your crontab:
(progn
(setq sender (match-string 0))
(mh-spamassassin-add-rule "blacklist_from" sender)
(message (format "Blacklisting message %d...done" msg)))
(message (format "Blacklisting message %d...not done (from my address)" msg))))))
(message "Blacklisting message %d...done" msg))
(message "Blacklisting message %d...not done (from my address)" msg)))))
(defun mh-spamassassin-whitelist (msg)
"Whitelist MSG with SpamAssassin.
@ -230,14 +230,14 @@ See `mh-spamassassin-blacklist' for more information."
(message "Recategorizing this message as ham...")
(call-process mh-sa-learn-executable msg-file mh-temp-buffer nil
"--single" "--ham" "--local --no-rebuild"))
(message (format "Whitelisting message %d..." msg))
(message "Whitelisting message %d..." msg)
(setq from
(car (mh-funcall-if-exists
ietf-drums-parse-address (mh-get-header-field "From:"))))
(kill-buffer nil)
(unless (or (null from) (equal from ""))
(mh-spamassassin-add-rule "whitelist_from" from))
(message (format "Whitelisting message %d...done" msg)))))
(message "Whitelisting message %d...done" msg))))
(defun mh-spamassassin-add-rule (rule body)
"Add a new rule to `~/.spamassassin/user_prefs'.

View File

@ -858,7 +858,7 @@ If message has been encoded for transfer take that into account."
(interactive)
(setq mh-decode-mime-flag (not mh-decode-mime-flag))
(mh-show nil t)
(message (format "(setq mh-decode-mime-flag %s)" mh-decode-mime-flag)))
(message "(setq mh-decode-mime-flag %s)" mh-decode-mime-flag))
;;;###mh-autoload
(defun mh-decode-message-header ()

View File

@ -64,7 +64,7 @@ Sensible choices are the functions `ps-spool-buffer' and
;; XXX - Default print buffer is bogus
(defun mh-ps-spool-buffer (buffer)
"Send BUFFER to printer queue."
(message (format "mh-ps-spool-buffer %s" buffer))
(message "mh-ps-spool-buffer %s" buffer)
(save-excursion
(set-buffer buffer)
(let ((ps-print-color-p mh-ps-print-color-option)
@ -85,8 +85,8 @@ Sensible choices are the functions `ps-spool-buffer' and
"Print MSG.
First the message is decoded in BUFFER before the results are sent to the
printer."
(message (format "mh-ps-spool-a-msg msg %s buffer %s"
msg buffer))
(message "mh-ps-spool-a-msg msg %s buffer %s"
msg buffer)
(let ((mh-show-buffer mh-show-buffer)
(folder mh-current-folder)
;; The following is commented out because
@ -113,8 +113,8 @@ printer."
Check the documentation of `mh-interactive-range' to see how RANGE is read in
interactive use."
(interactive (list (mh-interactive-range "Print")))
(message (format "mh-ps-print-msg range %s keys %s"
range (this-command-keys)))
(message "mh-ps-print-msg range %s keys %s"
range (this-command-keys))
(mh-iterate-on-range msg range
(let ((buffer (get-buffer-create mh-temp-buffer)))
(unwind-protect
@ -152,8 +152,8 @@ interactive use."
(defun mh-ps-print-msg-show (file)
"Print current show buffer to FILE."
(interactive (list (mh-ps-print-preprint current-prefix-arg)))
(message (format "mh-ps-print-msg-show file %s keys %s mh-show-buffer %s"
file (this-command-keys) mh-show-buffer))
(message "mh-ps-print-msg-show file %s keys %s mh-show-buffer %s"
file (this-command-keys mh-show-buffer))
(let ((msg (mh-get-msg-num t))
(folder mh-current-folder)
(show-buffer mh-show-buffer)

View File

@ -153,7 +153,7 @@ PREFIX is the prefix argument (if any) to pass to the command."
(defvar mouse-major-mode-menu-prefix) ; dynamically bound
(defun mouse-major-mode-menu (event prefix)
(defun mouse-major-mode-menu (event &optional prefix)
"Pop up a mode-specific menu of mouse commands.
Default to the Edit menu if the major mode doesn't define a menu."
;; Switch to the window clicked on, because otherwise
@ -173,8 +173,7 @@ Default to the Edit menu if the major mode doesn't define a menu."
;; default to the edit menu.
(newmap (if ancestor
(make-sparse-keymap (concat mode-name " Mode"))
menu-bar-edit-menu))
result)
menu-bar-edit-menu)))
(if ancestor
;; Make our menu inherit from the desired keymap which we want
;; to display as the menu now.

View File

@ -1641,81 +1641,75 @@ good, skip, fatal, or unknown."
;; on to ange-ftp-process-handle-line to deal with.
(defun ange-ftp-process-filter (proc str)
(let ((buffer (process-buffer proc))
(old-buffer (current-buffer)))
;; Eliminate nulls.
(while (string-match "\000+" str)
(setq str (replace-match "" nil nil str)))
;; Eliminate nulls.
(while (string-match "\000+" str)
(setq str (replace-match "" nil nil str)))
;; see if the buffer is still around... it could have been deleted.
(when (buffer-live-p (process-buffer proc))
(with-current-buffer (process-buffer proc)
;; see if the buffer is still around... it could have been deleted.
(if (buffer-name buffer)
(unwind-protect
(progn
(set-buffer (process-buffer proc))
;; handle hash mark printing
(and ange-ftp-process-busy
(string-match "^#+$" str)
(setq str (ange-ftp-process-handle-hash str)))
(comint-output-filter proc str)
;; Replace STR by the result of the comint processing.
(setq str (buffer-substring comint-last-output-start
(process-mark proc)))
(if ange-ftp-process-busy
(progn
(setq ange-ftp-process-string (concat ange-ftp-process-string
str))
;; handle hash mark printing
(and ange-ftp-process-busy
(string-match "\\`#+\\'" str)
(setq str (ange-ftp-process-handle-hash str)))
(comint-output-filter proc str)
;; Replace STR by the result of the comint processing.
(setq str (buffer-substring comint-last-output-start
(process-mark proc)))
(if ange-ftp-process-busy
(progn
(setq ange-ftp-process-string (concat ange-ftp-process-string
str))
;; if we gave an empty password to the USER command earlier
;; then we should send a null password now.
(if (string-match "Password: *$" ange-ftp-process-string)
(process-send-string proc "\n"))))
(while (and ange-ftp-process-busy
(string-match "\n" ange-ftp-process-string))
(let ((line (substring ange-ftp-process-string
0
(match-beginning 0)))
(seen-prompt nil))
(setq ange-ftp-process-string (substring ange-ftp-process-string
(match-end 0)))
(while (string-match "\\`ftp> *" line)
(setq seen-prompt t)
(setq line (substring line (match-end 0))))
(if (not (and seen-prompt ange-ftp-pending-error-line))
(ange-ftp-process-handle-line line proc)
;; If we've seen a potential error message and it
;; hasn't been cancelled by a good message before
;; seeing a propt, then the error was real.
(delete-process proc)
(setq ange-ftp-process-busy nil
ange-ftp-process-result-line ange-ftp-pending-error-line))))
;; if we gave an empty password to the USER command earlier
;; then we should send a null password now.
(if (string-match "Password: *$" ange-ftp-process-string)
(process-send-string proc "\n"))))
(while (and ange-ftp-process-busy
(string-match "\n" ange-ftp-process-string))
(let ((line (substring ange-ftp-process-string
0
(match-beginning 0)))
(seen-prompt nil))
(setq ange-ftp-process-string (substring ange-ftp-process-string
(match-end 0)))
(while (string-match "\\`ftp> *" line)
(setq seen-prompt t)
(setq line (substring line (match-end 0))))
(if (not (and seen-prompt ange-ftp-pending-error-line))
(ange-ftp-process-handle-line line proc)
;; If we've seen a potential error message and it
;; hasn't been cancelled by a good message before
;; seeing a propt, then the error was real.
(delete-process proc)
(setq ange-ftp-process-busy nil
ange-ftp-process-result-line ange-ftp-pending-error-line))))
;; has the ftp client finished? if so then do some clean-up
;; actions.
(if (not ange-ftp-process-busy)
(progn
;; reset the xfer size
(setq ange-ftp-xfer-size 0)
;; has the ftp client finished? if so then do some clean-up
;; actions.
(if (not ange-ftp-process-busy)
(progn
;; reset the xfer size
(setq ange-ftp-xfer-size 0)
;; issue the "done" message since we've finished.
(if (and ange-ftp-process-msg
ange-ftp-process-verbose
ange-ftp-process-result)
(progn
(ange-ftp-message "%s...done" ange-ftp-process-msg)
(ange-ftp-repaint-minibuffer)
(setq ange-ftp-process-msg nil)))
;; issue the "done" message since we've finished.
(if (and ange-ftp-process-msg
ange-ftp-process-verbose
ange-ftp-process-result)
(progn
(ange-ftp-message "%s...done" ange-ftp-process-msg)
(ange-ftp-repaint-minibuffer)
(setq ange-ftp-process-msg nil)))
;; is there a continuation we should be calling? if so,
;; we'd better call it, making sure we only call it once.
(if ange-ftp-process-continue
(let ((cont ange-ftp-process-continue))
(setq ange-ftp-process-continue nil)
(ange-ftp-call-cont cont
ange-ftp-process-result
ange-ftp-process-result-line))))))
(set-buffer old-buffer)))))
;; is there a continuation we should be calling? if so,
;; we'd better call it, making sure we only call it once.
(if ange-ftp-process-continue
(let ((cont ange-ftp-process-continue))
(setq ange-ftp-process-continue nil)
(ange-ftp-call-cont cont
ange-ftp-process-result
ange-ftp-process-result-line))))))))
(defun ange-ftp-process-sentinel (proc str)
"When ftp process changes state, nuke all file-entries in cache."
@ -1795,8 +1789,7 @@ good, skip, fatal, or unknown."
(defun ange-ftp-gwp-start (host user name args)
"Login to the gateway machine and fire up an ftp process."
(let* ((gw-user (ange-ftp-get-user ange-ftp-gateway-host))
;; It would be nice to make process-connection-type nil,
(let* (;; It would be nice to make process-connection-type nil,
;; but that doesn't work: ftp never responds.
;; Can anyone find a fix for that?
(proc (let ((process-connection-type t))
@ -2137,7 +2130,6 @@ suffix of the form #PORT to specify a non-default port"
(save-excursion
(set-buffer (process-buffer proc))
(let* ((status (ange-ftp-raw-send-cmd proc "hash"))
(result (car status))
(line (cdr status)))
(save-match-data
(if (string-match ange-ftp-hash-mark-msgs line)
@ -4484,8 +4476,7 @@ NEWNAME should be the name to give the new compressed or uncompressed file.")
;; `ange-ftp-ls' handles this.
(defun ange-ftp-insert-directory (file switches &optional wildcard full)
(let ((short (ange-ftp-abbreviate-filename file))
(parsed (ange-ftp-ftp-name (expand-file-name file)))
(let ((parsed (ange-ftp-ftp-name (expand-file-name file)))
tem)
(if parsed
(if (and (not wildcard)
@ -4511,10 +4502,9 @@ NEWNAME should be the name to give the new compressed or uncompressed file.")
(defun ange-ftp-file-name-sans-versions (file keep-backup-version)
(let* ((short (ange-ftp-abbreviate-filename file))
(parsed (ange-ftp-ftp-name short))
host-type func)
func)
(if parsed
(setq host-type (ange-ftp-host-type (car parsed))
func (cdr (assq (ange-ftp-host-type (car parsed))
(setq func (cdr (assq (ange-ftp-host-type (car parsed))
ange-ftp-sans-version-alist))))
(if func (funcall func file keep-backup-version)
(ange-ftp-real-file-name-sans-versions file keep-backup-version))))

4922
lisp/net/newsticker.el Normal file

File diff suppressed because it is too large Load Diff

View File

@ -822,9 +822,11 @@ tilde expansion, all directory names starting with `~' will be ignored."
:type '(repeat string))
(defcustom tramp-login-prompt-regexp
".*ogin: *"
".*ogin\\( .*\\)?: *"
"*Regexp matching login-like prompts.
The regexp should match at end of buffer."
The regexp should match at end of buffer.
Sometimes the prompt is reported to look like \"login as:\"."
:group 'tramp
:type 'regexp)

View File

@ -226,10 +226,10 @@
(progn
(when temp-message
(setq current-message (current-message))
(message temp-message))
(message "%s" temp-message))
,@body)
(when temp-message
(message current-message))))))
(message "%s" current-message))))))
;;
;; We use this for compatibility with a future Emacs.
(or (fboundp 'defcustom)

View File

@ -1138,7 +1138,7 @@ If specific documentation can't be given, be generic."
(fboundp 'Info-goto-node))
(listp pcomplete-help)))
(if (listp pcomplete-help)
(message (eval pcomplete-help))
(message "%s" (eval pcomplete-help))
(save-window-excursion (info))
(switch-to-buffer-other-window "*info*")
(funcall (symbol-function 'Info-goto-node) pcomplete-help))

View File

@ -38,11 +38,14 @@
"*Name or full path of the cvs executable.")
(defvar cvs-version
;; With the divergence of the CVSNT codebase and version numbers, this is
;; not really good any more.
(ignore-errors
(with-temp-buffer
(call-process cvs-program nil t nil "-v")
(goto-char (point-min))
(when (re-search-forward "(CVS) \\([0-9]+\\)\\.\\([0-9]+\\)" nil t)
(when (re-search-forward "(CVS\\(NT\\)?) \\([0-9]+\\)\\.\\([0-9]+\\)"
nil t)
(cons (string-to-number (match-string 1))
(string-to-number (match-string 2))))))
"*Version of `cvs' installed on your system.
@ -490,8 +493,11 @@ It is expected to call the function.")
;; cvs-1.10 and above can take file arguments in other directories
;; while others need to be executed once per directory
(defvar cvs-execute-single-dir
(if (and (consp cvs-version)
(or (>= (cdr cvs-version) 10) (> (car cvs-version) 1)))
(if (or (null cvs-version)
(or (>= (cdr cvs-version) 10) (> (car cvs-version) 1)))
;; Supposedly some recent versions of CVS output some directory info
;; as they recurse downthe tree, but it's not good enough in the case
;; where we run "cvs status foo bar/foo".
'("status")
t)
"Whether cvs commands should be executed a directory at a time.
@ -506,7 +512,7 @@ Sadly, even with a new cvs executable, if you connect to an older cvs server
a case the sanity check made by pcl-cvs fails and you will have to manually
set this variable to t (until the cvs server is upgraded).
When the above problem occurs, pcl-cvs should (hopefully) catch cvs' error
message and replace it with a message tell you to change this variable.")
message and replace it with a message telling you to change this variable.")
;;
(provide 'pcvs-defs)

View File

@ -1171,7 +1171,7 @@ Full documentation is in the Texinfo file."
(interactive)
(if (eq last-command 'cvs-help)
(describe-function 'cvs-mode) ; would need minor-mode for log-edit-mode
(message
(message "%s"
(substitute-command-keys
"`\\[cvs-help]':help `\\[cvs-mode-add]':add `\\[cvs-mode-commit]':commit \
`\\[cvs-mode-diff-map]':diff* `\\[cvs-mode-log]':log \

View File

@ -600,7 +600,7 @@ you have determined the keyword."
(defun decipher-show-alphabet ()
"Display the current cipher alphabet in the message line."
(interactive)
(message
(message "%s"
(mapconcat (lambda (a)
(concat
(char-to-string (car a))

View File

@ -1473,7 +1473,7 @@ After this limit is reached, lm-random-move is called to push him out of it."
(lm-plot-square (lm-point-square) 1)
(incf lm-number-of-moves)
(if lm-output-moves
(message (format "Moves made: %d" lm-number-of-moves))))
(message "Moves made: %d" lm-number-of-moves)))
(defun lm-random-move ()

View File

@ -179,7 +179,7 @@ If the element is a function or a list of a function and a number,
(error
(funcall restore)
(while (not (input-pending-p))
(message (format "We were zoning when we wrote %s..." pgm))
(message "We were zoning when we wrote %s..." pgm)
(sit-for 3)
(message "...here's hoping we didn't hose your buffer!")
(sit-for 3)))

View File

@ -4,7 +4,7 @@
;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;; Time-stamp: <2005/06/11 19:51:32 vinicius>
;; Time-stamp: <2005-09-18 05:57:14 deego>
;; Keywords: wp, print, PostScript
;; Version: 6.8.4
;; X-URL: http://www.cpqd.com.br/~vinicius/emacs/
@ -6424,7 +6424,7 @@ COMMAND.exe, COMMAND.bat and COMMAND.com in this order."
;; handlers
((quit error)
(ding)
(message (error-message-string data)))))
(message "%s" (error-message-string data)))))
(defun pr-interface-printify (&rest ignore)
@ -6449,7 +6449,7 @@ COMMAND.exe, COMMAND.bat and COMMAND.com in this order."
;; handlers
((quit error)
(ding)
(message (error-message-string data)))))
(message "%s" (error-message-string data)))))
(defun pr-interface-ps-print (&rest ignore)
@ -6515,7 +6515,7 @@ COMMAND.exe, COMMAND.bat and COMMAND.com in this order."
;; handlers
((quit error)
(ding)
(message (error-message-string data)))))
(message "%s" (error-message-string data)))))
(defun pr-i-ps-send ()

View File

@ -1539,7 +1539,7 @@ word itself has a special casing."
(ada-save-exceptions-to-file file-name)
(message (concat "Defining " word " as a casing exception"))))
(message "%s" (concat "Defining " word " as a casing exception"))))
(defun ada-case-read-exceptions-from-file (file-name)
"Read the content of the casing exception file FILE-NAME."
@ -2191,17 +2191,17 @@ This function is intended to be bound to the C-m and C-j keys."
(if (equal (cdr cur-indent) '(0))
(message (concat "same indentation as line " (number-to-string line)))
(message (mapconcat (lambda(x)
(cond
((symbolp x)
(symbol-name x))
((numberp x)
(number-to-string x))
((listp x)
(concat "- " (symbol-name (cadr x))))
))
(cdr cur-indent)
" + "))))
(message "%s" (mapconcat (lambda(x)
(cond
((symbolp x)
(symbol-name x))
((numberp x)
(number-to-string x))
((listp x)
(concat "- " (symbol-name (cadr x))))
))
(cdr cur-indent)
" + "))))
(save-excursion
(goto-char (car cur-indent))
(sit-for 1))))
@ -2214,7 +2214,7 @@ command like:
(while command-line-args-left
(let ((source (car command-line-args-left)))
(message (concat "formating " source))
(message "Formating %s" source)
(find-file source)
(ada-indent-region (point-min) (point-max))
(ada-adjust-case-buffer)

View File

@ -325,7 +325,7 @@ replaced by the name including the extension."
;; Check if there is an environment variable with the same name
(if (null value)
(if (not (setq value (getenv name)))
(message (concat "No environment variable " name " found"))))
(message "%s" (concat "No environment variable " name " found"))))
(cond
((null value)

View File

@ -346,13 +346,13 @@ Optional arg DISPLAY non-nil means show messages in the echo area."
(format "\n#line %d \"%s\"\n" startlinenum filename)))
;; Call the preprocessor.
(if display (message mymsg))
(if display (message "%s" mymsg))
(setq exit-status
(call-process-region 1 (point-max)
shell-file-name
t (list t tempname) nil "-c"
cppcommand))
(if display (message (concat mymsg "done")))
(if display (message "%s" (concat mymsg "done")))
(if (= (buffer-size) 0)
;; Empty output is normal after a fatal error.
(insert "\nPreprocessor produced no output\n")

View File

@ -307,7 +307,7 @@ File = \\(.+\\), Line = \\([0-9]+\\)\\(?:, Column = \\([0-9]+\\)\\)?"
(defcustom compilation-error-regexp-alist
(mapcar 'car compilation-error-regexp-alist-alist)
"Alist that specifies how to match errors in compiler output.
Note that on Unix everything is a valid filename, so these
On GNU and Unix, any string is a valid filename, so these
matchers must make some common sense assumptions, which catch
normal cases. A shorter list will be lighter on resource usage.
@ -436,6 +436,7 @@ nil as an element means to try the default directory."
(string :tag "Directory")))
:group 'compilation)
;;;###autoload
(defcustom compile-command "make -k "
"*Last shell command used to do a compilation; default for next compilation.
@ -452,6 +453,7 @@ You might also use mode hooks to specify it in certain modes, like this:
:type 'string
:group 'compilation)
;;;###autoload
(defcustom compilation-disable-input nil
"*If non-nil, send end-of-file as compilation process input.
This only affects platforms that support asynchronous processes (see
@ -664,24 +666,26 @@ just char-counts."
(move-to-column col)
(goto-char (min (+ (line-beginning-position) col) (line-end-position)))))
(defun compilation-internal-error-properties (file line end-line col end-col type fmt)
(defun compilation-internal-error-properties (file line end-line col end-col type fmts)
"Get the meta-info that will be added as text-properties.
LINE, END-LINE, COL, END-COL are integers or nil.
TYPE can be 0, 1, or 2.
FILE should be (ABSOLUTE-FILENAME) or (RELATIVE-FILENAME . DIRNAME) or nil."
TYPE can be 0, 1, or 2, meaning error, warning, or just info.
FILE should be (FILENAME) or (RELATIVE-FILENAME . DIRNAME) or nil.
FMTS is a list of format specs for transforming the file name.
(See `compilation-error-regexp-alist'.)"
(unless file (setq file '("*unknown*")))
(setq file (compilation-get-file-structure file fmt))
;; Get first already existing marker (if any has one, all have one).
;; Do this first, as the compilation-assq`s may create new nodes.
(let* ((marker-line (car (cddr file))) ; a line structure
(let* ((file-struct (compilation-get-file-structure file fmts))
;; Get first already existing marker (if any has one, all have one).
;; Do this first, as the compilation-assq`s may create new nodes.
(marker-line (car (cddr file-struct))) ; a line structure
(marker (nth 3 (cadr marker-line))) ; its marker
(compilation-error-screen-columns compilation-error-screen-columns)
end-marker loc end-loc)
(if (not (and marker (marker-buffer marker)))
(setq marker) ; no valid marker for this file
(setq marker nil) ; no valid marker for this file
(setq loc (or line 1)) ; normalize no linenumber to line 1
(catch 'marker ; find nearest loc, at least one exists
(dolist (x (nthcdr 3 file)) ; loop over remaining lines
(dolist (x (nthcdr 3 file-struct)) ; loop over remaining lines
(if (> (car x) loc) ; still bigger
(setq marker-line x)
(if (> (- (or (car marker-line) 1) loc)
@ -710,17 +714,18 @@ FILE should be (ABSOLUTE-FILENAME) or (RELATIVE-FILENAME . DIRNAME) or nil."
(forward-to-indentation 0))
(setq marker (list (point-marker))))))
(setq loc (compilation-assq line (cdr file)))
(setq loc (compilation-assq line (cdr file-struct)))
(if end-line
(setq end-loc (compilation-assq end-line (cdr file))
(setq end-loc (compilation-assq end-line (cdr file-struct))
end-loc (compilation-assq end-col end-loc))
(if end-col ; use same line element
(setq end-loc (compilation-assq end-col loc))))
(setq loc (compilation-assq col loc))
;; If they are new, make the loc(s) reference the file they point to.
(or (cdr loc) (setcdr loc `(,line ,file ,@marker)))
(or (cdr loc) (setcdr loc `(,line ,file-struct ,@marker)))
(if end-loc
(or (cdr end-loc) (setcdr end-loc `(,(or end-line line) ,file ,@end-marker))))
(or (cdr end-loc)
(setcdr end-loc `(,(or end-line line) ,file-struct ,@end-marker))))
;; Must start with face
`(face ,compilation-message-face
@ -1570,8 +1575,7 @@ This is the value of `next-error-function' in Compilation buffers."
;; markers for that file.
(unless (and (nth 3 loc) (marker-buffer (nth 3 loc)))
(with-current-buffer (compilation-find-file marker (caar (nth 2 loc))
(or (cdar (nth 2 loc))
default-directory))
(cadr (car (nth 2 loc))))
(save-restriction
(widen)
(goto-char (point-min))
@ -1734,16 +1738,21 @@ and overlay is highlighted between MK and END-MK."
(copy-marker (line-beginning-position))))))
(defun compilation-find-file (marker filename dir &rest formats)
(defun compilation-find-file (marker filename directory &rest formats)
"Find a buffer for file FILENAME.
Search the directories in `compilation-search-path'.
A nil in `compilation-search-path' means to try the
current directory, which is passed in DIR.
\"current\" directory, which is passed in DIRECTORY.
If DIRECTORY. is relative, it is combined with `default-directory'.
If DIRECTORY. is nil, that means use `default-directory'.
If FILENAME is not found at all, ask the user where to find it.
Pop up the buffer containing MARKER and scroll to MARKER if we ask the user."
(or formats (setq formats '("%s")))
(save-excursion
(let ((dirs compilation-search-path)
(spec-dir (if directory
(expand-file-name directory)
default-directory))
buffer thisdir fmts name)
(if (file-name-absolute-p filename)
;; The file name is absolute. Use its explicit directory as
@ -1753,7 +1762,7 @@ Pop up the buffer containing MARKER and scroll to MARKER if we ask the user."
filename (file-name-nondirectory filename)))
;; Now search the path.
(while (and dirs (null buffer))
(setq thisdir (or (car dirs) dir)
(setq thisdir (or (car dirs) spec-dir)
fmts formats)
;; For each directory, try each format string.
(while (and fmts (null buffer))
@ -1771,7 +1780,7 @@ Pop up the buffer containing MARKER and scroll to MARKER if we ask the user."
(read-file-name
(format "Find this %s in: (default %s) "
compilation-error filename)
dir filename t))))
spec-dir filename t))))
(if (file-directory-p name)
(setq name (expand-file-name filename name)))
(setq buffer (and (file-exists-p name)
@ -1785,26 +1794,32 @@ Pop up the buffer containing MARKER and scroll to MARKER if we ask the user."
(defun compilation-get-file-structure (file &optional fmt)
"Retrieve FILE's file-structure or create a new one.
FILE should be (ABSOLUTE-FILENAME) or (RELATIVE-FILENAME . DIRNAME)."
FILE should be (FILENAME) or (RELATIVE-FILENAME . DIRNAME).
In the former case, FILENAME may be relative or absolute.
The file-structure looks like this:
(list (list FILENAME [DIR-FROM-PREV-MSG]) FMT LINE-STRUCT...)
"
(or (gethash file compilation-locs)
;; File was not previously encountered, at least not in the form passed.
;; Let's normalize it and look again.
(let ((filename (car file))
(default-directory (if (cdr file)
(file-truename (cdr file))
default-directory)))
;; Get the specified directory from FILE.
(spec-directory (if (cdr file)
(file-truename (cdr file)))))
;; Check for a comint-file-name-prefix and prepend it if appropriate.
;; (This is very useful for compilation-minor-mode in an rlogin-mode
;; buffer.)
(if (boundp 'comint-file-name-prefix)
(if (file-name-absolute-p filename)
(setq filename
(concat (with-no-warnings comint-file-name-prefix) filename))
(setq default-directory
(file-truename
(concat (with-no-warnings comint-file-name-prefix) default-directory)))))
(when (and (boundp 'comint-file-name-prefix)
(not (equal comint-file-name-prefix "")))
(if (file-name-absolute-p filename)
(setq filename
(concat comint-file-name-prefix filename))
(if spec-directory
(setq spec-directory
(file-truename
(concat comint-file-name-prefix spec-directory))))))
;; If compilation-parse-errors-filename-function is
;; defined, use it to process the filename.
@ -1820,20 +1835,13 @@ FILE should be (ABSOLUTE-FILENAME) or (RELATIVE-FILENAME . DIRNAME)."
;; name and fix them.
(setq filename (command-line-normalize-file-name filename))
;; Now eliminate any "..", because find-file would get them wrong.
;; Make relative and absolute filenames, with or without links, the
;; same.
(setq filename
(list (abbreviate-file-name
(file-truename (if (cdr file)
(expand-file-name filename)
filename)))))
;; Store it for the possibly unnormalized name
(puthash file
;; Retrieve or create file-structure for normalized name
(or (gethash filename compilation-locs)
(puthash filename (list filename fmt) compilation-locs))
(or (gethash (list filename) compilation-locs)
(puthash (list filename)
(list (list filename spec-directory) fmt)
compilation-locs))
compilation-locs))))
(add-to-list 'debug-ignored-errors "^No more [-a-z ]+s yet$")

View File

@ -5,7 +5,7 @@
;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
;; Time-stamp: <2004/11/19 22:30:34 vinicius>
;; Time-stamp: <2005-09-18 07:27:20 deego>
;; Keywords: wp, ebnf, PostScript
;; Version: 4.2
;; X-URL: http://www.cpqd.com.br/~vinicius/emacs/
@ -4674,7 +4674,7 @@ killed after process termination."
(goto-char the-point)
(if ebnf-stop-on-error
(error error-msg)
(message error-msg)))
(message "%s" error-msg)))
;; generated output OK
(gen-func
nil)

View File

@ -183,7 +183,7 @@ TEXT is a format control string, and the remaining arguments ARGS
are the string substitutions (see `format')."
(if (<= level flymake-log-level)
(let* ((msg (apply 'format text args)))
(message msg)
(message "%s" msg)
;;(with-temp-buffer
;; (insert msg)
;; (insert "\n")

View File

@ -195,6 +195,16 @@ CATEGORY is the overlay category. If it is nil, use the `glasses' category."
(looking-at glasses-uncapitalize-regexp))))
(overlay-put o 'invisible t)
(overlay-put o 'after-string (downcase (match-string n))))))
;; Separator change
(unless (string= glasses-separator "_")
(goto-char beg)
(while (re-search-forward "[a-zA-Z0-9]\\(_+\\)[a-zA-Z0-9]" end t)
(goto-char (match-beginning 1))
(while (eql (char-after) ?\_)
(let ((o (glasses-make-overlay (point) (1+ (point)))))
;; `concat' ensures the character properties won't merge
(overlay-put o 'display (concat glasses-separator)))
(forward-char))))
;; Parentheses
(when glasses-separate-parentheses-p
(goto-char beg)
@ -227,6 +237,13 @@ recognized according to the current value of the variable `glasses-separator'."
(let ((n (if (match-string 1) 1 2)))
(replace-match "" t nil nil n)
(goto-char (match-end n))))
(unless (string= glasses-separator "_")
(goto-char (point-min))
(while (re-search-forward (format "[a-zA-Z0-9]\\(%s+\\)[a-zA-Z0-9]"
separator)
nil t)
(replace-match "_" nil nil nil 1)
(goto-char (match-beginning 1))))
(when glasses-separate-parentheses-p
(goto-char (point-min))
(while (re-search-forward "[a-zA-Z]_*\\( \\)\(" nil t)

View File

@ -1865,7 +1865,7 @@ extension EXTN. Normally EXTN is given as the regular expression
;; Anything else means the input is invalid.
(t
(message (format "Error parsing file %s." file))
(message "Error parsing file %s." file)
(throw 'abort nil))))))
l))

View File

@ -1,12 +1,12 @@
;;; hideshow.el --- minor mode cmds to selectively display code/comment blocks
;; Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
;; 2004, 2005 Free Software Foundation
;; 2004, 2005 Free Software Foundation, Inc.
;; Author: Thien-Thi Nguyen <ttn@gnu.org>
;; Dan Nicolaescu <dann@ics.uci.edu>
;; Keywords: C C++ java lisp tools editing comments blocks hiding outlines
;; Maintainer-Version: 5.58.2.4
;; Maintainer-Version: 5.65.2.2
;; Time-of-Day-Author-Most-Likely-to-be-Recalcitrant: early morning
;; This file is part of GNU Emacs.
@ -208,11 +208,11 @@
;; Thanks go to the following people for valuable ideas, code and
;; bug reports.
;;
;; Dean Andrews, Alf-Ivar Holm, Holger Bauer, Christoph Conrad, Dave
;; Love, Dirk Herrmann, Gael Marziou, Jan Djarv, Guillaume Leray,
;; Moody Ahmad, Preston F. Crow, Lars Lindberg, Reto Zimmermann,
;; Keith Sheffield, Chew Meng Kuan, Tony Lam, Pete Ware, François
;; Pinard, Stefan Monnier, Joseph Eydelnant, Michael Ernst
;; Dean Andrews, Alf-Ivar Holm, Holger Bauer, Christoph Conrad, Dave Love,
;; Dirk Herrmann, Gael Marziou, Jan Djarv, Guillaume Leray, Moody Ahmad,
;; Preston F. Crow, Lars Lindberg, Reto Zimmermann, Keith Sheffield,
;; Chew Meng Kuan, Tony Lam, Pete Ware, François Pinard, Stefan Monnier,
;; Joseph Eydelnant, Michael Ernst, Peter Heslin
;;
;; Special thanks go to Dan Nicolaescu, who reimplemented hideshow using
;; overlays (rather than selective display), added isearch magic, folded
@ -243,7 +243,6 @@
:prefix "hs-"
:group 'languages)
;;;###autoload
(defcustom hs-hide-comments-when-hiding-all t
"*Hide the comments too when you do an `hs-hide-all'."
:type 'boolean
@ -307,6 +306,11 @@ whitespace. Case does not matter.")
(defvar hs-hide-all-non-comment-function nil
"*Function called if non-nil when doing `hs-hide-all' for non-comments.")
(defvar hs-allow-nesting nil
"*If non-nil, hiding remembers internal blocks.
This means that when the outer block is shown again, any
previously hidden internal blocks remain hidden.")
(defvar hs-hide-hook nil
"*Hook called (with `run-hooks') at the end of commands to hide text.
These commands include the toggling commands (when the result is to hide
@ -412,12 +416,19 @@ Note that `mode-line-format' is buffer-local.")
;; support functions
(defun hs-discard-overlays (from to)
"Delete hideshow overlays in region defined by FROM and TO."
"Delete hideshow overlays in region defined by FROM and TO.
Skip \"internal\" overlays if `hs-allow-nesting' is non-nil."
(when (< to from)
(setq from (prog1 to (setq to from))))
(dolist (ov (overlays-in from to))
(when (overlay-get ov 'hs)
(delete-overlay ov))))
(if hs-allow-nesting
(let (ov)
(while (> to (setq from (next-overlay-change from)))
(when (setq ov (hs-overlay-at from))
(setq from (overlay-end ov))
(delete-overlay ov))))
(dolist (ov (overlays-in from to))
(when (overlay-get ov 'hs)
(delete-overlay ov)))))
(defun hs-make-overlay (b e kind &optional b-offset e-offset)
"Return a new overlay in region defined by B and E with type KIND.
@ -532,19 +543,16 @@ and then further adjusted to be at the end of the line."
;; `q' is the point at the end of the block
(progn (hs-forward-sexp mdata 1)
(end-of-line)
(point))))
(point)))
ov)
(when (and (< p (point)) (> (count-lines p q) 1))
(hs-discard-overlays p q)
(cond ((and hs-allow-nesting (setq ov (hs-overlay-at p)))
(delete-overlay ov))
((not hs-allow-nesting)
(hs-discard-overlays p q)))
(hs-make-overlay p q 'code (- pure-p p)))
(goto-char (if end q (min p pure-p)))))))
(defun hs-safety-is-job-n ()
"Warn if `buffer-invisibility-spec' does not contain symbol `hs'."
(unless (and (listp buffer-invisibility-spec)
(assq 'hs buffer-invisibility-spec))
(message "Warning: `buffer-invisibility-spec' does not contain hs!!")
(sit-for 2)))
(defun hs-inside-comment-p ()
"Return non-nil if point is inside a comment, otherwise nil.
Actually, return a list containing the buffer position of the start
@ -587,7 +595,8 @@ as cdr."
(while (and (< (point) q)
(> (point) p)
(not (looking-at hs-c-start-regexp)))
(setq p (point)) ;; use this to avoid an infinite cycle
;; avoid an infinite cycle
(setq p (point))
(forward-comment 1)
(skip-chars-forward " \t\n\f"))
(when (or (not (looking-at hs-c-start-regexp))
@ -657,7 +666,8 @@ Return point, or nil if original point was not in a block."
(setq minp (1+ (point)))
(funcall hs-forward-sexp-func 1)
(setq maxp (1- (point))))
(hs-discard-overlays minp maxp) ; eliminate weirdness
(unless hs-allow-nesting
(hs-discard-overlays minp maxp))
(goto-char minp)
(while (progn
(forward-comment (buffer-size))
@ -667,7 +677,6 @@ Return point, or nil if original point was not in a block."
(hs-hide-level-recursive (1- arg) minp maxp)
(goto-char (match-beginning hs-block-start-mdata-select))
(hs-hide-block-at-point t)))
(hs-safety-is-job-n)
(goto-char maxp))
(defmacro hs-life-goes-on (&rest body)
@ -681,6 +690,15 @@ and `case-fold-search' are both t."
(put 'hs-life-goes-on 'edebug-form-spec '(&rest form))
(defun hs-overlay-at (position)
"Return hideshow overlay at POSITION, or nil if none to be found."
(let ((overlays (overlays-at position))
ov found)
(while (and (not found) (setq ov (car overlays)))
(setq found (and (overlay-get ov 'hs) ov)
overlays (cdr overlays)))
found))
(defun hs-already-hidden-p ()
"Return non-nil if point is in an already-hidden block, otherwise nil."
(save-excursion
@ -694,12 +712,7 @@ and `case-fold-search' are both t."
;; point is inside a block
(goto-char (match-end 0)))))
(end-of-line)
(let ((overlays (overlays-at (point)))
(found nil))
(while (and (not found) (overlayp (car overlays)))
(setq found (overlay-get (car overlays) 'hs)
overlays (cdr overlays)))
found)))
(hs-overlay-at (point))))
(defun hs-c-like-adjust-block-beginning (initial)
"Adjust INITIAL, the buffer position after `hs-block-start-regexp'.
@ -723,7 +736,8 @@ If `hs-hide-comments-when-hiding-all' is non-nil, also hide the comments."
(hs-life-goes-on
(message "Hiding all blocks ...")
(save-excursion
(hs-discard-overlays (point-min) (point-max)) ; eliminate weirdness
(unless hs-allow-nesting
(hs-discard-overlays (point-min) (point-max)))
(goto-char (point-min))
(let ((count 0)
(re (concat "\\("
@ -746,13 +760,12 @@ If `hs-hide-comments-when-hiding-all' is non-nil, also hide the comments."
(funcall hs-hide-all-non-comment-function)
(hs-hide-block-at-point t)))
;; found a comment, probably
(let ((c-reg (hs-inside-comment-p))) ; blech!
(let ((c-reg (hs-inside-comment-p)))
(when (and c-reg (car c-reg))
(if (> (count-lines (car c-reg) (nth 1 c-reg)) 1)
(hs-hide-block-at-point t c-reg)
(goto-char (nth 1 c-reg))))))
(message "Hiding ... %d" (setq count (1+ count)))))
(hs-safety-is-job-n))
(message "Hiding ... %d" (setq count (1+ count))))))
(beginning-of-line)
(message "Hiding all blocks ... done")
(run-hooks 'hs-hide-hook)))
@ -762,7 +775,8 @@ If `hs-hide-comments-when-hiding-all' is non-nil, also hide the comments."
(interactive)
(hs-life-goes-on
(message "Showing all blocks ...")
(hs-discard-overlays (point-min) (point-max))
(let ((hs-allow-nesting nil))
(hs-discard-overlays (point-min) (point-max)))
(message "Showing all blocks ... done")
(run-hooks 'hs-show-hook)))
@ -781,7 +795,6 @@ Upon completion, point is repositioned and the normal hook
(looking-at hs-block-start-regexp)
(hs-find-block-beginning))
(hs-hide-block-at-point end c-reg)
(hs-safety-is-job-n)
(run-hooks 'hs-hide-hook))))))
(defun hs-show-block (&optional end)
@ -793,17 +806,15 @@ See documentation for functions `hs-hide-block' and `run-hooks'."
(hs-life-goes-on
(or
;; first see if we have something at the end of the line
(catch 'eol-begins-hidden-region-p
(let ((here (point)))
(dolist (ov (save-excursion (end-of-line) (overlays-at (point))))
(when (overlay-get ov 'hs)
(goto-char
(cond (end (overlay-end ov))
((eq 'comment (overlay-get ov 'hs)) here)
(t (+ (overlay-start ov) (overlay-get ov 'hs-b-offset)))))
(delete-overlay ov)
(throw 'eol-begins-hidden-region-p t)))
nil))
(let ((ov (hs-overlay-at (save-excursion (end-of-line) (point))))
(here (point)))
(when ov
(goto-char
(cond (end (overlay-end ov))
((eq 'comment (overlay-get ov 'hs)) here)
(t (+ (overlay-start ov) (overlay-get ov 'hs-b-offset)))))
(delete-overlay ov)
t))
;; not immediately obvious, look for a suitable block
(let ((c-reg (hs-inside-comment-p))
p q)
@ -812,13 +823,13 @@ See documentation for functions `hs-hide-block' and `run-hooks'."
(setq p (car c-reg)
q (cadr c-reg))))
((and (hs-find-block-beginning)
(looking-at hs-block-start-regexp)) ; fresh match-data, ugh
;; ugh, fresh match-data
(looking-at hs-block-start-regexp))
(setq p (point)
q (progn (hs-forward-sexp (hs-match-data t) 1) (point)))))
(when (and p q)
(hs-discard-overlays p q)
(goto-char (if end q (1+ p)))))
(hs-safety-is-job-n)
(run-hooks 'hs-show-hook))))
(defun hs-hide-level (arg)
@ -830,7 +841,6 @@ The hook `hs-hide-hook' is run; see `run-hooks'."
(message "Hiding blocks ...")
(hs-hide-level-recursive arg (point-min) (point-max))
(message "Hiding blocks ... done"))
(hs-safety-is-job-n)
(run-hooks 'hs-hide-hook)))
(defun hs-toggle-hiding ()

View File

@ -2263,7 +2263,7 @@ overlays."
(idlwave-shell-display-line
(nth idlwave-shell-calling-stack-index stack) nil
(unless idlwave-shell-electric-debug-mode 'no-debug))
(message (or message
(message "%s" (or message
(format "In routine %s (stack level %d)"
idlwave-shell-calling-stack-routine
(- idlwave-shell-calling-stack-index))))))

View File

@ -3995,7 +3995,7 @@ you specify /."
;; Call etags
(if (not (string-match "^[ \\t]*$" item))
(progn
(message (concat "Tagging " item "..."))
(message "%s" (concat "Tagging " item "..."))
(setq errbuf (get-buffer-create "*idltags-error*"))
(setq status (+ status
(if (eq 0 (call-process
@ -5188,7 +5188,7 @@ be set to nil to disable library catalog scanning."
message-base
(not (string= idlwave-library-catalog-libname
old-libname)))
(message (concat message-base
(message "%s" (concat message-base
idlwave-library-catalog-libname))
(setq old-libname idlwave-library-catalog-libname))
(when idlwave-library-catalog-routines

View File

@ -630,7 +630,7 @@ defines the beginning of a group. These tokens are: { [ <<"
(current-column))
(error
(ding)
(message (error-message-string err))
(message "%s" (error-message-string err))
0))
(let (target)
(if (not (re-search-backward "[^ \t\n\r\f][ \t\n\r\f]*\\=" nil t))

View File

@ -157,7 +157,7 @@
(make-local-variable 'parse-sexp-ignore-comments)
(setq parse-sexp-ignore-comments t)
(make-local-variable 'lisp-indent-function)
(set lisp-indent-function 'scheme-indent-function)
(setq lisp-indent-function 'scheme-indent-function)
(setq mode-line-process '("" scheme-mode-line-process))
(set (make-local-variable 'imenu-case-fold-search) t)
(setq imenu-generic-expression scheme-imenu-generic-expression)

View File

@ -2572,9 +2572,9 @@ If INFO is supplied it is used, else it is calculated from current line."
(if (numberp blinkpos)
(save-excursion
(goto-char blinkpos)
(message msg)
(if msg (message "%s" msg) (message nil))
(sit-for blink-matching-delay))
(message msg)))
(if message (message "%s" msg) (message nil))))
(defun sh-show-indent (arg)
"Show the how the currently line would be indented.
@ -2591,7 +2591,7 @@ we are indenting relative to, if applicable."
(curr-indent (current-indentation))
val msg)
(if (stringp var)
(message (setq msg var))
(message "%s" (setq msg var))
(setq val (sh-calculate-indent info))
(if (eq curr-indent val)
@ -2610,8 +2610,8 @@ we are indenting relative to, if applicable."
(if (and info (listp (car info))
(eq (car (car info)) t))
(sh-blink (nth 1 (car info)) msg)
(message msg)))
(message msg))
(message "%s" msg)))
(message "%s" msg))
))
(defun sh-set-indent ()
@ -2624,7 +2624,7 @@ for a new value for it."
(var (sh-get-indent-var-for-line info))
val old-val indent-val)
(if (stringp var)
(message (format "Cannot set indent - %s" var))
(message "Cannot set indent - %s" var)
(setq old-val (symbol-value var))
(setq val (sh-read-variable var))
(condition-case nil
@ -2675,7 +2675,7 @@ unless optional argument ARG (the prefix when interactive) is non-nil."
(curr-indent (current-indentation)))
(cond
((stringp var)
(message (format "Cannot learn line - %s" var)))
(message "Cannot learn line - %s" var))
((eq var 'sh-indent-comment)
;; This is arbitrary...
;; - if curr-indent is 0, set to curr-indent

View File

@ -134,12 +134,15 @@
"Non-nil if GNU Emacs 22, ... is used.")
(defvar compilation-file-regexp-alist)
(defvar conf-alist)
(defvar conf-entry)
(defvar conf-key)
(defvar ent-alist)
(defvar itimer-version)
(defvar lazy-lock-defer-contextually)
(defvar lazy-lock-defer-on-scrolling)
(defvar lazy-lock-defer-on-the-fly)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Variables
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@ -363,7 +366,7 @@ Unit-to-file name mapping: mapping of library unit names to names of files
Case adjustment : adjust case of inserted unit names
\(*) The regular expression must match the error message starting from the
beginning of the line (but not necessarily to the end of the line).
beginning of the line (but not necessarily to the end of the line).
Compile options allows insertion of the library name (see `vhdl-project-alist')
in order to set the compilers library option (e.g. \"vcom -work my_lib\").
@ -1059,7 +1062,7 @@ begin -- process <label>
<cursor>
elsif <clock>'event and <clock> = '1' then -- rising clock edge
if <enable> = '1' then -- synchronous load
end if;
end if;
end process <label>;"
@ -1328,7 +1331,7 @@ Type `C-j' for newlines."
WaveGen_Proc: process
begin
-- insert signal assignments here
wait until Clk = '1';
end process WaveGen_Proc;
"
@ -2154,7 +2157,7 @@ Ignore byte-compiler warnings you might see."
(defun vhdl-warning (string &optional nobeep)
"Print out warning STRING and beep."
(message (concat "WARNING: " string))
(message "WARNING: %s" string)
(unless (or nobeep noninteractive) (beep)))
(defun vhdl-print-warnings ()
@ -2162,7 +2165,7 @@ Ignore byte-compiler warnings you might see."
(let ((no-warnings (length vhdl-warnings)))
(setq vhdl-warnings (nreverse vhdl-warnings))
(while vhdl-warnings
(message (concat "WARNING: " (car vhdl-warnings)))
(message "WARNING: %s" (car vhdl-warnings))
(setq vhdl-warnings (cdr vhdl-warnings)))
(beep)
(when (> no-warnings 1)
@ -4403,16 +4406,16 @@ Usage:
outputs from this component -> output port created
- signals that are inputs to AND outputs from subcomponents are
considered as internal connections -> internal signal created
Purpose: With appropriate naming conventions it is possible to
create higher design levels with only a few mouse clicks or key
strokes. A new design level can be created by simply generating a new
component, placing the required subcomponents from the hierarchy
browser, and wiring everything automatically.
Note: Automatic wiring only works reliably on templates of new
components and component instantiations that were created by VHDL mode.
Component declarations can be placed in a components package (option
`vhdl-use-components-package') which can be automatically generated for
an entire directory or project (`C-c C-c M-p'). The VHDL'93 direct
@ -4434,7 +4437,7 @@ Usage:
| Note: Configurations of subcomponents (i.e. hierarchical configuration
| declarations) are currently not considered when displaying
| configurations in speedbar.
See the options group `vhdl-compose' for all relevant user options.
@ -10602,7 +10605,7 @@ but not if inside a comment or quote)."
(vhdl-template-invoked-by-hook t))
(let ((caught (catch 'abort
(funcall func))))
(when (stringp caught) (message caught)))
(when (stringp caught) (message "%s" caught)))
(when (= invoke-char ?-) (setq abbrev-start-location (point)))
;; delete CR which is still in event queue
(if (fboundp 'enqueue-eval-event)
@ -10765,7 +10768,7 @@ but not if inside a comment or quote)."
(defun vhdl-template-insert-fun (fun)
"Call FUN to insert a built-in template."
(let ((caught (catch 'abort (when fun (funcall fun)))))
(when (stringp caught) (message caught))))
(when (stringp caught) (message "%s" caught))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@ -11692,7 +11695,7 @@ reflected in a subsequent paste operation."
(setq arch-buffer (current-buffer))
(when ent-buffer (set-buffer ent-buffer) (save-buffer))
(set-buffer arch-buffer) (save-buffer))
(message
(message "%s"
(concat (format "Pasting port as testbench \"%s(%s)\"...done"
ent-name arch-name)
(and ent-file-name
@ -15291,7 +15294,7 @@ expansion function)."
(defface vhdl-speedbar-architecture-face
'((((min-colors 88) (class color) (background light)) (:foreground "Blue1"))
(((class color) (background light)) (:foreground "Blue"))
(((class color) (background dark)) (:foreground "LightSkyBlue")))
"Face used for displaying architecture names."
:group 'speedbar-faces)
@ -15495,7 +15498,7 @@ expansion function)."
(setq arch-buffer (current-buffer))
(when ent-buffer (set-buffer ent-buffer) (save-buffer))
(set-buffer arch-buffer) (save-buffer)
(message
(message "%s"
(concat (format "Creating component \"%s(%s)\"...done" ent-name arch-name)
(and ent-file-name
(format "\n File created: \"%s\"" ent-file-name))
@ -16117,7 +16120,7 @@ current project/directory."
(vhdl-template-footer)
(vhdl-comment-display-line) (insert "\n"))
(save-buffer))
(message
(message "%s"
(concat (format "Generating configuration \"%s\"...done" conf-name)
(and conf-file-name
(format "\n File created: \"%s\"" conf-file-name))))))

View File

@ -74,6 +74,15 @@ See the command `recentf-save-list'."
:group 'recentf
:type 'file)
(defcustom recentf-save-file-modes 384 ;; 0600
"Mode bits of recentf save file, as an integer, or nil.
If non-nil, after writing `recentf-save-file', set its mode bits to
this value. By default give R/W access only to the user who owns that
file. See also the function `set-file-modes'."
:group 'recentf
:type '(choice (const :tag "Don't change" nil)
integer))
(defcustom recentf-exclude nil
"*List of regexps and predicates for filenames excluded from the recent list.
When a filename matches any of the regexps or satisfies any of the
@ -257,7 +266,7 @@ It is passed a filename to give a chance to transform it.
If it returns nil, the filename is left unchanged."
:group 'recentf
:type '(choice (const :tag "None" nil)
(const abbreviate-file-name)
(const abbreviate-file-name)
function))
(defcustom recentf-show-file-shortcuts-flag t
@ -1206,6 +1215,8 @@ Write data into the file specified by `recentf-save-file'."
(format ";;; coding: %s\n" recentf-save-file-coding-system)
";;; End:\n")
(write-file (expand-file-name recentf-save-file))
(when recentf-save-file-modes
(set-file-modes recentf-save-file recentf-save-file-modes))
nil)
(error
(warn "recentf mode: %s" (error-message-string error)))))

View File

@ -371,7 +371,7 @@ PROC is the server process. Format of STRING is \"PATH PATH PATH... \\n\"."
(server-switch-buffer (nth 1 client))
(run-hooks 'server-switch-hook)
(unless nowait
(message (substitute-command-keys
(message "%s" (substitute-command-keys
"When done with a buffer, type \\[server-edit]")))))
;; Avoid preserving the connection after the last real frame is deleted.
(if tmp-frame (delete-frame tmp-frame))))

View File

@ -1612,7 +1612,7 @@ narrows the buffer now."
(error
(unless executing-kbd-macro
(ding))
(message (error-message-string err))))
(message "%s" (error-message-string err))))
nil) ;Make coverage-tester happy
(defun ses-create-header-string ()
@ -1739,7 +1739,7 @@ to are recalculated first."
(error (setq sig hold))))
(cond
(sig
(message (error-message-string sig)))
(message "%s" (error-message-string sig)))
((consp ses--curcell)
(message " "))
(t

View File

@ -797,19 +797,26 @@ command again."
(let* ((proc (get-buffer-process (current-buffer)))
(pmark (process-mark proc)))
(goto-char pmark)
(insert shell-dirstack-query) (insert "\n")
;; If the process echoes commands, don't insert a fake command in
;; the buffer or it will appear twice.
(unless comint-process-echoes
(insert shell-dirstack-query) (insert "\n"))
(sit-for 0) ; force redisplay
(comint-send-string proc shell-dirstack-query)
(comint-send-string proc "\n")
(set-marker pmark (point))
(let ((pt (point))) ; wait for 1 line
(let ((pt (point))
(regexp
(concat
(if comint-process-echoes
;; Skip command echo if the process echoes
(concat "\\(" (regexp-quote shell-dirstack-query) "\n\\)")
"\\(\\)")
"\\(.+\n\\)")))
;; This extra newline prevents the user's pending input from spoofing us.
(insert "\n") (backward-char 1)
(while (not (looking-at
(concat "\\(" ; skip literal echo in case of stty echo
(regexp-quote shell-dirstack-query)
"\n\\)?" ; skip if present
"\\(" ".+\n" "\\)")) ) ; what to actually look for
;; Wait for one line.
(while (not (looking-at regexp))
(accept-process-output proc)
(goto-char pt)))
(goto-char pmark) (delete-char 1) ; remove the extra newline

View File

@ -3668,9 +3668,18 @@ The goal column is stored in the variable `goal-column'."
(setq goal-column nil)
(message "No goal column"))
(setq goal-column (current-column))
(message (substitute-command-keys
"Goal column %d (use \\[set-goal-column] with an arg to unset it)")
goal-column))
;; The older method below can be erroneous if `set-goal-column' is bound
;; to a sequence containing %
;;(message (substitute-command-keys
;;"Goal column %d (use \\[set-goal-column] with an arg to unset it)")
;;goal-column)
(message "%s"
(concat
(format "Goal column %d " goal-column)
(substitute-command-keys
"(use \\[set-goal-column] with an arg to unset it)")))
)
nil)

View File

@ -976,20 +976,28 @@ or `CVS', and any subdirectory that contains a file named `.nosearch'."
(unless (or noninteractive
window-system
(null term-file-prefix))
(let ((term (getenv "TERM"))
(let* ((TERM (getenv "TERM"))
(term TERM)
hyphend)
(while (and term
(not (load (concat term-file-prefix term) t t)))
;; Strip off last hyphen and what follows, then try again
(setq term
(if (setq hyphend (string-match "[-_][^-_]+$" term))
(if (setq hyphend (string-match "[-_][^-_]+\\'" term))
(substring term 0 hyphend)
nil)))
(when term
;; The terminal file has been loaded, now call the terminal
;; specific initialization function.
(let ((term-init-func (intern (concat "terminal-init-" term))))
(when (fboundp term-init-func)
(setq term TERM)
;; The terminal file has been loaded, now call the terminal specific
;; initialization function.
(while term
(let ((term-init-func (intern-soft (concat "terminal-init-" term))))
(if (not (fboundp term-init-func))
;; Strip off last hyphen and what follows, then try again
(setq term
(if (setq hyphend (string-match "[-_][^-_]+\\'" term))
(substring term 0 hyphend)
nil))
(setq term nil)
(funcall term-init-func))))))
;; Update the out-of-memory error message based on user's key bindings
@ -1472,7 +1480,7 @@ Type \\[describe-distribution] for information on getting the latest version."))
(defun display-startup-echo-area-message ()
(let ((resize-mini-windows t))
(message (startup-echo-area-message))))
(message "%s" (startup-echo-area-message))))
(defun display-splash-screen ()

View File

@ -738,7 +738,7 @@ Optional EVENT is acceptable as the starting event of the stroke."
(save-window-excursion
(set-window-configuration strokes-window-configuration)
(when prompt
(message prompt)
(message "%s" prompt)
(setq event (read-event))
(or (strokes-button-press-event-p event)
(error "You must draw with the mouse")))
@ -769,7 +769,7 @@ Optional EVENT is acceptable as the starting event of the stroke."
(bury-buffer))))
;; Otherwise, don't use strokes buffer and read stroke silently
(when prompt
(message prompt)
(message "%s" prompt)
(setq event (read-event))
(or (strokes-button-press-event-p event)
(error "You must draw with the mouse")))
@ -799,7 +799,7 @@ Optional EVENT is acceptable as the starting event of the stroke."
(grid-locs nil))
(if prompt
(while (not (strokes-button-press-event-p event))
(message prompt)
(message "%s" prompt)
(setq event (read-event))))
(unwind-protect
(track-mouse

View File

@ -1110,8 +1110,8 @@ XConsortium: rgb.txt,v 10.41 94/02/20 18:39:36 rws Exp")
"Coding system derived from the system script code.")
(defun mac-add-charset-info (xlfd-charset mac-text-encoding)
"Function to add character sets to display with Mac fonts.
Creates entries in `mac-charset-info-alist'.
"Add a character set to display with Mac fonts.
Create an entry in `mac-charset-info-alist'.
XLFD-CHARSET is a string which will appear in the XLFD font name
to identify the character set. MAC-TEXT-ENCODING is the
correspoinding TextEncodingBase value."

View File

@ -4162,7 +4162,7 @@ If optional argument THIS-IS-LAST-POINT is non-nil, this point is the last."
(setq artist-key-is-drawing t)
;; Feedback
(message (substitute-command-keys
(message "%s" (substitute-command-keys
(concat "First point set. "
"Set next with \\[artist-key-set-point], "
"set last with C-u \\[artist-key-set-point]"))))

View File

@ -3007,7 +3007,7 @@ entry (for example, the year parts of the keys)."
(cdr field-list))
t)))
(if comment
(message (nth 1 comment))
(message "%s" (nth 1 comment))
(message "No comment available")))))
(defun bibtex-make-field (field &optional move interactive)

View File

@ -566,7 +566,7 @@ in your .emacs file.
(interactive-p))
(let ((binding (where-is-internal 'flyspell-auto-correct-word
nil 'non-ascii)))
(message
(message "%s"
(if binding
(format "Welcome to flyspell. Use %s or Mouse-2 to correct words."
(key-description binding))
@ -942,7 +942,7 @@ Mostly we check word delimiters."
(sort (car (cdr (cdr poss))) 'string<)
(car (cdr (cdr poss)))))))
(if flyspell-issue-message-flag
(message (format "mispelling `%s' %S" word replacements)))))
(message "mispelling `%s' %S" word replacements))))
;*---------------------------------------------------------------------*/
;* flyspell-word-search-backward ... */
@ -1090,7 +1090,7 @@ Mostly we check word delimiters."
(if flyspell-highlight-flag
(flyspell-highlight-duplicate-region
start end poss)
(message (format "duplicate `%s'" word)))
(message "duplicate `%s'" word))
nil)
(t
(setq flyspell-word-cache-result nil)
@ -1679,7 +1679,7 @@ misspelled words backwards."
(setq pos (cdr pos)))
(if (fboundp 'display-message)
(display-message 'no-log string)
(message string))))
(message "%s" string))))
;*---------------------------------------------------------------------*/
;* flyspell-abbrev-table ... */

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