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:
commit
6f512f0b53
@ -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.
|
||||
|
12
Makefile.in
12
Makefile.in
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
||||
|
33
etc/NEWS
33
etc/NEWS
@ -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)
|
||||
|
20
etc/PROBLEMS
20
etc/PROBLEMS
@ -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'
|
||||
|
253
etc/gfdl.1
253
etc/gfdl.1
@ -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
|
||||
|
1
info/dir
1
info/dir
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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. */
|
||||
|
@ -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) $@
|
||||
|
||||
|
434
lisp/ChangeLog
434
lisp/ChangeLog
@ -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
|
||||
|
@ -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
|
||||
|
@ -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.")
|
||||
|
||||
|
@ -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,
|
||||
|
@ -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: ...]")
|
||||
|
@ -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: ")
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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*"))
|
||||
|
@ -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:
|
||||
|
@ -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
|
||||
|
@ -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))
|
||||
|
@ -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)))))))
|
||||
|
||||
|
@ -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))
|
||||
|
@ -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 ()
|
||||
|
@ -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)))
|
||||
|
@ -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))
|
||||
|
@ -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)
|
||||
|
@ -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")))
|
||||
|
@ -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
|
||||
|
@ -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 ()
|
||||
|
@ -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)))
|
||||
|
||||
|
@ -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"))))))
|
||||
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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))
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
248
lisp/help-fns.el
248
lisp/help-fns.el
@ -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))))))))
|
||||
|
@ -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."
|
||||
|
@ -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))
|
||||
|
@ -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") "."))))
|
||||
|
@ -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))))
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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))
|
||||
|
@ -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.
|
||||
|
@ -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."))))
|
||||
|
||||
|
@ -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
|
||||
|
@ -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"))
|
||||
|
@ -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? ")
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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)))
|
||||
|
@ -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)
|
||||
|
@ -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'.
|
||||
|
@ -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 ()
|
||||
|
@ -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)
|
||||
|
@ -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.
|
||||
|
@ -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
4922
lisp/net/newsticker.el
Normal file
File diff suppressed because it is too large
Load Diff
@ -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)
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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))
|
||||
|
@ -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)
|
||||
|
@ -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 \
|
||||
|
@ -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))
|
||||
|
@ -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 ()
|
||||
|
@ -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)))
|
||||
|
@ -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 ()
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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")
|
||||
|
@ -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$")
|
||||
|
@ -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)
|
||||
|
@ -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")
|
||||
|
@ -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)
|
||||
|
@ -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))
|
||||
|
||||
|
@ -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 ()
|
||||
|
@ -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))))))
|
||||
|
@ -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
|
||||
|
@ -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))
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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))))))
|
||||
|
@ -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)))))
|
||||
|
@ -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))))
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
||||
|
||||
|
@ -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 ()
|
||||
|
@ -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
|
||||
|
@ -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."
|
||||
|
@ -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]"))))
|
||||
|
@ -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)
|
||||
|
@ -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
Loading…
Reference in New Issue
Block a user