merge trunk
This commit is contained in:
commit
af05bef2d1
97 changed files with 1617 additions and 1823 deletions
|
@ -1,3 +1,9 @@
|
|||
2014-01-11 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Merge from gnulib, incorporating:
|
||||
2014-01-07 update from texinfo
|
||||
2014-01-06 md5, sha1, sha256, sha512: support older autoconf
|
||||
|
||||
2014-01-09 Eric S. Raymond <esr@thyrsus.com>
|
||||
|
||||
* INSTALL, configure.ac, etc/CONTRIBUTE, nt/INSTALL: Remove
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2014-01-10 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* update_autogen: Fix sed bug that was losing the last AUTOGEN_VCS.
|
||||
|
||||
2014-01-04 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* admin.el (manual-html-fix-node-div): Handle Texinfo 5's movable <hr>.
|
||||
|
|
|
@ -218,7 +218,6 @@ xresources.texi cyd
|
|||
** Check the Lisp manual.
|
||||
|
||||
abbrevs.texi rgm
|
||||
advice.texi cyd
|
||||
anti.texi rgm
|
||||
back.texi rgm
|
||||
backups.texi cyd
|
||||
|
|
|
@ -364,3 +364,37 @@ works), or by adding an entry to ~/.bazaar/locations.conf:
|
|||
|
||||
You have to use locations.conf rather than bazaar.conf because the
|
||||
latter has a lower priority than branch.conf.
|
||||
|
||||
* Using git-bzr
|
||||
|
||||
** initially
|
||||
|
||||
You can use Git locally to talk to the Bazaar repo as a "remote" repo
|
||||
via git-bzr (aka git-remote-bzr). Initial clone:
|
||||
|
||||
git clone bzr::bzr+ssh://USER@bzr.sv.gnu.org/emacs/trunk e
|
||||
|
||||
This creates the working dir e/ (with subdir .git, etc). Disk usage
|
||||
is 13G (as of early 2014), so you will probably want to repack:
|
||||
|
||||
git repack -a -d -f --window=250 --depth=250 --window-memory=N
|
||||
|
||||
where N is chosen to avoid swapping. E.g., given 512MB RAM, N="200m"
|
||||
results in "du -sh .git" => 559M, about double the smallest reported
|
||||
value (obtained with "deprecated" command "git gc --aggressive").
|
||||
|
||||
** steady-state
|
||||
|
||||
Use "fetch", "pull" and other remote-to-local commands as usual.
|
||||
|
||||
For "push", the Emacs Bazaar repo is configured with
|
||||
|
||||
append_revisions_only = True
|
||||
|
||||
so some versions of git-remote-bzr may raise AppendRevisionsOnlyViolation
|
||||
(in func do_export) instead of displaying a "non fast-forward" message
|
||||
and skipping the branch. See:
|
||||
|
||||
http://lists.gnu.org/archive/html/emacs-devel/2014-01/msg00436.html
|
||||
|
||||
which includes a provisional patch to git-remote-bzr to do that.
|
||||
|
|
|
@ -317,8 +317,9 @@ EOF
|
|||
|
||||
echo "Finding loaddef targets..."
|
||||
|
||||
sed -n -e '/^AUTOGEN_VCS/,/^$/ s/\\//p' lisp/Makefile.in | \
|
||||
sed '/AUTOGEN_VCS/d' >| $tempfile || die "sed error"
|
||||
sed -n -e '/^AUTOGEN_VCS/,/^$/p' lisp/Makefile.in | \
|
||||
sed -e '/AUTOGEN_VCS/d' -e '/^$/d' -e 's/\\//' \
|
||||
>| $tempfile || die "sed error"
|
||||
|
||||
genfiles=
|
||||
|
||||
|
|
|
@ -1,3 +1,32 @@
|
|||
2014-01-10 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* emacs.texi (Distrib): Add donate URL. Add anchor.
|
||||
|
||||
2014-01-10 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
|
||||
|
||||
* dired.texi (Misc Dired Features): Document `dired-hide-details-mode',
|
||||
`dired-hide-details-hide-symlink-targets', and
|
||||
`dired-hide-details-hide-information-lines'.
|
||||
|
||||
2014-01-09 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
|
||||
|
||||
* emacs.texi: Add EWW.
|
||||
* misc.texi (EWW): Document EWW.
|
||||
|
||||
2014-01-09 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* trouble.texi (Service): Refer to online service directory
|
||||
rather than etc/SERVICE.
|
||||
|
||||
2014-01-09 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
|
||||
|
||||
* building.texi (Lisp Libraries): Document `load-prefer-newer'.
|
||||
|
||||
* files.texi (File Conveniences): Document `image-next-frame',
|
||||
`image-previous-frame', `image-goto-frame',
|
||||
`image-increase-speed', `image-decrease-speed',
|
||||
`image-reverse-speed', and `image-reset-speed'.
|
||||
|
||||
2014-01-07 Bastien Guerry <bzg@gnu.org>
|
||||
|
||||
* buffers.texi (Buffers): Fix display of @math content by using
|
||||
|
@ -5088,10 +5117,6 @@
|
|||
|
||||
* maintaining.texi (Tags): Fix last change.
|
||||
|
||||
2008-02-02 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
* tramp.texi: Use new FSF's Back-Cover Text.
|
||||
|
||||
2008-01-31 Nick Roberts <nickrob@snap.net.nz>
|
||||
|
||||
* trouble.texi (Checklist): Direct users to emacs-devel@gnu.org.
|
||||
|
@ -5134,8 +5159,6 @@
|
|||
* search.texi (Query Replace): Make exp of query-replace more
|
||||
self-contained, and clarify.
|
||||
|
||||
* cc-mode.texi (Getting Started): Change @ref to @pxref.
|
||||
|
||||
2007-12-15 Richard Stallman <rms@gnu.org>
|
||||
|
||||
* files.texi (Auto Save): Clarify definition of auto-saving.
|
||||
|
@ -5687,6 +5710,11 @@
|
|||
* frames.texi (Secondary Selection): Window clicked does not matter
|
||||
when mouse-yank-at-point is non-nil.
|
||||
|
||||
2007-01-27 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* msdog.texi (ls in Lisp): Document ls-lisp-format-time-list and
|
||||
ls-lisp-use-localized-time-format.
|
||||
|
||||
2007-01-16 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* abbrevs.texi (Editing Abbrevs): Describe how to disable a
|
||||
|
@ -6014,6 +6042,11 @@
|
|||
Change "Library Public License" to "Lesser Public License"
|
||||
throughout. Use "yyyy" to represent year.
|
||||
|
||||
2006-09-12 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
* misc.texi (Interactive Shell): EMACS is now set
|
||||
to Emacs's absolute file name, not to "t".
|
||||
|
||||
2006-09-12 Reiner Steib <Reiner.Steib@gmx.de>
|
||||
|
||||
* files.texi (Visiting): Add index entry "open file".
|
||||
|
|
|
@ -1348,6 +1348,7 @@ not from an existing Emacs buffer.
|
|||
|
||||
@findex load
|
||||
@findex load-library
|
||||
@vindex load-prefer-newer
|
||||
@cindex load path for Emacs Lisp
|
||||
If an Emacs Lisp file is installed in the Emacs Lisp @dfn{load path}
|
||||
(defined below), you can load it by typing @kbd{M-x load-library},
|
||||
|
@ -1356,15 +1357,18 @@ command prompts for a @dfn{library name} rather than a file name; it
|
|||
searches through each directory in the Emacs Lisp load path, trying to
|
||||
find a file matching that library name. If the library name is
|
||||
@samp{@var{foo}}, it tries looking for files named
|
||||
@file{@var{foo}.elc}, @file{@var{foo}.el}, and lastly just
|
||||
@file{@var{foo}}; the first one found is loaded. This command prefers
|
||||
@file{.elc} files over @file{.el} files because compiled files load
|
||||
and run faster. If it finds that @file{@var{lib}.el} is newer than
|
||||
@file{@var{lib}.elc}, it issues a warning, in case someone made
|
||||
@file{@var{foo}.elc}, @file{@var{foo}.el}, and @file{@var{foo}}. The
|
||||
default behaviour is to load the first file found. This command
|
||||
prefers @file{.elc} files over @file{.el} files because compiled files
|
||||
load and run faster. If it finds that @file{@var{lib}.el} is newer
|
||||
than @file{@var{lib}.elc}, it issues a warning, in case someone made
|
||||
changes to the @file{.el} file and forgot to recompile it, but loads
|
||||
the @file{.elc} file anyway. (Due to this behavior, you can save
|
||||
unfinished edits to Emacs Lisp source files, and not recompile until
|
||||
your changes are ready for use.)
|
||||
your changes are ready for use.) If you set the option
|
||||
@code{load-prefer-newer} to a non-@code{nil} value, however, then
|
||||
rather than the procedure described above, Emacs loads whichever
|
||||
version of the file is newest.
|
||||
|
||||
Emacs Lisp programs usually load Emacs Lisp files using the
|
||||
@code{load} function. This is similar to @code{load-library}, but is
|
||||
|
|
|
@ -1440,3 +1440,18 @@ it onto a Dired buffer; this either moves, copies, or creates a link
|
|||
to the file in that directory. Precisely which action is taken is
|
||||
determined by the originating program. Dragging files out of a Dired
|
||||
buffer is currently not supported.
|
||||
|
||||
@kindex ( @r{(Dired)}
|
||||
@c )
|
||||
@findex dired-hide-details-mode
|
||||
@vindex dired-hide-details-hide-symlink-targets
|
||||
@vindex dired-hide-details-hide-information-lines
|
||||
@cindex Hide details in Dired.
|
||||
The command @kbd{(} (@code{dired-hide-details-mode}) toggles whether
|
||||
details, such as ownership or file permissions, are hidden. If the
|
||||
variable @code{dired-hide-details-hide-symlink-targets} is
|
||||
non-@code{nil} then targets of symbolic links are hidden as well. A
|
||||
non-@code{nil} value for the variable
|
||||
@code{dired-hide-details-hide-information-lines} means that all lines
|
||||
other than the header and lines containing files and directories are
|
||||
hidden.
|
||||
|
|
|
@ -190,6 +190,7 @@ Advanced Features
|
|||
* Rmail:: Reading mail in Emacs.
|
||||
* Gnus:: A flexible mail and news reader.
|
||||
* Document View:: Viewing PDF, PS and DVI files.
|
||||
* EWW:: A web browser in Emacs.
|
||||
* Shell:: Executing shell commands from Emacs.
|
||||
* Emacs Server:: Using Emacs as an editing server.
|
||||
* Printing:: Printing hardcopies of buffers or regions.
|
||||
|
@ -1338,9 +1339,12 @@ If you find GNU Emacs useful, please @strong{send a donation} to the
|
|||
Free Software Foundation to support our work. Donations to the Free
|
||||
Software Foundation are tax deductible in the US@. If you use GNU Emacs
|
||||
at your workplace, please suggest that the company make a donation.
|
||||
For more information on how you can help, see
|
||||
To donate, see @url{https://my.fsf.org/donate/}.
|
||||
For other ways in which you can help, see
|
||||
@url{http://www.gnu.org/help/help.html}.
|
||||
|
||||
@c The command view-order-manuals uses this anchor.
|
||||
@anchor{Printed Books}
|
||||
We also sell hardcopy versions of this manual and @cite{An
|
||||
Introduction to Programming in Emacs Lisp}, by Robert J. Chassell.
|
||||
You can visit our online store at @url{http://shop.fsf.org/}.
|
||||
|
|
|
@ -1944,12 +1944,9 @@ point. Partial Completion mode offers other features extending
|
|||
|
||||
@findex image-mode
|
||||
@findex image-toggle-display
|
||||
@findex image-toggle-animation
|
||||
@findex image-next-file
|
||||
@findex image-previous-file
|
||||
@cindex images, viewing
|
||||
@cindex image animation
|
||||
@cindex animated images
|
||||
Visiting image files automatically selects Image mode. In this
|
||||
major mode, you can type @kbd{C-c C-c} (@code{image-toggle-display})
|
||||
to toggle between displaying the file as an image in the Emacs buffer,
|
||||
|
@ -1962,10 +1959,29 @@ displayed. You can press @kbd{n} (@code{image-next-file}) and @kbd{p}
|
|||
(@code{image-previous-file}) to visit the next image file and the
|
||||
previous image file in the same directory, respectively.
|
||||
|
||||
If the image can be animated, the command @kbd{RET}
|
||||
@findex image-toggle-animation
|
||||
@findex image-next-frame
|
||||
@findex image-previous-frame
|
||||
@findex image-goto-frame
|
||||
@findex image-increase-speed
|
||||
@findex image-decrease-speed
|
||||
@findex image-reset-speed
|
||||
@findex image-reverse-speed
|
||||
@vindex image-animate-loop
|
||||
@cindex image animation
|
||||
@cindex animated images
|
||||
If the image can be animated, the command @kbd{RET}
|
||||
(@code{image-toggle-animation}) starts or stops the animation.
|
||||
Animation plays once, unless the option @code{image-animate-loop} is
|
||||
non-@code{nil}.
|
||||
non-@code{nil}. With @kbd{f} (@code{image-next-frame}) and @kbd{b}
|
||||
(@code{image-previous-frame}) you can step through the individual
|
||||
frames. Both commands accept a numeric prefix to step through several
|
||||
frames at once. You can go to a specific frame with @kbd{F}
|
||||
(@code{image-goto-frame}). The speed of the animation can be
|
||||
increased by pressing @kbd{a +} (@code{image-increase-speed}) and
|
||||
decreased by pressing @kbd{a -} (@code{image-decrease-speed}). With
|
||||
@kbd{a r} (@code{image-reverse-speed}) the speed is reversed. You can
|
||||
reset the speed with @kbd{a 0} (@code{image-reset-speed}).
|
||||
|
||||
@cindex ImageMagick support
|
||||
@vindex imagemagick-enabled-types
|
||||
|
|
|
@ -439,6 +439,18 @@ associated with the current buffer, type @kbd{K}
|
|||
(@code{doc-view-kill-proc-and-buffer}) kills the converter process and
|
||||
the DocView buffer.
|
||||
|
||||
@node EWW
|
||||
@section Web Browsing with EWW
|
||||
|
||||
@findex eww
|
||||
@findex eww-open-file
|
||||
@dfn{EWW}, the Emacs Web Wowser, is a web browser package for Emacs.
|
||||
It allows browsing URLs within an Emacs buffer. The command @kbd{M-x
|
||||
eww} can be used to open a URL or search the web. A file can be
|
||||
opened using the command @kbd{M-x eww-open-file}. EWW can be used as
|
||||
web browser for @code{browse-url}, see @ref{Browse-URL}. For full
|
||||
details, see @ref{Top, EWW,, eww, The Emacs Web Wowser Manual}.
|
||||
|
||||
@node Shell
|
||||
@section Running Shell Commands from Emacs
|
||||
@cindex subshell
|
||||
|
|
|
@ -1198,9 +1198,8 @@ mailing list and newsgroup interconnect, so it does not matter which
|
|||
one you use.)
|
||||
|
||||
@item
|
||||
Look in the service directory for someone who might help you for a fee.
|
||||
The service directory is found in the file named @file{etc/SERVICE} in the
|
||||
Emacs distribution.
|
||||
Look in the @uref{http://www.fsf.org/resources/service/, service
|
||||
directory} for someone who might help you for a fee.
|
||||
@end itemize
|
||||
|
||||
@ifnottex
|
||||
|
|
|
@ -1,3 +1,20 @@
|
|||
2014-01-10 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* functions.texi (Advising Functions): New section.
|
||||
* modes.texi (Running Hooks): Don't document with-wrapper-hook and
|
||||
run-hook-wrapped any more.
|
||||
(Hooks): Link to the new Advising Functions node.
|
||||
* elisp.texi (Top): Don't include advice.texi.
|
||||
* advice.texi: Remove.
|
||||
* makefile.w32-in (srcs):
|
||||
* Makefile.in (srcs): Adjust accordingly.
|
||||
|
||||
2014-01-09 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
|
||||
|
||||
* text.texi (Parsing HTML/XML): Document `shr-insert-document'.
|
||||
|
||||
* strings.texi (Text Comparison): Document `string-suffix-p'.
|
||||
|
||||
2014-01-07 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* files.texi (File Attributes): Fix superscipt typo.
|
||||
|
@ -9378,7 +9395,7 @@
|
|||
|
||||
* variables.texi (Variable Aliases): Simplify.
|
||||
|
||||
* anti.texi, backups.texi, compile.texi, customization.texi:
|
||||
* anti.texi, backups.texi, compile.texi, customize.texi:
|
||||
* debugging.texi, display.texi, edebug.texi, errors.texi, frames.texi:
|
||||
* functions.texi, help.texi, keymaps.texi, modes.texi, nonascii.texi:
|
||||
* os.texi, processes.texi, searching.texi, strings.texi, text.texi:
|
||||
|
|
|
@ -76,7 +76,6 @@ srcs = \
|
|||
$(srcdir)/elisp.texi \
|
||||
$(emacsdir)/emacsver.texi \
|
||||
$(srcdir)/abbrevs.texi \
|
||||
$(srcdir)/advice.texi \
|
||||
$(srcdir)/anti.texi \
|
||||
$(srcdir)/backups.texi \
|
||||
$(srcdir)/buffers.texi \
|
||||
|
|
|
@ -1,749 +0,0 @@
|
|||
@c -*-texinfo-*-
|
||||
@c This is part of the GNU Emacs Lisp Reference Manual.
|
||||
@c Copyright (C) 1998-1999, 2001-2014 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@node Advising Functions
|
||||
@chapter Advising Emacs Lisp Functions
|
||||
@cindex advising functions
|
||||
|
||||
@cindex piece of advice
|
||||
The @dfn{advice} feature lets you add to the existing definition of
|
||||
a function, by @dfn{advising the function}. A function can have
|
||||
multiple @dfn{pieces of advice}, each of which can be separately
|
||||
defined, and separately enabled or disabled (@pxref{Activation of
|
||||
Advice}). Each piece of advice can alter almost anything about the
|
||||
function, including its argument list, what the function does when it
|
||||
runs, and the value it returns.
|
||||
|
||||
Advice can be useful for altering the behavior of an existing
|
||||
function without having to redefine the whole function. However, it
|
||||
can be a source of bugs, since existing callers to the function may
|
||||
assume the old behavior, and work incorrectly when the behavior is
|
||||
changed by advice. Advice can also cause confusion in debugging, if
|
||||
the person doing the debugging does not notice or remember that the
|
||||
function has been modified by advice.
|
||||
|
||||
For these reasons, advice should be reserved for the cases where you
|
||||
cannot modify a function's behavior in any other way. If it is
|
||||
possible to do the same thing via a hook, that is preferable
|
||||
(@pxref{Hooks}). If you simply want to change what a particular key
|
||||
does, it may be better to write a new command, and remap the old
|
||||
command's key bindings to the new one (@pxref{Remapping Commands}).
|
||||
In particular, Emacs's own source files should not put advice on
|
||||
functions in Emacs. (There are currently a few exceptions to this
|
||||
convention, but we aim to correct them.)
|
||||
|
||||
Macros can also be advised, in much the same way as functions.
|
||||
However, special forms (@pxref{Special Forms}) cannot be advised.
|
||||
|
||||
It is possible to advise a primitive (@pxref{What Is a Function}),
|
||||
but one should typically @emph{not} do so, for two reasons. Firstly,
|
||||
some primitives are used by the advice mechanism, and advising them
|
||||
could cause an infinite recursion. Secondly, many primitives are
|
||||
called directly from C, and such calls ignore advice; hence, one ends
|
||||
up in a confusing situation where some calls (occurring from Lisp
|
||||
code) obey the advice and other calls (from C code) do not.
|
||||
|
||||
@menu
|
||||
* Simple Advice:: A simple example to explain the basics of advice.
|
||||
* Defining Advice:: Detailed description of @code{defadvice}.
|
||||
* Around-Advice:: Wrapping advice around a function's definition.
|
||||
* Computed Advice:: ...is to @code{defadvice} as @code{fset} is to @code{defun}.
|
||||
* Activation of Advice:: Advice doesn't do anything until you activate it.
|
||||
* Enabling Advice:: You can enable or disable each piece of advice.
|
||||
* Preactivation:: Preactivation is a way of speeding up the
|
||||
loading of compiled advice.
|
||||
* Argument Access in Advice:: How advice can access the function's arguments.
|
||||
* Combined Definition:: How advice is implemented.
|
||||
@end menu
|
||||
|
||||
@node Simple Advice
|
||||
@section A Simple Advice Example
|
||||
|
||||
The command @code{next-line} moves point down vertically one or more
|
||||
lines; it is the standard binding of @kbd{C-n}. When used on the last
|
||||
line of the buffer, this command inserts a newline to create a line to
|
||||
move to if @code{next-line-add-newlines} is non-@code{nil} (its default
|
||||
is @code{nil}.)
|
||||
|
||||
Suppose you wanted to add a similar feature to @code{previous-line},
|
||||
which would insert a new line at the beginning of the buffer for the
|
||||
command to move to (when @code{next-line-add-newlines} is
|
||||
non-@code{nil}). How could you do this?
|
||||
|
||||
You could do it by redefining the whole function, but that is not
|
||||
modular. The advice feature provides a cleaner alternative: you can
|
||||
effectively add your code to the existing function definition, without
|
||||
actually changing or even seeing that definition. Here is how to do
|
||||
this:
|
||||
|
||||
@example
|
||||
(defadvice previous-line (before next-line-at-end
|
||||
(&optional arg try-vscroll))
|
||||
"Insert an empty line when moving up from the top line."
|
||||
(if (and next-line-add-newlines (= arg 1)
|
||||
(save-excursion (beginning-of-line) (bobp)))
|
||||
(progn
|
||||
(beginning-of-line)
|
||||
(newline))))
|
||||
@end example
|
||||
|
||||
This expression defines a @dfn{piece of advice} for the function
|
||||
@code{previous-line}. This piece of advice is named
|
||||
@code{next-line-at-end}, and the symbol @code{before} says that it is
|
||||
@dfn{before-advice} which should run before the regular definition of
|
||||
@code{previous-line}. @code{(&optional arg try-vscroll)} specifies
|
||||
how the advice code can refer to the function's arguments.
|
||||
|
||||
When this piece of advice runs, it creates an additional line, in the
|
||||
situation where that is appropriate, but does not move point to that
|
||||
line. This is the correct way to write the advice, because the normal
|
||||
definition will run afterward and will move back to the newly inserted
|
||||
line.
|
||||
|
||||
Defining the advice doesn't immediately change the function
|
||||
@code{previous-line}. That happens when you @dfn{activate} the advice,
|
||||
like this:
|
||||
|
||||
@example
|
||||
(ad-activate 'previous-line)
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
This is what actually begins to use the advice that has been defined so
|
||||
far for the function @code{previous-line}. Henceforth, whenever that
|
||||
function is run, whether invoked by the user with @kbd{C-p} or
|
||||
@kbd{M-x}, or called from Lisp, it runs the advice first, and its
|
||||
regular definition second.
|
||||
|
||||
This example illustrates before-advice, which is one @dfn{class} of
|
||||
advice: it runs before the function's base definition. There are two
|
||||
other advice classes: @dfn{after-advice}, which runs after the base
|
||||
definition, and @dfn{around-advice}, which lets you specify an
|
||||
expression to wrap around the invocation of the base definition.
|
||||
|
||||
@node Defining Advice
|
||||
@section Defining Advice
|
||||
@cindex defining advice
|
||||
@cindex advice, defining
|
||||
|
||||
To define a piece of advice, use the macro @code{defadvice}. A call
|
||||
to @code{defadvice} has the following syntax, which is based on the
|
||||
syntax of @code{defun} and @code{defmacro}, but adds more:
|
||||
|
||||
@findex defadvice
|
||||
@example
|
||||
(defadvice @var{function} (@var{class} @var{name}
|
||||
@r{[}@var{position}@r{]} @r{[}@var{arglist}@r{]}
|
||||
@var{flags}...)
|
||||
@r{[}@var{documentation-string}@r{]}
|
||||
@r{[}@var{interactive-form}@r{]}
|
||||
@var{body-forms}...)
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
Here, @var{function} is the name of the function (or macro) to be
|
||||
advised. From now on, we will write just ``function'' when describing
|
||||
the entity being advised, but this always includes macros.
|
||||
|
||||
In place of the argument list in an ordinary definition, an advice
|
||||
definition calls for several different pieces of information.
|
||||
|
||||
@cindex class of advice
|
||||
@cindex before-advice
|
||||
@cindex after-advice
|
||||
@cindex around-advice
|
||||
@var{class} specifies the @dfn{class} of the advice---one of @code{before},
|
||||
@code{after}, or @code{around}. Before-advice runs before the function
|
||||
itself; after-advice runs after the function itself; around-advice is
|
||||
wrapped around the execution of the function itself. After-advice and
|
||||
around-advice can override the return value by setting
|
||||
@code{ad-return-value}.
|
||||
|
||||
@defvar ad-return-value
|
||||
While advice is executing, after the function's original definition has
|
||||
been executed, this variable holds its return value, which will
|
||||
ultimately be returned to the caller after finishing all the advice.
|
||||
After-advice and around-advice can arrange to return some other value
|
||||
by storing it in this variable.
|
||||
@end defvar
|
||||
|
||||
The argument @var{name} is the name of the advice, a non-@code{nil}
|
||||
symbol. The advice name uniquely identifies one piece of advice, within all
|
||||
the pieces of advice in a particular class for a particular
|
||||
@var{function}. The name allows you to refer to the piece of
|
||||
advice---to redefine it, or to enable or disable it.
|
||||
|
||||
The optional @var{position} specifies where, in the current list of
|
||||
advice of the specified @var{class}, this new advice should be placed.
|
||||
It should be either @code{first}, @code{last} or a number that specifies
|
||||
a zero-based position (@code{first} is equivalent to 0). If no position
|
||||
is specified, the default is @code{first}. Position values outside the
|
||||
range of existing positions in this class are mapped to the beginning or
|
||||
the end of the range, whichever is closer. The @var{position} value is
|
||||
ignored when redefining an existing piece of advice.
|
||||
|
||||
The optional @var{arglist} can be used to define the argument list for
|
||||
the sake of advice. This becomes the argument list of the combined
|
||||
definition that is generated in order to run the advice (@pxref{Combined
|
||||
Definition}). Therefore, the advice expressions can use the argument
|
||||
variables in this list to access argument values.
|
||||
|
||||
The argument list used in advice need not be the same as the argument
|
||||
list used in the original function, but must be compatible with it, so
|
||||
that it can handle the ways the function is actually called. If two
|
||||
pieces of advice for a function both specify an argument list, they must
|
||||
specify the same argument list.
|
||||
|
||||
@xref{Argument Access in Advice}, for more information about argument
|
||||
lists and advice, and a more flexible way for advice to access the
|
||||
arguments.
|
||||
|
||||
The remaining elements, @var{flags}, are symbols that specify further
|
||||
information about how to use this piece of advice. Here are the valid
|
||||
symbols and their meanings:
|
||||
|
||||
@table @code
|
||||
@item activate
|
||||
Activate the advice for @var{function} now. Changes in a function's
|
||||
advice always take effect the next time you activate advice for the
|
||||
function; this flag says to do so, for @var{function}, immediately after
|
||||
defining this piece of advice.
|
||||
|
||||
@cindex forward advice
|
||||
This flag has no immediate effect if @var{function} itself is not defined yet (a
|
||||
situation known as @dfn{forward advice}), because it is impossible to
|
||||
activate an undefined function's advice. However, defining
|
||||
@var{function} will automatically activate its advice.
|
||||
|
||||
@item protect
|
||||
Protect this piece of advice against non-local exits and errors in
|
||||
preceding code and advice. Protecting advice places it as a cleanup in
|
||||
an @code{unwind-protect} form, so that it will execute even if the
|
||||
previous code gets an error or uses @code{throw}. @xref{Cleanups}.
|
||||
|
||||
@item compile
|
||||
Compile the combined definition that is used to run the advice. This
|
||||
flag is ignored unless @code{activate} is also specified.
|
||||
@xref{Combined Definition}.
|
||||
|
||||
@item disable
|
||||
Initially disable this piece of advice, so that it will not be used
|
||||
unless subsequently explicitly enabled. @xref{Enabling Advice}.
|
||||
|
||||
@item preactivate
|
||||
Activate advice for @var{function} when this @code{defadvice} is
|
||||
compiled or macroexpanded. This generates a compiled advised definition
|
||||
according to the current advice state, which will be used during
|
||||
activation if appropriate. @xref{Preactivation}.
|
||||
|
||||
This is useful only if this @code{defadvice} is byte-compiled.
|
||||
@end table
|
||||
|
||||
The optional @var{documentation-string} serves to document this piece of
|
||||
advice. When advice is active for @var{function}, the documentation for
|
||||
@var{function} (as returned by @code{documentation}) combines the
|
||||
documentation strings of all the advice for @var{function} with the
|
||||
documentation string of its original function definition.
|
||||
|
||||
The optional @var{interactive-form} form can be supplied to change the
|
||||
interactive behavior of the original function. If more than one piece
|
||||
of advice has an @var{interactive-form}, then the first one (the one
|
||||
with the smallest position) found among all the advice takes precedence.
|
||||
|
||||
The possibly empty list of @var{body-forms} specifies the body of the
|
||||
advice. The body of an advice can access or change the arguments, the
|
||||
return value, the binding environment, and perform any other kind of
|
||||
side effect.
|
||||
|
||||
@strong{Warning:} When you advise a macro, keep in mind that macros are
|
||||
expanded when a program is compiled, not when a compiled program is run.
|
||||
All subroutines used by the advice need to be available when the byte
|
||||
compiler expands the macro.
|
||||
|
||||
@deffn Command ad-unadvise function
|
||||
This command deletes all pieces of advice from @var{function}.
|
||||
@end deffn
|
||||
|
||||
@deffn Command ad-unadvise-all
|
||||
This command deletes all pieces of advice from all functions.
|
||||
@end deffn
|
||||
|
||||
@node Around-Advice
|
||||
@section Around-Advice
|
||||
|
||||
Around-advice lets you ``wrap'' a Lisp expression ``around'' the
|
||||
original function definition. You specify where the original function
|
||||
definition should go by means of the special symbol @code{ad-do-it}.
|
||||
Where this symbol occurs inside the around-advice body, it is replaced
|
||||
with a @code{progn} containing the forms of the surrounded code. Here
|
||||
is an example:
|
||||
|
||||
@example
|
||||
(defadvice foo (around foo-around)
|
||||
"Ignore case in `foo'."
|
||||
(let ((case-fold-search t))
|
||||
ad-do-it))
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
Its effect is to make sure that case is ignored in
|
||||
searches when the original definition of @code{foo} is run.
|
||||
|
||||
@defvar ad-do-it
|
||||
This is not really a variable, rather a place-holder that looks like a
|
||||
variable. You use it in around-advice to specify the place to run the
|
||||
function's original definition and other ``earlier'' around-advice.
|
||||
@end defvar
|
||||
|
||||
If the around-advice does not use @code{ad-do-it}, then it does not run
|
||||
the original function definition. This provides a way to override the
|
||||
original definition completely. (It also overrides lower-positioned
|
||||
pieces of around-advice).
|
||||
|
||||
If the around-advice uses @code{ad-do-it} more than once, the original
|
||||
definition is run at each place. In this way, around-advice can execute
|
||||
the original definition (and lower-positioned pieces of around-advice)
|
||||
several times. Another way to do that is by using @code{ad-do-it}
|
||||
inside of a loop.
|
||||
|
||||
@node Computed Advice
|
||||
@section Computed Advice
|
||||
|
||||
The macro @code{defadvice} resembles @code{defun} in that the code for
|
||||
the advice, and all other information about it, are explicitly stated in
|
||||
the source code. You can also create advice whose details are computed,
|
||||
using the function @code{ad-add-advice}.
|
||||
|
||||
@defun ad-add-advice function advice class position
|
||||
Calling @code{ad-add-advice} adds @var{advice} as a piece of advice to
|
||||
@var{function} in class @var{class}. The argument @var{advice} has
|
||||
this form:
|
||||
|
||||
@example
|
||||
(@var{name} @var{protected} @var{enabled} @var{definition})
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
Here, @var{protected} and @var{enabled} are flags; if @var{protected}
|
||||
is non-@code{nil}, the advice is protected against non-local exits
|
||||
(@pxref{Defining Advice}), and if @var{enabled} is @code{nil} the
|
||||
advice is initially disabled (@pxref{Enabling Advice}).
|
||||
@var{definition} should have the form
|
||||
|
||||
@example
|
||||
(advice . @var{lambda})
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
where @var{lambda} is a lambda expression; this lambda expression is
|
||||
called in order to perform the advice. @xref{Lambda Expressions}.
|
||||
|
||||
If the @var{function} argument to @code{ad-add-advice} already has one
|
||||
or more pieces of advice in the specified @var{class}, then
|
||||
@var{position} specifies where in the list to put the new piece of
|
||||
advice. The value of @var{position} can either be @code{first},
|
||||
@code{last}, or a number (counting from 0 at the beginning of the
|
||||
list). Numbers outside the range are mapped to the beginning or the
|
||||
end of the range, whichever is closer. The @var{position} value is
|
||||
ignored when redefining an existing piece of advice.
|
||||
|
||||
If @var{function} already has a piece of @var{advice} with the same
|
||||
name, then the position argument is ignored and the old advice is
|
||||
replaced with the new one.
|
||||
@end defun
|
||||
|
||||
@node Activation of Advice
|
||||
@section Activation of Advice
|
||||
@cindex activating advice
|
||||
@cindex advice, activating
|
||||
|
||||
By default, advice does not take effect when you define it---only when
|
||||
you @dfn{activate} advice for the function. However, the advice will
|
||||
be activated automatically if you define or redefine the function
|
||||
later. You can request the activation of advice for a function when
|
||||
you define the advice, by specifying the @code{activate} flag in the
|
||||
@code{defadvice}; or you can activate the advice separately by calling
|
||||
the function @code{ad-activate} or one of the other activation
|
||||
commands listed below.
|
||||
|
||||
Separating the activation of advice from the act of defining it permits
|
||||
you to add several pieces of advice to one function efficiently, without
|
||||
redefining the function over and over as each advice is added. More
|
||||
importantly, it permits defining advice for a function before that
|
||||
function is actually defined.
|
||||
|
||||
When a function's advice is first activated, the function's original
|
||||
definition is saved, and all enabled pieces of advice for that function
|
||||
are combined with the original definition to make a new definition.
|
||||
(Pieces of advice that are currently disabled are not used; see
|
||||
@ref{Enabling Advice}.) This definition is installed, and optionally
|
||||
byte-compiled as well, depending on conditions described below.
|
||||
|
||||
In all of the commands to activate advice, if @var{compile} is
|
||||
@code{t} (or anything but @code{nil} or a negative number), the
|
||||
command also compiles the combined definition which implements the
|
||||
advice. If it is @code{nil} or a negative number, what happens
|
||||
depends on @code{ad-default-compilation-action} as described below.
|
||||
|
||||
@deffn Command ad-activate function &optional compile
|
||||
This command activates all the advice defined for @var{function}.
|
||||
@end deffn
|
||||
|
||||
Activating advice does nothing if @var{function}'s advice is already
|
||||
active. But if there is new advice, added since the previous time you
|
||||
activated advice for @var{function}, it activates the new advice.
|
||||
|
||||
@deffn Command ad-deactivate function
|
||||
This command deactivates the advice for @var{function}.
|
||||
@cindex deactivating advice
|
||||
@c @cindex advice, deactivating "advice, activating" is just above
|
||||
@end deffn
|
||||
|
||||
@deffn Command ad-update function &optional compile
|
||||
This command activates the advice for @var{function}
|
||||
if its advice is already activated. This is useful
|
||||
if you change the advice.
|
||||
@end deffn
|
||||
|
||||
@deffn Command ad-activate-all &optional compile
|
||||
This command activates the advice for all functions.
|
||||
@end deffn
|
||||
|
||||
@deffn Command ad-deactivate-all
|
||||
This command deactivates the advice for all functions.
|
||||
@end deffn
|
||||
|
||||
@deffn Command ad-update-all &optional compile
|
||||
This command activates the advice for all functions
|
||||
whose advice is already activated. This is useful
|
||||
if you change the advice of some functions.
|
||||
@end deffn
|
||||
|
||||
@deffn Command ad-activate-regexp regexp &optional compile
|
||||
This command activates all pieces of advice whose names match
|
||||
@var{regexp}. More precisely, it activates all advice for any function
|
||||
which has at least one piece of advice that matches @var{regexp}.
|
||||
@end deffn
|
||||
|
||||
@deffn Command ad-deactivate-regexp regexp
|
||||
This command deactivates all pieces of advice whose names match
|
||||
@var{regexp}. More precisely, it deactivates all advice for any
|
||||
function which has at least one piece of advice that matches
|
||||
@var{regexp}.
|
||||
@end deffn
|
||||
|
||||
@deffn Command ad-update-regexp regexp &optional compile
|
||||
This command activates pieces of advice whose names match @var{regexp},
|
||||
but only those for functions whose advice is already activated.
|
||||
@cindex reactivating advice
|
||||
|
||||
Reactivating a function's advice is useful for putting into effect all
|
||||
the changes that have been made in its advice (including enabling and
|
||||
disabling specific pieces of advice; @pxref{Enabling Advice}) since the
|
||||
last time it was activated.
|
||||
@end deffn
|
||||
|
||||
@deffn Command ad-start-advice
|
||||
Turn on automatic advice activation when a function is defined or
|
||||
redefined. This is the default mode.
|
||||
@end deffn
|
||||
|
||||
@deffn Command ad-stop-advice
|
||||
Turn off automatic advice activation when a function is defined or
|
||||
redefined.
|
||||
@end deffn
|
||||
|
||||
@defopt ad-default-compilation-action
|
||||
This variable controls whether to compile the combined definition
|
||||
that results from activating advice for a function.
|
||||
|
||||
A value of @code{always} specifies to compile unconditionally.
|
||||
A value of @code{never} specifies never compile the advice.
|
||||
|
||||
A value of @code{maybe} specifies to compile if the byte compiler is
|
||||
already loaded. A value of @code{like-original} specifies to compile
|
||||
the advice if the original definition of the advised function is
|
||||
compiled or a built-in function.
|
||||
|
||||
This variable takes effect only if the @var{compile} argument of
|
||||
@code{ad-activate} (or any of the above functions) did not force
|
||||
compilation.
|
||||
@end defopt
|
||||
|
||||
If the advised definition was constructed during ``preactivation''
|
||||
(@pxref{Preactivation}), then that definition must already be compiled,
|
||||
because it was constructed during byte-compilation of the file that
|
||||
contained the @code{defadvice} with the @code{preactivate} flag.
|
||||
|
||||
@node Enabling Advice
|
||||
@section Enabling and Disabling Advice
|
||||
@cindex enabling advice
|
||||
@cindex advice, enabling and disabling
|
||||
@cindex disabling advice
|
||||
|
||||
Each piece of advice has a flag that says whether it is enabled or
|
||||
not. By enabling or disabling a piece of advice, you can turn it on
|
||||
and off without having to undefine and redefine it. For example, here is
|
||||
how to disable a particular piece of advice named @code{my-advice} for
|
||||
the function @code{foo}:
|
||||
|
||||
@example
|
||||
(ad-disable-advice 'foo 'before 'my-advice)
|
||||
@end example
|
||||
|
||||
This function by itself only changes the enable flag for a piece of
|
||||
advice. To make the change take effect in the advised definition, you
|
||||
must activate the advice for @code{foo} again:
|
||||
|
||||
@example
|
||||
(ad-activate 'foo)
|
||||
@end example
|
||||
|
||||
@deffn Command ad-disable-advice function class name
|
||||
This command disables the piece of advice named @var{name} in class
|
||||
@var{class} on @var{function}.
|
||||
@end deffn
|
||||
|
||||
@deffn Command ad-enable-advice function class name
|
||||
This command enables the piece of advice named @var{name} in class
|
||||
@var{class} on @var{function}.
|
||||
@end deffn
|
||||
|
||||
You can also disable many pieces of advice at once, for various
|
||||
functions, using a regular expression. As always, the changes take real
|
||||
effect only when you next reactivate advice for the functions in
|
||||
question.
|
||||
|
||||
@deffn Command ad-disable-regexp regexp
|
||||
This command disables all pieces of advice whose names match
|
||||
@var{regexp}, in all classes, on all functions.
|
||||
@end deffn
|
||||
|
||||
@deffn Command ad-enable-regexp regexp
|
||||
This command enables all pieces of advice whose names match
|
||||
@var{regexp}, in all classes, on all functions.
|
||||
@end deffn
|
||||
|
||||
@node Preactivation
|
||||
@section Preactivation
|
||||
@cindex preactivating advice
|
||||
@cindex advice, preactivating
|
||||
|
||||
Constructing a combined definition to execute advice is moderately
|
||||
expensive. When a library advises many functions, this can make loading
|
||||
the library slow. In that case, you can use @dfn{preactivation} to
|
||||
construct suitable combined definitions in advance.
|
||||
|
||||
To use preactivation, specify the @code{preactivate} flag when you
|
||||
define the advice with @code{defadvice}. This @code{defadvice} call
|
||||
creates a combined definition which embodies this piece of advice
|
||||
(whether enabled or not) plus any other currently enabled advice for the
|
||||
same function, and the function's own definition. If the
|
||||
@code{defadvice} is compiled, that compiles the combined definition
|
||||
also.
|
||||
|
||||
When the function's advice is subsequently activated, if the enabled
|
||||
advice for the function matches what was used to make this combined
|
||||
definition, then the existing combined definition is used, thus avoiding
|
||||
the need to construct one. Thus, preactivation never causes wrong
|
||||
results---but it may fail to do any good, if the enabled advice at the
|
||||
time of activation doesn't match what was used for preactivation.
|
||||
|
||||
Here are some symptoms that can indicate that a preactivation did not
|
||||
work properly, because of a mismatch.
|
||||
|
||||
@itemize @bullet
|
||||
@item
|
||||
Activation of the advised
|
||||
function takes longer than usual.
|
||||
@item
|
||||
The byte compiler gets
|
||||
loaded while an advised function gets activated.
|
||||
@item
|
||||
@code{byte-compile} is included in the value of @code{features} even
|
||||
though you did not ever explicitly use the byte compiler.
|
||||
@end itemize
|
||||
|
||||
Compiled preactivated advice works properly even if the function itself
|
||||
is not defined until later; however, the function needs to be defined
|
||||
when you @emph{compile} the preactivated advice.
|
||||
|
||||
There is no elegant way to find out why preactivated advice is not being
|
||||
used. What you can do is to trace the function
|
||||
@code{ad-cache-id-verification-code} (with the function
|
||||
@code{trace-function-background}) before the advised function's advice
|
||||
is activated. After activation, check the value returned by
|
||||
@code{ad-cache-id-verification-code} for that function: @code{verified}
|
||||
means that the preactivated advice was used, while other values give
|
||||
some information about why they were considered inappropriate.
|
||||
|
||||
@strong{Warning:} There is one known case that can make preactivation
|
||||
fail, in that a preconstructed combined definition is used even though
|
||||
it fails to match the current state of advice. This can happen when two
|
||||
packages define different pieces of advice with the same name, in the
|
||||
same class, for the same function. But you should avoid that anyway.
|
||||
|
||||
@node Argument Access in Advice
|
||||
@section Argument Access in Advice
|
||||
|
||||
The simplest way to access the arguments of an advised function in the
|
||||
body of a piece of advice is to use the same names that the function
|
||||
definition uses. To do this, you need to know the names of the argument
|
||||
variables of the original function.
|
||||
|
||||
While this simple method is sufficient in many cases, it has a
|
||||
disadvantage: it is not robust, because it hard-codes the argument names
|
||||
into the advice. If the definition of the original function changes,
|
||||
the advice might break.
|
||||
|
||||
Another method is to specify an argument list in the advice itself.
|
||||
This avoids the need to know the original function definition's argument
|
||||
names, but it has a limitation: all the advice on any particular
|
||||
function must use the same argument list, because the argument list
|
||||
actually used for all the advice comes from the first piece of advice
|
||||
for that function.
|
||||
|
||||
A more robust method is to use macros that are translated into the
|
||||
proper access forms at activation time, i.e., when constructing the
|
||||
advised definition. Access macros access actual arguments by their
|
||||
(zero-based) position, regardless of how these actual arguments get
|
||||
distributed onto the argument variables of a function. This is robust
|
||||
because in Emacs Lisp the meaning of an argument is strictly
|
||||
determined by its position in the argument list.
|
||||
|
||||
@defmac ad-get-arg position
|
||||
This returns the actual argument that was supplied at @var{position}.
|
||||
@end defmac
|
||||
|
||||
@defmac ad-get-args position
|
||||
This returns the list of actual arguments supplied starting at
|
||||
@var{position}.
|
||||
@end defmac
|
||||
|
||||
@defmac ad-set-arg position value
|
||||
This sets the value of the actual argument at @var{position} to
|
||||
@var{value}
|
||||
@end defmac
|
||||
|
||||
@defmac ad-set-args position value-list
|
||||
This sets the list of actual arguments starting at @var{position} to
|
||||
@var{value-list}.
|
||||
@end defmac
|
||||
|
||||
Now an example. Suppose the function @code{foo} is defined as
|
||||
|
||||
@example
|
||||
(defun foo (x y &optional z &rest r) ...)
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
and is then called with
|
||||
|
||||
@example
|
||||
(foo 0 1 2 3 4 5 6)
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
which means that @var{x} is 0, @var{y} is 1, @var{z} is 2 and @var{r} is
|
||||
@code{(3 4 5 6)} within the body of @code{foo}. Here is what
|
||||
@code{ad-get-arg} and @code{ad-get-args} return in this case:
|
||||
|
||||
@example
|
||||
(ad-get-arg 0) @result{} 0
|
||||
(ad-get-arg 1) @result{} 1
|
||||
(ad-get-arg 2) @result{} 2
|
||||
(ad-get-arg 3) @result{} 3
|
||||
(ad-get-args 2) @result{} (2 3 4 5 6)
|
||||
(ad-get-args 4) @result{} (4 5 6)
|
||||
@end example
|
||||
|
||||
Setting arguments also makes sense in this example:
|
||||
|
||||
@example
|
||||
(ad-set-arg 5 "five")
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
has the effect of changing the sixth argument to @code{"five"}. If this
|
||||
happens in advice executed before the body of @code{foo} is run, then
|
||||
@var{r} will be @code{(3 4 "five" 6)} within that body.
|
||||
|
||||
Here is an example of setting a tail of the argument list:
|
||||
|
||||
@example
|
||||
(ad-set-args 0 '(5 4 3 2 1 0))
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
If this happens in advice executed before the body of @code{foo} is run,
|
||||
then within that body, @var{x} will be 5, @var{y} will be 4, @var{z}
|
||||
will be 3, and @var{r} will be @code{(2 1 0)} inside the body of
|
||||
@code{foo}.
|
||||
|
||||
These argument constructs are not really implemented as Lisp macros.
|
||||
Instead they are implemented specially by the advice mechanism.
|
||||
|
||||
@node Combined Definition
|
||||
@section The Combined Definition
|
||||
|
||||
Suppose that a function has @var{n} pieces of before-advice
|
||||
(numbered from 0 through @var{n}@minus{}1), @var{m} pieces of
|
||||
around-advice and @var{k} pieces of after-advice. Assuming no piece
|
||||
of advice is protected, the combined definition produced to implement
|
||||
the advice for a function looks like this:
|
||||
|
||||
@example
|
||||
(lambda @var{arglist}
|
||||
@r{[} @r{[}@var{advised-docstring}@r{]} @r{[}(interactive ...)@r{]} @r{]}
|
||||
(let (ad-return-value)
|
||||
@r{before-0-body-form}...
|
||||
....
|
||||
@r{before-@var{n}@minus{}1-body-form}...
|
||||
@r{around-0-body-form}...
|
||||
@r{around-1-body-form}...
|
||||
....
|
||||
@r{around-@var{m}@minus{}1-body-form}...
|
||||
(setq ad-return-value
|
||||
@r{apply original definition to @var{arglist}})
|
||||
@r{end-of-around-@var{m}@minus{}1-body-form}...
|
||||
....
|
||||
@r{end-of-around-1-body-form}...
|
||||
@r{end-of-around-0-body-form}...
|
||||
@r{after-0-body-form}...
|
||||
....
|
||||
@r{after-@var{k}@minus{}1-body-form}...
|
||||
ad-return-value))
|
||||
@end example
|
||||
|
||||
Macros are redefined as macros, which means adding @code{macro} to
|
||||
the beginning of the combined definition.
|
||||
|
||||
The interactive form is present if the original function or some piece
|
||||
of advice specifies one. When an interactive primitive function is
|
||||
advised, advice uses a special method: it calls the primitive with
|
||||
@code{call-interactively} so that it will read its own arguments.
|
||||
In this case, the advice cannot access the arguments.
|
||||
|
||||
The body forms of the various advice in each class are assembled
|
||||
according to their specified order. The forms of around-advice @var{l}
|
||||
are included in one of the forms of around-advice @var{l} @minus{} 1.
|
||||
|
||||
The innermost part of the around advice onion is
|
||||
|
||||
@display
|
||||
apply original definition to @var{arglist}
|
||||
@end display
|
||||
|
||||
@noindent
|
||||
whose form depends on the type of the original function. The variable
|
||||
@code{ad-return-value} is set to whatever this returns. The variable is
|
||||
visible to all pieces of advice, which can access and modify it before
|
||||
it is actually returned from the advised function.
|
||||
|
||||
The semantic structure of advised functions that contain protected
|
||||
pieces of advice is the same. The only difference is that
|
||||
@code{unwind-protect} forms ensure that the protected advice gets
|
||||
executed even if some previous piece of advice had an error or a
|
||||
non-local exit. If any around-advice is protected, then the whole
|
||||
around-advice onion is protected as a result.
|
|
@ -194,7 +194,6 @@ To view this manual in other formats, click
|
|||
|
||||
* Loading:: Reading files of Lisp code into Lisp.
|
||||
* Byte Compilation:: Compilation makes programs run faster.
|
||||
* Advising Functions:: Adding to the definition of a function.
|
||||
* Debugging:: Tools and tips for debugging Lisp programs.
|
||||
|
||||
* Read and Print:: Converting Lisp objects to text and back.
|
||||
|
@ -614,19 +613,6 @@ Byte Compilation
|
|||
* Byte-Code Objects:: The data type used for byte-compiled functions.
|
||||
* Disassembly:: Disassembling byte-code; how to read byte-code.
|
||||
|
||||
Advising Emacs Lisp Functions
|
||||
|
||||
* Simple Advice:: A simple example to explain the basics of advice.
|
||||
* Defining Advice:: Detailed description of @code{defadvice}.
|
||||
* Around-Advice:: Wrapping advice around a function's definition.
|
||||
* Computed Advice:: ...is to @code{defadvice} as @code{fset} is to @code{defun}.
|
||||
* Activation of Advice:: Advice doesn't do anything until you activate it.
|
||||
* Enabling Advice:: You can enable or disable each piece of advice.
|
||||
* Preactivation:: Preactivation is a way of speeding up the
|
||||
loading of compiled advice.
|
||||
* Argument Access in Advice:: How advice can access the function's arguments.
|
||||
* Combined Definition:: How advice is implemented.
|
||||
|
||||
Debugging Lisp Programs
|
||||
|
||||
* Debugger:: A debugger for the Emacs Lisp evaluator.
|
||||
|
@ -1561,7 +1547,6 @@ Object Internals
|
|||
@include customize.texi
|
||||
@include loading.texi
|
||||
@include compile.texi
|
||||
@include advice.texi
|
||||
|
||||
@c This includes edebug.texi.
|
||||
@include debugging.texi
|
||||
|
|
|
@ -21,6 +21,7 @@ define them.
|
|||
* Function Cells:: Accessing or setting the function definition
|
||||
of a symbol.
|
||||
* Closures:: Functions that enclose a lexical environment.
|
||||
* Advising Functions:: Adding to the definition of a function.
|
||||
* Obsolete Functions:: Declaring functions obsolete.
|
||||
* Inline Functions:: Functions that the compiler will expand inline.
|
||||
* Declare Form:: Adding additional information about a function.
|
||||
|
@ -1077,12 +1078,10 @@ This function stores @var{definition} in the function cell of
|
|||
this is not checked. The argument @var{symbol} is an ordinary evaluated
|
||||
argument.
|
||||
|
||||
The primary use of this function is as a subroutine by constructs that
|
||||
define or alter functions, like @code{defadvice} (@pxref{Advising
|
||||
Functions}). (If @code{defun} were not a primitive, it could be
|
||||
written as a Lisp macro using @code{fset}.) You can also use it to
|
||||
give a symbol a function definition that is not a list, e.g., a
|
||||
keyboard macro (@pxref{Keyboard Macros}):
|
||||
The primary use of this function is as a subroutine by constructs that define
|
||||
or alter functions, like @code{defun} or @code{advice-add} (@pxref{Advising
|
||||
Functions}). You can also use it to give a symbol a function definition that
|
||||
is not a function, e.g., a keyboard macro (@pxref{Keyboard Macros}):
|
||||
|
||||
@example
|
||||
;; @r{Define a named keyboard macro.}
|
||||
|
@ -1133,6 +1132,269 @@ However, the fact that the internal structure of a closure is
|
|||
implementation detail. For this reason, we recommend against directly
|
||||
examining or altering the structure of closure objects.
|
||||
|
||||
@node Advising Functions
|
||||
@section Advising Emacs Lisp Functions
|
||||
@cindex advising functions
|
||||
@cindex piece of advice
|
||||
|
||||
Any variable or object field which holds a function can be modified with the
|
||||
appropriate setter function, such as @code{set-process-filter}, @code{fset}, or
|
||||
@code{setq}, but those can be too blunt, completely throwing away the
|
||||
previous value.
|
||||
|
||||
In order to modify such hooks in a more controlled way, Emacs provides the
|
||||
macros @code{add-function} and @code{remove-function}, which let you modify the
|
||||
existing function value by composing it with another function.
|
||||
|
||||
For example, in order to trace the calls to a process filter, you can use:
|
||||
|
||||
@example
|
||||
(add-function :before (process-filter proc) #'my-tracing-function)
|
||||
@end example
|
||||
|
||||
This will cause the process's output to be passed first to
|
||||
@code{my-tracing-function} and then to the original process filter.
|
||||
When you're done with it, you can revert to the untraced behavior with:
|
||||
|
||||
@example
|
||||
(remove-function (process-filter proc) #'my-tracing-function)
|
||||
@end example
|
||||
|
||||
The argument @code{:before} specifies how the two functions are composed, since
|
||||
there are many different ways to do it. The added function is also called an
|
||||
@emph{advice}.
|
||||
|
||||
The function cell of a symbol can be manipulated similarly, but since it can
|
||||
contain other things than a plain function, you have to use @var{advice-add}
|
||||
and @var{advice-remove} instead, which
|
||||
@c use @var{add-function} and @var{remove-function} internally, but
|
||||
know how to handle cases such as when the function cell holds a macro rather
|
||||
than function, or when the function is autoloaded so the advice's activation
|
||||
needs to be postponed.
|
||||
|
||||
@menu
|
||||
* Advising Primitives:: Primitives to Manipulate Advices
|
||||
* Advising Named Functions:: Advising Named Functions
|
||||
@end menu
|
||||
|
||||
@node Advising Primitives
|
||||
@subsection Primitives to manipulate advice
|
||||
|
||||
@defmac add-function where place function &optional props
|
||||
This macro is the handy way to add the advice @var{function} to the function
|
||||
stored in @var{place} (@pxref{Generalized Variables}).
|
||||
|
||||
@var{where} determines how @var{function} is composed with the
|
||||
existing function. It can be one of the following:
|
||||
|
||||
@table @code
|
||||
@item :before
|
||||
Call @var{function} before the old function. Both functions receive the
|
||||
same arguments, and the return value of the composition is the return value of
|
||||
the old function. More specifically, the composition of the two functions
|
||||
behaves like:
|
||||
@example
|
||||
(lambda (&rest r) (apply @var{function} r) (apply @var{oldfun} r))
|
||||
@end example
|
||||
This is similar to @code{(add-hook @var{hook} @var{function})}, except that it
|
||||
applies to single-function hooks rather than normal hooks.
|
||||
|
||||
@item :after
|
||||
Call @var{function} after the old function. Both functions receive the
|
||||
same arguments, and the return value of the composition is the return value of
|
||||
the old function. More specifically, the composition of the two functions
|
||||
behaves like:
|
||||
@example
|
||||
(lambda (&rest r) (prog1 (apply @var{oldfun} r) (apply @var{function} r)))
|
||||
@end example
|
||||
This is similar to @code{(add-hook @var{hook} @var{function} nil 'append)},
|
||||
except that it applies to single-function hooks rather than normal hooks.
|
||||
|
||||
@item :override
|
||||
This completely replaces the old function with the new one. The old function
|
||||
can of course be recovered if you later call @code{remove-function}.
|
||||
|
||||
@item :around
|
||||
Call @var{function} instead of the old function, but provide the old function
|
||||
as an extra argument to @var{function}. This is the most flexible composition.
|
||||
For example, it lets you call the old function with different arguments, or
|
||||
within a let-binding, or you can sometimes delegate the work to the old
|
||||
function and sometimes override it completely. More specifically, the
|
||||
composition of the two functions behaves like:
|
||||
@example
|
||||
(lambda (&rest r) (apply @var{function} @var{oldfun} r))
|
||||
@end example
|
||||
|
||||
@item :before-while
|
||||
Call @var{function} before the old function and don't call the old
|
||||
function if @var{function} returns @code{nil}. Both functions receive the
|
||||
same arguments, and the return value of the composition is the return value of
|
||||
the old function. More specifically, the composition of the two functions
|
||||
behaves like:
|
||||
@example
|
||||
(lambda (&rest r) (and (apply @var{function} r) (apply @var{oldfun} r)))
|
||||
@end example
|
||||
This is reminiscent of @code{(add-hook @var{hook} @var{function})}, when
|
||||
@var{hook} is run via @code{run-hook-with-args-until-failure}.
|
||||
|
||||
@item :before-until
|
||||
Call @var{function} before the old function and only call the old function if
|
||||
@var{function} returns @code{nil}. More specifically, the composition of the
|
||||
two functions behaves like:
|
||||
@example
|
||||
(lambda (&rest r) (or (apply @var{function} r) (apply @var{oldfun} r)))
|
||||
@end example
|
||||
This is reminiscent of @code{(add-hook @var{hook} @var{function})}, when
|
||||
@var{hook} is run via @code{run-hook-with-args-until-success}.
|
||||
|
||||
@item :after-while
|
||||
Call @var{function} after the old function and only if the old function
|
||||
returned non-@code{nil}. Both functions receive the same arguments, and the
|
||||
return value of the composition is the return value of @var{function}.
|
||||
More specifically, the composition of the two functions behaves like:
|
||||
@example
|
||||
(lambda (&rest r) (and (apply @var{oldfun} r) (apply @var{function} r)))
|
||||
@end example
|
||||
This is reminiscent of @code{(add-hook @var{hook} @var{function} nil 'append)},
|
||||
when @var{hook} is run via @code{run-hook-with-args-until-failure}.
|
||||
|
||||
@item :after-until
|
||||
Call @var{function} after the old function and only if the old function
|
||||
returned @code{nil}. More specifically, the composition of the two functions
|
||||
behaves like:
|
||||
@example
|
||||
(lambda (&rest r) (or (apply @var{oldfun} r) (apply @var{function} r)))
|
||||
@end example
|
||||
This is reminiscent of @code{(add-hook @var{hook} @var{function} nil 'append)},
|
||||
when @var{hook} is run via @code{run-hook-with-args-until-success}.
|
||||
|
||||
@item :filter-args
|
||||
Call @var{function} first and use the result (which should be a list) as the
|
||||
new arguments to pass to the old function. More specifically, the composition
|
||||
of the two functions behaves like:
|
||||
@example
|
||||
(lambda (&rest r) (apply @var{oldfun} (funcall @var{function} r)))
|
||||
@end example
|
||||
|
||||
@item :filter-return
|
||||
Call the old function first and pass the result to @var{function}.
|
||||
More specifically, the composition of the two functions behaves like:
|
||||
@example
|
||||
(lambda (&rest r) (funcall @var{function} (apply @var{oldfun} r)))
|
||||
@end example
|
||||
@end table
|
||||
|
||||
When modifying a variable (whose name will usually end with @code{-function}),
|
||||
you can choose whether @var{function} is used globally or only in the current
|
||||
buffer: if @var{place} is just a symbol, then @var{function} is added to the
|
||||
global value of @var{place}. Whereas if @var{place} is of the form
|
||||
@code{(local @var{symbol})}, where @var{symbol} is an expression which returns
|
||||
the variable name, then @var{function} will only be added in the
|
||||
current buffer.
|
||||
|
||||
Every function added with @code{add-function} can be accompanied by an
|
||||
association list of properties @var{props}. Currently only two of those
|
||||
properties have a special meaning:
|
||||
|
||||
@table @code
|
||||
@item name
|
||||
This gives a name to the advice, which @code{remove-function} can use to
|
||||
identify which function to remove. Typically used when @var{function} is an
|
||||
anonymous function.
|
||||
|
||||
@item depth
|
||||
This specifies where to place the advice, in case several advices are present.
|
||||
By default, the depth is 0. A depth of 100 indicates that this advice should
|
||||
be kept as deep as possible, whereas a depth of -100 indicates that it
|
||||
should stay as the outermost advice. When two advices specify the same depth,
|
||||
the most recently added advice will be outermost.
|
||||
@end table
|
||||
@end defmac
|
||||
|
||||
@defmac remove-function place function
|
||||
This macro removes @var{function} from the function stored in
|
||||
@var{place}. This only works if @var{function} was added to @var{place}
|
||||
using @code{add-function}.
|
||||
|
||||
@var{function} is compared with functions added to @var{place} using
|
||||
@code{equal}, to try and make it work also with lambda expressions. It is
|
||||
additionally compared also with the @code{name} property of the functions added
|
||||
to @var{place}, which can be more reliable than comparing lambda expressions
|
||||
using @code{equal}.
|
||||
@end defmac
|
||||
|
||||
@defun advice-function-member-p advice function-def
|
||||
Return non-@code{nil} if @var{advice} is already in @var{function-def}.
|
||||
Like for @code{remove-function} above, instead of @var{advice} being the actual
|
||||
function, it can also be the @code{name} of the piece of advice.
|
||||
@end defun
|
||||
|
||||
@defun advice-function-mapc f function-def
|
||||
Call the function @var{f} for every advice that was added to
|
||||
@var{function-def}. @var{f} is called with two arguments: the advice function
|
||||
and its properties.
|
||||
@end defun
|
||||
|
||||
@node Advising Named Functions
|
||||
@subsection Advising Named Functions
|
||||
|
||||
A common use of advice is for named functions and macros.
|
||||
Since @var{add-function} does not know how to deal with macros and autoloaded
|
||||
functions, Emacs provides a separate set of functions to manipulate pieces of
|
||||
advice applied to named functions.
|
||||
|
||||
Advice can be useful for altering the behavior of an existing
|
||||
function without having to redefine the whole function. However, it
|
||||
can be a source of bugs, since existing callers to the function may
|
||||
assume the old behavior, and work incorrectly when the behavior is
|
||||
changed by advice. Advice can also cause confusion in debugging, if
|
||||
the person doing the debugging does not notice or remember that the
|
||||
function has been modified by advice.
|
||||
|
||||
For these reasons, advice should be reserved for the cases where you
|
||||
cannot modify a function's behavior in any other way. If it is
|
||||
possible to do the same thing via a hook, that is preferable
|
||||
(@pxref{Hooks}). If you simply want to change what a particular key
|
||||
does, it may be better to write a new command, and remap the old
|
||||
command's key bindings to the new one (@pxref{Remapping Commands}).
|
||||
In particular, Emacs's own source files should not put advice on
|
||||
functions in Emacs. (There are currently a few exceptions to this
|
||||
convention, but we aim to correct them.)
|
||||
|
||||
Macros can also be advised, in much the same way as functions.
|
||||
However, special forms (@pxref{Special Forms}) cannot be advised.
|
||||
|
||||
It is possible to advise a primitive (@pxref{What Is a Function}),
|
||||
but one should typically @emph{not} do so, for two reasons. Firstly,
|
||||
some primitives are used by the advice mechanism, and advising them
|
||||
could cause an infinite recursion. Secondly, many primitives are
|
||||
called directly from C, and such calls ignore advice; hence, one ends
|
||||
up in a confusing situation where some calls (occurring from Lisp
|
||||
code) obey the advice and other calls (from C code) do not.
|
||||
|
||||
@defun advice-add symbol where function &optional props
|
||||
Add the advice @var{function} to the named function @var{symbol}.
|
||||
@var{where} and @var{props} have the same meaning as for @code{add-function}
|
||||
(@pxref{Advising Primitives}).
|
||||
@end defun
|
||||
|
||||
@defun advice-remove symbol function
|
||||
Remove the advice @var{function} from the named function @var{symbol}.
|
||||
@var{function} can also be the @code{name} of an advice.
|
||||
@end defun
|
||||
|
||||
@defun advice-member-p function symbol
|
||||
Return non-@code{nil} if the advice @var{function} is already in the named
|
||||
function @var{symbol}. @var{function} can also be the @code{name} of
|
||||
an advice.
|
||||
@end defun
|
||||
|
||||
@defun advice-mapc function symbol
|
||||
Call @var{function} for every advice that was added to the named function
|
||||
@var{symbol}. @var{function} is called with two arguments: the advice function
|
||||
and its properties.
|
||||
@end defun
|
||||
|
||||
@node Obsolete Functions
|
||||
@section Declaring Functions Obsolete
|
||||
@cindex obsolete functions
|
||||
|
|
|
@ -49,7 +49,6 @@ texinputdir = $(srcdir)\..\..\nt\envadd.bat \
|
|||
srcs = \
|
||||
$(emacsdir)/emacsver.texi \
|
||||
$(srcdir)/abbrevs.texi \
|
||||
$(srcdir)/advice.texi \
|
||||
$(srcdir)/anti.texi \
|
||||
$(srcdir)/backups.texi \
|
||||
$(srcdir)/buffers.texi \
|
||||
|
|
|
@ -69,11 +69,13 @@ functions are called with arguments, or their return values are used
|
|||
in some way. The hook's documentation says how the functions are
|
||||
called. You can use @code{add-hook} to add a function to an abnormal
|
||||
hook, but you must write the function to follow the hook's calling
|
||||
convention.
|
||||
convention. By convention, abnormal hook names end in @samp{-functions}.
|
||||
|
||||
By convention, abnormal hook names end in @samp{-functions}. If the
|
||||
variable's name ends in @samp{-function}, then its value is just a single
|
||||
function, not a list of functions.
|
||||
@cindex single-function hook
|
||||
If the variable's name ends in @samp{-function}, then its value is
|
||||
just a single function, not a list of functions. @code{add-hook} cannot be
|
||||
used to modify such a @emph{single function hook}, and you have to use
|
||||
@code{add-function} instead (@pxref{Advising Functions}).
|
||||
|
||||
@menu
|
||||
* Running Hooks:: How to run a hook.
|
||||
|
@ -129,47 +131,6 @@ non-@code{nil} value, it returns that value; otherwise it returns
|
|||
@code{nil}.
|
||||
@end defun
|
||||
|
||||
@defmac with-wrapper-hook hook args &rest body
|
||||
This macro runs the abnormal hook @code{hook} as a series of nested
|
||||
``wrapper functions'' around the @var{body} forms. The effect is
|
||||
similar to nested @code{around} advices (@pxref{Around-Advice}).
|
||||
|
||||
Each hook function should accept an argument list consisting of a function
|
||||
@var{fun}, followed by the additional arguments listed in @var{args}.
|
||||
The first hook function is passed a function @var{fun} that, if it is
|
||||
called with arguments @var{args}, performs @var{body} (i.e., the default
|
||||
operation). The @var{fun} passed to each successive hook function is
|
||||
constructed from all the preceding hook functions (and @var{body}); if
|
||||
this @var{fun} is called with arguments @var{args}, it does what the
|
||||
@code{with-wrapper-hook} call would if the preceding hook functions were
|
||||
the only ones in @var{hook}.
|
||||
|
||||
Each hook function may call its @var{fun} argument as many times as it
|
||||
wishes, including never. In that case, such a hook function acts to
|
||||
replace the default definition altogether, and any preceding hook
|
||||
functions. Of course, a subsequent hook function may do the same thing.
|
||||
|
||||
Each hook function definition is used to construct the @var{fun} passed
|
||||
to the next hook function in @var{hook}, if any. The last or
|
||||
``outermost'' @var{fun} is called once to produce the overall effect.
|
||||
|
||||
When might you want to use a wrapper hook? The function
|
||||
@code{filter-buffer-substring} illustrates a common case. There is a
|
||||
basic functionality, performed by @var{body}---in this case, to extract
|
||||
a buffer-substring. Then any number of hook functions can act in
|
||||
sequence to modify that string, before returning the final result.
|
||||
A wrapper-hook also allows for a hook function to completely replace the
|
||||
default definition (by not calling @var{fun}).
|
||||
@end defmac
|
||||
|
||||
@defun run-hook-wrapped hook wrap-function &rest args
|
||||
This function is similar to @code{run-hook-with-args-until-success}.
|
||||
Like that function, it runs the functions on the abnormal hook
|
||||
@code{hook}, stopping at the first one that returns non-@code{nil}.
|
||||
Instead of calling the hook functions directly, though, it actually
|
||||
calls @code{wrap-function} with arguments @code{fun} and @code{args}.
|
||||
@end defun
|
||||
|
||||
@node Setting Hooks
|
||||
@subsection Setting Hooks
|
||||
|
||||
|
|
|
@ -521,6 +521,13 @@ the optional argument @var{ignore-case} is non-@code{nil}, the
|
|||
comparison ignores case differences.
|
||||
@end defun
|
||||
|
||||
@defun string-suffix-p suffix string &optional ignore-case
|
||||
This function returns non-@code{nil} if @var{suffix} is a suffix of
|
||||
@var{string}; i.e., if @var{string} ends with @var{suffix}. If the
|
||||
optional argument @var{ignore-case} is non-@code{nil}, the comparison
|
||||
ignores case differences.
|
||||
@end defun
|
||||
|
||||
@defun compare-strings string1 start1 end1 string2 start2 end2 &optional ignore-case
|
||||
This function compares a specified part of @var{string1} with a
|
||||
specified part of @var{string2}. The specified part of @var{string1}
|
||||
|
|
|
@ -4284,6 +4284,14 @@ A call to @code{libxml-parse-html-region} returns this:
|
|||
@end example
|
||||
@end defun
|
||||
|
||||
@cindex rendering html
|
||||
@defun shr-insert-document dom
|
||||
This function renders the parsed HTML in @var{dom} into the current
|
||||
buffer. The argument @var{dom} should be a list as generated by
|
||||
@code{libxml-parse-html-region}. This function is, e.g., used by
|
||||
@ref{Top, EWW,, eww, The Emacs Web Wowser Manual}.
|
||||
@end defun
|
||||
|
||||
@cindex parsing xml
|
||||
@defun libxml-parse-xml-region start end &optional base-url
|
||||
This function is the same as @code{libxml-parse-html-region}, except
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2014-01-09 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* emacs.1: Refer to online service directory rather than etc/SERVICE.
|
||||
|
||||
2013-08-31 Ulrich Müller <ulm@gentoo.org>
|
||||
|
||||
* emacs.1: Update manual links.
|
||||
|
|
|
@ -576,9 +576,6 @@ strings for the Lisp primitives and preloaded Lisp functions
|
|||
of GNU Emacs.
|
||||
They are stored here to reduce the size of Emacs proper.
|
||||
|
||||
/usr/local/share/emacs/$VERSION/etc/SERVICE lists people offering
|
||||
various services to assist users of GNU Emacs, including education,
|
||||
troubleshooting, porting and customization.
|
||||
.
|
||||
.
|
||||
.SH BUGS
|
||||
|
@ -597,8 +594,8 @@ easily reproduced.
|
|||
Do not expect a personal answer to a bug report.
|
||||
The purpose of reporting bugs is to get them fixed for everyone
|
||||
in the next release, if possible.
|
||||
For personal assistance, look in the SERVICE file (see above) for
|
||||
a list of people who offer it.
|
||||
For personal assistance, consult the service directory at
|
||||
<http://www.fsf.org/resources/service/> for a list of people who offer it.
|
||||
|
||||
Please do not send anything but bug reports to this mailing list.
|
||||
For more information about Emacs mailing lists, see the
|
||||
|
|
|
@ -1,3 +1,12 @@
|
|||
2014-01-10 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* cl.texi (Function Bindings): Fix incorrect description of cl-let.
|
||||
|
||||
2014-01-09 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
|
||||
|
||||
* Makefile.in: Add eww.texi.
|
||||
* eww.texi: New file.
|
||||
|
||||
2014-01-07 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* efaq.texi (Problems with very large files): Fix superscript typo.
|
||||
|
@ -13,8 +22,8 @@
|
|||
(Advanced configuration)
|
||||
(Header arguments in Org mode properties): Spelling fixes.
|
||||
(Special blocks): Add #+BEGIN_ABSTRACT as another example.
|
||||
(@LaTeX{} specific attributes): New index entries. Use
|
||||
#+BEGIN_ABSTRACT in the example.
|
||||
(@LaTeX{} specific attributes): New index entries.
|
||||
Use #+BEGIN_ABSTRACT in the example.
|
||||
|
||||
2013-01-07 Nicolas Goaziou <n.goaziou@gmail.com>
|
||||
|
||||
|
@ -75,7 +84,7 @@
|
|||
|
||||
2014-01-02 Aidan Gauland <aidalgol@amuri.net>
|
||||
|
||||
* eshell.texi (Command Basics): Removed `Command basics' chapter.
|
||||
* eshell.texi (Command Basics): Remove `Command basics' chapter.
|
||||
|
||||
2014-01-02 Aidan Gauland <aidalgol@amuri.net>
|
||||
|
||||
|
@ -195,8 +204,8 @@
|
|||
* org.texi (Orgstruct mode): Fix suggested setting of
|
||||
`orgstruct-heading-prefix-regexp'.
|
||||
|
||||
* org.texi (Export settings): Document
|
||||
`org-export-allow-bind-keywords'.
|
||||
* org.texi (Export settings):
|
||||
Document `org-export-allow-bind-keywords'.
|
||||
|
||||
* org.texi (History and Acknowledgments): Small rephrasing.
|
||||
|
||||
|
@ -204,8 +213,8 @@
|
|||
in a year datetree.
|
||||
|
||||
* org.texi (Beamer export, @LaTeX{} and PDF export)
|
||||
(Header and sectioning, @LaTeX{} specific attributes): Enhance
|
||||
style.
|
||||
(Header and sectioning, @LaTeX{} specific attributes):
|
||||
Enhance style.
|
||||
|
||||
* org.texi (Agenda commands): Add a footnote about dragging agenda
|
||||
lines: it does not persist and it does not change the .org files.
|
||||
|
@ -224,15 +233,15 @@
|
|||
|
||||
* org.texi (Other built-in back-ends): New section.
|
||||
|
||||
* org.texi (Editing source code): Document
|
||||
`org-edit-src-auto-save-idle-delay' and
|
||||
* org.texi (Editing source code):
|
||||
Document `org-edit-src-auto-save-idle-delay' and
|
||||
`org-edit-src-turn-on-auto-save'.
|
||||
|
||||
* org.texi (External links): Document contributed link types
|
||||
separately.
|
||||
|
||||
* org.texi (Closing items): Document
|
||||
`org-closed-keep-when-no-todo'.
|
||||
* org.texi (Closing items):
|
||||
Document `org-closed-keep-when-no-todo'.
|
||||
|
||||
* org.texi (Export back-ends): Rename from "Export formats".
|
||||
(The Export Dispatcher): Remove reference to
|
||||
|
@ -268,8 +277,8 @@
|
|||
(Agenda commands): Move details about filtering commands to
|
||||
the new section, only include a summary here.
|
||||
(Customizing tables in ODT export)
|
||||
(System-wide header arguments, Conflicts, Dynamic blocks): Use
|
||||
spaces for indentation.
|
||||
(System-wide header arguments, Conflicts, Dynamic blocks):
|
||||
Use spaces for indentation.
|
||||
|
||||
* org.texi (Emphasis and monospace): Mention `org-emphasis-alist'.
|
||||
|
||||
|
@ -326,8 +335,8 @@
|
|||
(In-buffer settings): Update to reflect changes from the new
|
||||
export engine.
|
||||
|
||||
* org.texi (Matching tags and properties): More examples. Explain
|
||||
group tags expansion as regular expressions.
|
||||
* org.texi (Matching tags and properties): More examples.
|
||||
Explain group tags expansion as regular expressions.
|
||||
|
||||
* org.texi (Tag groups): New section.
|
||||
|
||||
|
@ -352,8 +361,8 @@
|
|||
|
||||
* org.texi (Org syntax): New section.
|
||||
|
||||
* org.texi (Orgstruct mode): Document
|
||||
`orgstruct-heading-prefix-regexp'.
|
||||
* org.texi (Orgstruct mode):
|
||||
Document `orgstruct-heading-prefix-regexp'.
|
||||
|
||||
* org.texi (Speeding up your agendas): New section.
|
||||
|
||||
|
@ -377,8 +386,8 @@
|
|||
* org.texi: Update the list contributions.
|
||||
|
||||
* org.texi (Agenda commands): Exporting the agenda to an .org file
|
||||
will not copy the subtrees and the inherited tags. Document
|
||||
`org-agenda-filter-by-regexp'.
|
||||
will not copy the subtrees and the inherited tags.
|
||||
Document `org-agenda-filter-by-regexp'.
|
||||
|
||||
* org.texi (Publishing action, Complex example): Fix names of
|
||||
publishing functions.
|
||||
|
@ -392,8 +401,8 @@
|
|||
* org.texi (Capture): Mention that org-remember.el is not
|
||||
supported anymore.
|
||||
|
||||
* org.texi (Top, Exporting, Beamer class export): Delete
|
||||
references to the TaskJuggler export.
|
||||
* org.texi (Top, Exporting, Beamer class export):
|
||||
Delete references to the TaskJuggler export.
|
||||
(History and Acknowledgments): Mention that the TaskJuggler has
|
||||
been rewritten by Nicolas and now lives in the contrib/ directory
|
||||
of Org's distribution. Mention that Jambunathan rewrote the HTML
|
||||
|
@ -410,16 +419,16 @@
|
|||
(@LaTeX{} and PDF export, Header and sectioning)
|
||||
(Publishing options): Fix LaTeX options names.
|
||||
|
||||
* org.texi (Export options, CSS support, In-buffer settings): Fix
|
||||
references to HTML_LINK_* and HTML_STYLE keywords.
|
||||
* org.texi (Export options, CSS support, In-buffer settings):
|
||||
Fix references to HTML_LINK_* and HTML_STYLE keywords.
|
||||
|
||||
* org.texi (Export options, In-buffer settings): Fix references to
|
||||
#+SELECT_TAGS and #+EXCLUDE_TAGS and remove reference to #+XSLT.
|
||||
|
||||
* org.texi (Top, Markup, Initial text, Images and tables)
|
||||
(@LaTeX{} fragments, @LaTeX{} fragments, Exporting)
|
||||
(Export options, JavaScript support, Beamer class export): Remove
|
||||
references to the DocBook export, which has been deleted.
|
||||
(Export options, JavaScript support, Beamer class export):
|
||||
Remove references to the DocBook export, which has been deleted.
|
||||
(History and Acknowledgments): Mention that DocBook has been
|
||||
deleted, suggest to use the Texinfo exporter instead, then to
|
||||
convert the .texi to DocBook with makeinfo.
|
||||
|
@ -428,8 +437,8 @@
|
|||
* org.texi (Deadlines and scheduling): Add a variable to the
|
||||
index. Add documentation about delays for scheduled tasks.
|
||||
|
||||
* org.texi (Emphasis and monospace): Mention
|
||||
`org-fontify-emphasized-text' and
|
||||
* org.texi (Emphasis and monospace):
|
||||
Mention `org-fontify-emphasized-text' and
|
||||
`org-emphasis-regexp-components'.
|
||||
|
||||
* org.texi (References): Small enhancement.
|
||||
|
@ -486,7 +495,7 @@
|
|||
|
||||
* org.texi (Extracting source code): Mention the prefix argument
|
||||
to org-babel-tangle.
|
||||
(noweb): Removed erroneous negative.
|
||||
(noweb): Remove erroneous negative.
|
||||
(Specific header arguments): Document new header arguments.
|
||||
Documentation for new tangle-mode header argument.
|
||||
(Top): Documentation for new tangle-mode header argument.
|
||||
|
@ -590,8 +599,8 @@
|
|||
* org.texi (Header and sectioning): Add a footnote about the
|
||||
different between LATEX_HEADER_EXTRA and LATEX_HEADER.
|
||||
|
||||
* org.texi (The Export Dispatcher): Document
|
||||
`org-export-in-background'.
|
||||
* org.texi (The Export Dispatcher):
|
||||
Document `org-export-in-background'.
|
||||
|
||||
* org.texi (Footnotes): Export back-ends do not use
|
||||
`org-footnote-normalize' anymore.
|
||||
|
@ -613,19 +622,19 @@
|
|||
* org.texi (Include files): Remove reference to :prefix1
|
||||
and :prefix. Give more details for :minlevel.
|
||||
|
||||
* org.texi (Macro replacement): Fix macro name. Update
|
||||
documentation about possible locations and escaping mechanism.
|
||||
* org.texi (Macro replacement): Fix macro name.
|
||||
Update documentation about possible locations and escaping mechanism.
|
||||
|
||||
* org.texi (Table of contents): Update documentation. Document
|
||||
lists of listings and lists of tables. Add documentation for
|
||||
* org.texi (Table of contents): Update documentation.
|
||||
Document lists of listings and lists of tables. Add documentation for
|
||||
optional title and #+TOC: keyword.
|
||||
|
||||
2013-11-12 Rick Frankel <rick@rickster.com>
|
||||
|
||||
* org.texi (results): Add Format section, broken out of Type
|
||||
section to match code.
|
||||
(hlines, colnames): Remove incorrect Emacs Lisp exception. Note
|
||||
that the actual default handling (at least for python and
|
||||
(hlines, colnames): Remove incorrect Emacs Lisp exception.
|
||||
Note that the actual default handling (at least for python and
|
||||
emacs-lisp) does not seem to match the description.
|
||||
|
||||
2013-11-12 Sacha Chua <sacha@sachachua.com> (tiny change)
|
||||
|
@ -635,8 +644,8 @@
|
|||
|
||||
2013-11-12 Yasushi Shoji <yashi@atmark-techno.com>
|
||||
|
||||
* org.texi (Resolving idle time): Document
|
||||
`org-clock-x11idle-program-name'.
|
||||
* org.texi (Resolving idle time):
|
||||
Document `org-clock-x11idle-program-name'.
|
||||
|
||||
2013-10-24 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
|
@ -655,7 +664,7 @@
|
|||
|
||||
2013-10-17 Jay Belanger <jay.p.belanger@gmail.com>
|
||||
|
||||
* calc.el (Data Type Formats): Don't specify the size at
|
||||
* calc.texi (Data Type Formats): Don't specify the size at
|
||||
which integers begin to be represented by lists.
|
||||
|
||||
2013-10-14 Xue Fuqiao <xfq.free@gmail.com>
|
||||
|
@ -877,8 +886,8 @@
|
|||
|
||||
2013-07-29 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
* tramp.texi (Frequently Asked Questions): Mention
|
||||
`tramp-use-ssh-controlmaster-options'.
|
||||
* tramp.texi (Frequently Asked Questions):
|
||||
Mention `tramp-use-ssh-controlmaster-options'.
|
||||
|
||||
2013-07-26 Tassilo Horn <tsdh@gnu.org>
|
||||
|
||||
|
@ -922,8 +931,8 @@
|
|||
2013-07-08 Tassilo Horn <tsdh@gnu.org>
|
||||
|
||||
* gnus.texi (lines): Correct description of
|
||||
`gnus-registry-track-extra's default value. Mention
|
||||
`gnus-registry-remove-extra-data'.
|
||||
`gnus-registry-track-extra's default value.
|
||||
Mention `gnus-registry-remove-extra-data'.
|
||||
|
||||
2013-07-06 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
|
@ -6284,6 +6293,12 @@
|
|||
|
||||
* org.texi: Massive changes, in many parts of the file.
|
||||
|
||||
2008-04-27 Jason Riedy <jason@acm.org>
|
||||
|
||||
* org.texi (A LaTeX example): Note that fmt may be a
|
||||
one-argument function, and efmt may be a two-argument function.
|
||||
(Radio tables): Document multiple destinations.
|
||||
|
||||
2008-04-13 Reiner Steib <Reiner.Steib@gmx.de>
|
||||
|
||||
* gnus.texi (Oort Gnus): Add message-fill-column.
|
||||
|
@ -6516,6 +6531,10 @@
|
|||
|
||||
* tramp.texi (Remote processes): Add `shell-command'.
|
||||
|
||||
2008-02-02 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
* tramp.texi: Use new FSF's Back-Cover Text.
|
||||
|
||||
2008-01-28 Michael Sperber <sperber@deinprogramm.de>
|
||||
|
||||
* gnus.texi (Mail Source Specifiers): Document `group' specifier.
|
||||
|
@ -6616,7 +6635,7 @@
|
|||
|
||||
2007-12-29 Jay Belanger <jay.p.belanger@gmail.com>
|
||||
|
||||
* calc.tex (Yacas Language, Maxima Language, Giac Language):
|
||||
* calc.texi (Yacas Language, Maxima Language, Giac Language):
|
||||
New sections.
|
||||
|
||||
2007-12-29 Reiner Steib <Reiner.Steib@gmx.de>
|
||||
|
@ -6634,6 +6653,10 @@
|
|||
|
||||
* trampver.texi: Update release number.
|
||||
|
||||
2007-12-22 Richard Stallman <rms@gnu.org>
|
||||
|
||||
* cc-mode.texi (Getting Started): Change @ref to @pxref.
|
||||
|
||||
2007-12-22 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
* dbus.texi (Type Conversion): Correct input parameters mapping.
|
||||
|
@ -7895,11 +7918,6 @@
|
|||
* gnus.texi (Batching Agents): Fix example. Reported by Tassilo Horn
|
||||
<tassilo@member.fsf.org>.
|
||||
|
||||
2007-01-27 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* msdog.texi (ls in Lisp): Document ls-lisp-format-time-list and
|
||||
ls-lisp-use-localized-time-format.
|
||||
|
||||
2007-01-20 Markus Triska <markus.triska@gmx.at>
|
||||
|
||||
* flymake.texi (Flymake mode): find-file-hook instead of ...-hooks.
|
||||
|
@ -8195,7 +8213,6 @@
|
|||
* faq.texi (Escape sequences in shell output): EMACS is now set
|
||||
to Emacs's absolute file name, not to "t".
|
||||
(^M in the shell buffer): Likewise.
|
||||
* misc.texi (Interactive Shell): Likewise.
|
||||
|
||||
2006-09-11 Reiner Steib <Reiner.Steib@gmx.de>
|
||||
|
||||
|
@ -8213,6 +8230,10 @@
|
|||
|
||||
* smtpmail.texi (Authentication): Mention SSL.
|
||||
|
||||
2006-09-03 Diane Murray <disumu@x3y2z1.net>
|
||||
|
||||
* erc.texi (Getting Started, Connecting): Change erc-select to erc.
|
||||
|
||||
2006-09-01 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* rcirc.texi (Internet Relay Chat, Useful IRC commands):
|
||||
|
|
|
@ -65,7 +65,7 @@ DOCMISC_W32 = @DOCMISC_W32@
|
|||
## Info files to build and install on all platforms.
|
||||
INFO_COMMON = ada-mode auth autotype bovine calc ccmode cl \
|
||||
dbus dired-x ebrowse ede ediff edt eieio \
|
||||
emacs-mime epa erc ert eshell eudc efaq \
|
||||
emacs-mime epa erc ert eshell eudc efaq eww \
|
||||
flymake forms gnus emacs-gnutls htmlfontify idlwave ido info.info \
|
||||
mairix-el message mh-e newsticker nxml-mode octave-mode \
|
||||
org pcl-cvs pgg rcirc remember reftex sasl \
|
||||
|
@ -410,6 +410,18 @@ eudc.pdf: $(eudc_deps)
|
|||
eudc.html: $(eudc_deps)
|
||||
$(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/eudc.texi
|
||||
|
||||
eww_deps = ${srcdir}/eww.texi $(emacsdir)/emacsver.texi ${gfdl}
|
||||
eww : $(buildinfodir)/eww$(INFO_EXT)
|
||||
$(buildinfodir)/eww$(INFO_EXT): $(eww_deps)
|
||||
$(mkinfodir)
|
||||
$(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/eww.texi
|
||||
eww.dvi: $(eww_deps)
|
||||
$(ENVADD) $(TEXI2DVI) ${srcdir}/eww.texi
|
||||
eww.pdf: $(eww_deps)
|
||||
$(ENVADD) $(TEXI2PDF) ${srcdir}/eww.texi
|
||||
eww.html: $(eww_deps)
|
||||
$(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/eww.texi
|
||||
|
||||
flymake_deps = ${srcdir}/flymake.texi ${gfdl}
|
||||
flymake : $(buildinfodir)/flymake$(INFO_EXT)
|
||||
$(buildinfodir)/flymake$(INFO_EXT): $(flymake_deps)
|
||||
|
|
|
@ -302,7 +302,7 @@ of the same name as the command and can thus be overridden from your
|
|||
Various characters usually appear in pairs. When, for example, you insert
|
||||
an open parenthesis, no matter whether you are programming or writing prose,
|
||||
you will surely enter a closing one later. By entering both at the same time
|
||||
and leaving the cursor inbetween, Emacs can guarantee you that such
|
||||
and leaving the cursor in between, Emacs can guarantee you that such
|
||||
parentheses are always balanced. And if you have a non-qwerty keyboard, where
|
||||
typing some of the stranger programming language symbols makes you bend your
|
||||
fingers backwards, this can be quite relieving too.
|
||||
|
|
|
@ -28053,8 +28053,8 @@ radiation related to the cesium-133 atom. The only SI unit that is not
|
|||
based on a fundamental physical process (although there are efforts to
|
||||
change this) is the kilogram, which was originally defined as the mass
|
||||
of one liter of water, but is now defined as the mass of the
|
||||
International Prototype Kilogram (IPK), a cylinder of platinum-iridium
|
||||
kept at the Bureau International des Poids et Mesures in S@`evres,
|
||||
international prototype of the kilogram (IPK), a cylinder of platinum-iridium
|
||||
kept at the Bureau international des poids et mesures in S@`evres,
|
||||
France. (There are several copies of the IPK throughout the world.)
|
||||
The British imperial units, once defined in terms of physical objects,
|
||||
were redefined in 1963 in terms of SI units. The US customary units,
|
||||
|
|
|
@ -1282,13 +1282,8 @@ cells of symbols rather than on the value cells. Each @var{binding}
|
|||
must be a list of the form @samp{(@var{name} @var{arglist}
|
||||
@var{forms}@dots{})}, which defines a function exactly as if
|
||||
it were a @code{cl-defun} form. The function @var{name} is defined
|
||||
accordingly for the duration of the body of the @code{cl-flet}; then
|
||||
the old function definition, or lack thereof, is restored.
|
||||
|
||||
You can use @code{cl-flet} to disable or modify the behavior of
|
||||
functions (including Emacs primitives) in a temporary, localized fashion.
|
||||
(Compare this with the idea of advising functions.
|
||||
@xref{Advising Functions,,,elisp,GNU Emacs Lisp Reference Manual}.)
|
||||
accordingly but only within the body of the @code{cl-flet}, hiding any external
|
||||
definition if applicable.
|
||||
|
||||
The bindings are lexical in scope. This means that all references to
|
||||
the named functions must appear physically within the body of the
|
||||
|
|
254
doc/misc/eww.texi
Normal file
254
doc/misc/eww.texi
Normal file
|
@ -0,0 +1,254 @@
|
|||
\input texinfo @c -*-texinfo-*-
|
||||
@c %**start of header
|
||||
@setfilename ../../info/eww
|
||||
@settitle Emacs Web Wowser
|
||||
@documentencoding UTF-8
|
||||
@c @include emacsver.texi
|
||||
@c %**end of header
|
||||
|
||||
@copying
|
||||
This file documents the GNU Emacs Web Wowser (EWW) package.
|
||||
|
||||
Copyright @copyright{} 2014 Free Software Foundation, Inc.
|
||||
|
||||
@quotation
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.3 or
|
||||
any later version published by the Free Software Foundation; with no
|
||||
Invariant Sections, with the Front-Cover texts being ``A GNU Manual,''
|
||||
and with the Back-Cover Texts as in (a) below. A copy of the license
|
||||
is included in the section entitled ``GNU Free Documentation License.''
|
||||
|
||||
(a) The FSF's Back-Cover Text is: ``You have the freedom to copy and
|
||||
modify this GNU manual.''
|
||||
@end quotation
|
||||
@end copying
|
||||
|
||||
@dircategory Emacs misc features
|
||||
@direntry
|
||||
* EWW: (eww). Emacs Web Wowser
|
||||
@end direntry
|
||||
|
||||
@finalout
|
||||
|
||||
@titlepage
|
||||
@title Emacs Web Wowser (EWW)
|
||||
@subtitle A web browser for GNU Emacs.
|
||||
|
||||
@page
|
||||
@vskip 0pt plus 1filll
|
||||
@insertcopying
|
||||
@end titlepage
|
||||
|
||||
@contents
|
||||
|
||||
@ifnottex
|
||||
@node Top
|
||||
@top EWW
|
||||
|
||||
@insertcopying
|
||||
@end ifnottex
|
||||
|
||||
@menu
|
||||
* Overview::
|
||||
* Basics::
|
||||
* Advanced::
|
||||
|
||||
Appendices
|
||||
* History and Acknowledgments::
|
||||
* GNU Free Documentation License:: The license for this documentation.
|
||||
|
||||
Indices
|
||||
* Key Index::
|
||||
* Variable Index::
|
||||
* Lisp Function Index::
|
||||
* Concept Index::
|
||||
@end menu
|
||||
|
||||
@node Overview
|
||||
@chapter Overview
|
||||
@dfn{EWW}, the Emacs Web Wowser, is a web browser for GNU Emacs. It
|
||||
can load, parse, and display various web pages using @dfn{shr.el}.
|
||||
However a GNU Emacs with @code{libxml2} support is required.
|
||||
|
||||
@node Basics
|
||||
@chapter Basic Usage
|
||||
|
||||
@findex eww
|
||||
@findex eww-open-file
|
||||
@vindex eww-search-prefix
|
||||
@cindex eww
|
||||
@cindex Web Browsing
|
||||
You can open a URL or search the web with the command @kbd{M-x eww}.
|
||||
If the input doesn't look like a URL or domain name the web will be
|
||||
searched via @code{eww-search-prefix}. The default search engine is
|
||||
@url{https://duckduckgo.com, DuckDuckGo}. If you want to open a file
|
||||
either prefix the path with @code{file://} or use the command @kbd{M-x
|
||||
eww-open-file}.
|
||||
|
||||
@findex eww-quit
|
||||
@findex eww-reload
|
||||
@findex eww-copy-page-url
|
||||
@kindex q
|
||||
@kindex w
|
||||
@kindex g
|
||||
If loading the URL was successful the buffer @code{*eww*} is opened
|
||||
and the web page is rendered in it. You can leave EWW by pressing
|
||||
@kbd{q} or exit the browser by calling @kbd{eww-quit}. To reload the
|
||||
web page hit @kbd{g} (@code{eww-reload}). Pressing @kbd{w}
|
||||
(@code{eww-copy-page-url}) will copy the current URL to the kill ring.
|
||||
|
||||
@findex eww-download
|
||||
@vindex eww-download-path
|
||||
@kindex d
|
||||
@cindex Download
|
||||
A URL under the point can be downloaded with @kbd{d}
|
||||
(@code{eww-download}). The file will be written to the directory
|
||||
specified in @code{eww-download-path} (Default: @file{~/Downloads/}).
|
||||
|
||||
@findex eww-back-url
|
||||
@findex eww-forward-url
|
||||
@findex eww-list-histories
|
||||
@kindex r
|
||||
@kindex l
|
||||
@kindex H
|
||||
@cindex History
|
||||
EWW remembers the URLs you have visited to allow you to go back and
|
||||
forth between them. By pressing @kbd{l} (@code{eww-back-url}) you go
|
||||
to the previous URL. You can go forward again with @kbd{r}
|
||||
(@code{eww-forward-url}). If you want an overview of your browsing
|
||||
history press @kbd{H} (@code{eww-list-histories}) to open the history
|
||||
buffer @code{*eww history*}. The history is lost when EWW is quit.
|
||||
If you want to remember websites you can use bookmarks.
|
||||
|
||||
@findex eww-add-bookmark
|
||||
@findex eww-list-bookmarks
|
||||
@kindex b
|
||||
@kindex B
|
||||
@cindex Bookmarks
|
||||
EWW allows you to @dfn{bookmark} URLs. Simply hit @kbd{b}
|
||||
(@code{eww-add-bookmark}) to store a bookmark for the current website.
|
||||
You can view stored bookmarks with @kbd{B}
|
||||
(@code{eww-list-bookmarks}). This will open the bookmark buffer
|
||||
@code{*eww bookmarks*}.
|
||||
|
||||
@findex eww-browse-with-external-browser
|
||||
@vindex shr-external-browser
|
||||
@vindex eww-use-external-browser-for-content-type
|
||||
@kindex &
|
||||
@cindex External Browser
|
||||
Although EWW and shr.el do their best to render webpages in GNU
|
||||
Emacs some websites use features which can not be properly represented
|
||||
or are not implemented (E.g., JavaScript). If you have trouble
|
||||
viewing a website with EWW then hit @kbd{&}
|
||||
(@code{eww-browse-with-external-browser}) inside the EWW buffer to
|
||||
open the website in the external browser specified by
|
||||
@code{shr-external-browser}. Some content types, such as video or
|
||||
audio content, do not make sense to display in GNU Emacs at all. You
|
||||
can tell EWW to open specific content automatically in an external
|
||||
browser by customizing
|
||||
@code{eww-use-external-browser-for-content-type}.
|
||||
|
||||
@node Advanced
|
||||
@chapter Advanced
|
||||
|
||||
@findex eww-view-source
|
||||
@kindex v
|
||||
@cindex Viewing Source
|
||||
You can view the source of a website with @kbd{v}
|
||||
(@code{eww-view-source}). This will open a new buffer
|
||||
@code{*eww-source*} and insert the source. The buffer will be set to
|
||||
@code{html-mode} if available.
|
||||
|
||||
@findex url-cookie-list
|
||||
@kindex C
|
||||
@cindex Cookies
|
||||
EWW handles cookies through the @ref{Top, url package, ,url}.
|
||||
You can list existing cookies with @kbd{C} (@code{url-cookie-list}).
|
||||
For details about the Cookie handling @xref{Cookies,,,url}.
|
||||
|
||||
@vindex eww-header-line-format
|
||||
@cindex Header
|
||||
The header line of the EWW buffer can be changed by customizing
|
||||
@code{eww-header-line-format}. The format replaces @code{%t} with the
|
||||
title of the website and @code{%u} with the URL.
|
||||
|
||||
@c @vindex shr-bullet
|
||||
@c @vindex shr-hr-line
|
||||
@c @vindex eww-form-checkbox-selected-symbol
|
||||
@c @vindex eww-form-checkbox-symbol
|
||||
@c EWW and the rendering engine shr.el use ASCII characters to
|
||||
@c represent some graphical elements, such as bullet points
|
||||
@c (@code{shr-bullet}), check boxes
|
||||
@c (@code{eww-form-checkbox-selected-symbol} and
|
||||
@c @code{eww-form-checkbox-symbol}), and horizontal rules
|
||||
@c @code{shr-hr-line}). Depending on your fonts these characters can be
|
||||
@c replaced by Unicode glyphs to achieve better looking results.
|
||||
|
||||
@vindex shr-max-image-proportion
|
||||
@vindex shr-blocked-images
|
||||
@cindex Image Display
|
||||
Loading random images from the web can be problematic due to their
|
||||
size or content. By customizing @code{shr-max-image-proportion} you
|
||||
can set the maximal image proportion in relation to the window they
|
||||
are displayed in. E.g., 0.7 means an image is allowed to take up 70%
|
||||
of the width and height. If Emacs supports image scaling (ImageMagick
|
||||
support required) then larger images are scaled down. You can block
|
||||
specific images completely by customizing @code{shr-blocked-images}.
|
||||
|
||||
@node History and Acknowledgments
|
||||
@appendix History and Acknowledgments
|
||||
|
||||
EWW was originally written by Lars Ingebrigtsen, known for his work on
|
||||
Gnus. He started writing an Emacs HTML rendering library,
|
||||
@code{shr.el}, to read blogs in Gnus. He eventually added a web
|
||||
browser front end and HTML form support. Which resulted in EWW, the
|
||||
Emacs Web Wowser. EWW was announced on 16 June 2013:
|
||||
@url{http://lars.ingebrigtsen.no/2013/06/16/eww/}.
|
||||
|
||||
EWW was then moved from the Gnus repository to GNU Emacs and several
|
||||
developers started contributing to it as well. A list of contributors
|
||||
at the time of writing this manual:
|
||||
|
||||
@itemize @bullet
|
||||
@item Daniel Hackney
|
||||
@item Eli Zaretskii
|
||||
@item Glenn Morris
|
||||
@item Ivan Kanis
|
||||
@item Juri Linkov
|
||||
@item Katsumi Yamaoka
|
||||
@item Kenjiro NAKAYAMA
|
||||
@item Lars Magne Ingebrigtsen
|
||||
@item Leo Liu
|
||||
@item Paul Eggert
|
||||
@item Rüdiger Sonderfeld
|
||||
@item Stefan Monnier
|
||||
@item Ted Zlatanov
|
||||
@end itemize
|
||||
|
||||
@node GNU Free Documentation License
|
||||
@chapter GNU Free Documentation License
|
||||
@include doclicense.texi
|
||||
|
||||
@node Key Index
|
||||
@unnumbered Key Index
|
||||
|
||||
@printindex ky
|
||||
|
||||
@node Variable Index
|
||||
@unnumbered Variable Index
|
||||
|
||||
@printindex vr
|
||||
|
||||
@node Lisp Function Index
|
||||
@unnumbered Function Index
|
||||
|
||||
@printindex fn
|
||||
|
||||
@node Concept Index
|
||||
@unnumbered Concept Index
|
||||
|
||||
@printindex cp
|
||||
|
||||
|
||||
@bye
|
|
@ -10229,8 +10229,8 @@ summary buffer, point will just move to this article.
|
|||
If given a positive numerical prefix, fetch that many articles back into
|
||||
the ancestry. If given a negative numerical prefix, fetch just that
|
||||
ancestor. So if you say @kbd{3 ^}, Gnus will fetch the parent, the
|
||||
grandparent and the grandgrandparent of the current article. If you say
|
||||
@kbd{-3 ^}, Gnus will only fetch the grandgrandparent of the current
|
||||
grandparent and the great-grandparent of the current article. If you say
|
||||
@kbd{-3 ^}, Gnus will only fetch the great-grandparent of the current
|
||||
article.
|
||||
|
||||
@item A R (Summary)
|
||||
|
|
|
@ -591,7 +591,7 @@ slightly from the margin and use only 3 spaces as indentation between
|
|||
|
||||
Restart Emacs, and re-indent the program we developed in the first part
|
||||
of this tutorial with @kbd{C-c h} and @kbd{C-M-\}. You may want to keep
|
||||
these lines in @file{.emacs}, with values adjusted to your likings. If
|
||||
these lines in @file{.emacs}, with values adjusted to your liking. If
|
||||
you want to get more information about any of these variables, type,
|
||||
e.g., @kbd{C-h v idlwave-main-block-indent @key{RET}}. To find which
|
||||
variables can be customized, look for items marked @samp{User Option:}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
% Load plain if necessary, i.e., if running under initex.
|
||||
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
|
||||
%
|
||||
\def\texinfoversion{2013-09-11.11}
|
||||
\def\texinfoversion{2014-01-06.16}
|
||||
%
|
||||
% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
|
||||
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
|
||||
|
@ -1138,10 +1138,12 @@
|
|||
|
||||
\ifpdf
|
||||
%
|
||||
% Color manipulation macros based on pdfcolor.tex,
|
||||
% Color manipulation macros using ideas from pdfcolor.tex,
|
||||
% except using rgb instead of cmyk; the latter is said to render as a
|
||||
% very dark gray on-screen and a very dark halftone in print, instead
|
||||
% of actual black.
|
||||
% of actual black. The dark red here is dark enough to print on paper as
|
||||
% nearly black, but still distinguishable for online viewing. We use
|
||||
% black by default, though.
|
||||
\def\rgbDarkRed{0.50 0.09 0.12}
|
||||
\def\rgbBlack{0 0 0}
|
||||
%
|
||||
|
@ -1251,10 +1253,9 @@
|
|||
% used to mark target names; must be expandable.
|
||||
\def\pdfmkpgn#1{#1}
|
||||
%
|
||||
% by default, use a color that is dark enough to print on paper as
|
||||
% nearly black, but still distinguishable for online viewing.
|
||||
\def\urlcolor{\rgbDarkRed}
|
||||
\def\linkcolor{\rgbDarkRed}
|
||||
% by default, use black for everything.
|
||||
\def\urlcolor{\rgbBlack}
|
||||
\def\linkcolor{\rgbBlack}
|
||||
\def\endlink{\setcolor{\maincolor}\pdfendlink}
|
||||
%
|
||||
% Adding outlines to PDF; macros for calculating structure of outlines
|
||||
|
@ -2574,37 +2575,21 @@
|
|||
\let\file=\code
|
||||
\let\option=\code
|
||||
|
||||
% @uref (abbreviation for `urlref') takes an optional (comma-separated)
|
||||
% second argument specifying the text to display and an optional third
|
||||
% arg as text to display instead of (rather than in addition to) the url
|
||||
% itself. First (mandatory) arg is the url.
|
||||
% (This \urefnobreak definition isn't used now, leaving it for a while
|
||||
% for comparison.)
|
||||
\def\urefnobreak#1{\dourefnobreak #1,,,\finish}
|
||||
\def\dourefnobreak#1,#2,#3,#4\finish{\begingroup
|
||||
\unsepspaces
|
||||
\pdfurl{#1}%
|
||||
\setbox0 = \hbox{\ignorespaces #3}%
|
||||
\ifdim\wd0 > 0pt
|
||||
\unhbox0 % third arg given, show only that
|
||||
\else
|
||||
\setbox0 = \hbox{\ignorespaces #2}%
|
||||
\ifdim\wd0 > 0pt
|
||||
\ifpdf
|
||||
\unhbox0 % PDF: 2nd arg given, show only it
|
||||
\else
|
||||
\unhbox0\ (\code{#1})% DVI: 2nd arg given, show both it and url
|
||||
\fi
|
||||
\else
|
||||
\code{#1}% only url given, so show it
|
||||
\fi
|
||||
\fi
|
||||
\endlink
|
||||
\endgroup}
|
||||
% @uref (abbreviation for `urlref') aka @url takes an optional
|
||||
% (comma-separated) second argument specifying the text to display and
|
||||
% an optional third arg as text to display instead of (rather than in
|
||||
% addition to) the url itself. First (mandatory) arg is the url.
|
||||
|
||||
% This \urefbreak definition is the active one.
|
||||
% TeX-only option to allow changing PDF output to show only the second
|
||||
% arg (if given), and not the url (which is then just the link target).
|
||||
\newif\ifurefurlonlylink
|
||||
|
||||
% The main macro is \urefbreak, which allows breaking at expected
|
||||
% places within the url. (There used to be another version, which
|
||||
% didn't support automatic breaking.)
|
||||
\def\urefbreak{\begingroup \urefcatcodes \dourefbreak}
|
||||
\let\uref=\urefbreak
|
||||
%
|
||||
\def\dourefbreak#1{\urefbreakfinish #1,,,\finish}
|
||||
\def\urefbreakfinish#1,#2,#3,#4\finish{% doesn't work in @example
|
||||
\unsepspaces
|
||||
|
@ -2613,12 +2598,19 @@
|
|||
\ifdim\wd0 > 0pt
|
||||
\unhbox0 % third arg given, show only that
|
||||
\else
|
||||
\setbox0 = \hbox{\ignorespaces #2}%
|
||||
\setbox0 = \hbox{\ignorespaces #2}% look for second arg
|
||||
\ifdim\wd0 > 0pt
|
||||
\ifpdf
|
||||
\unhbox0 % PDF: 2nd arg given, show only it
|
||||
\ifurefurlonlylink
|
||||
% PDF plus option to not display url, show just arg
|
||||
\unhbox0
|
||||
\else
|
||||
% PDF, normally display both arg and url for consistency,
|
||||
% visibility, if the pdf is eventually used to print, etc.
|
||||
\unhbox0\ (\urefcode{#1})%
|
||||
\fi
|
||||
\else
|
||||
\unhbox0\ (\urefcode{#1})% DVI: 2nd arg given, show both it and url
|
||||
\unhbox0\ (\urefcode{#1})% DVI, always show arg and url
|
||||
\fi
|
||||
\else
|
||||
\urefcode{#1}% only url given, so show it
|
||||
|
@ -3691,7 +3683,7 @@
|
|||
\parskip=\smallskipamount
|
||||
\ifdim\parskip=0pt \parskip=2pt \fi
|
||||
%
|
||||
% Try typesetting the item mark that if the document erroneously says
|
||||
% Try typesetting the item mark so that if the document erroneously says
|
||||
% something like @itemize @samp (intending @table), there's an error
|
||||
% right away at the @itemize. It's not the best error message in the
|
||||
% world, but it's better than leaving it to the @item. This means if
|
||||
|
@ -8342,8 +8334,8 @@
|
|||
%
|
||||
% Auto-number footnotes. Otherwise like plain.
|
||||
\gdef\footnote{%
|
||||
\let\indent=\ptexindent
|
||||
\let\noindent=\ptexnoindent
|
||||
%\let\indent=\ptexindent
|
||||
%\let\noindent=\ptexnoindent
|
||||
\global\advance\footnoteno by \@ne
|
||||
\edef\thisfootno{$^{\the\footnoteno}$}%
|
||||
%
|
||||
|
|
|
@ -1,7 +1,27 @@
|
|||
2014-01-10 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* ORDERS: Replace contents with pointer to emacs.info, mark obsolete.
|
||||
|
||||
* FTP: Mark as obsolete.
|
||||
|
||||
2014-01-09 David Engster <deng@randomsample.de>
|
||||
|
||||
* NEWS: Added new `describe-function' EIEIO support.
|
||||
|
||||
2014-01-09 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* SERVICE: Mark as obsolete.
|
||||
|
||||
* MORE.STUFF: Replace contents with pointer to efaq.info.
|
||||
|
||||
2014-01-09 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
|
||||
|
||||
* NEWS: Better document the speed up, slow down, or reverse
|
||||
animation in Image Mode.
|
||||
|
||||
2014-01-05 Tassilo Horn <tsdh@gnu.org>
|
||||
|
||||
* themes/tsdh-light-theme.el (tsdh-light): Define org-level-*
|
||||
faces.
|
||||
* themes/tsdh-light-theme.el (tsdh-light): Define org-level-* faces.
|
||||
|
||||
2013-12-29 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
|
@ -2567,7 +2587,7 @@
|
|||
* refcards/calccard.ps, refcards/cs-dired-ref.ps:
|
||||
* refcards/cs-refcard.ps, refcards/de-refcard.ps, refcards/dired-ref.ps:
|
||||
* refcards/fr-drdref.ps, refcards/fr-refcard.ps:
|
||||
* refcards/gnus-booklet.ps, refcards/gnus-logo.ps:
|
||||
* refcards/gnus-booklet.ps:
|
||||
* refcards/gnus-refcard.ps, refcards/orgcard.ps, refcards/pl-refcard.ps:
|
||||
* refcards/pt-br-refcard.ps, refcards/refcard.ps:
|
||||
* refcards/ru-refcard.ps, refcards/sk-dired-ref.ps:
|
||||
|
@ -3107,7 +3127,7 @@
|
|||
|
||||
2007-01-20 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* cd-dired-ref.tex (versionemacs): New def.
|
||||
* cs-dired-ref.tex (versionemacs): New def.
|
||||
* cs-refcard.tex (versionemacs, versionyear): New defs.
|
||||
* cs-survival.tex (versionemacs, versiondate): New defs.
|
||||
* de-refcard.tex (versionemacs, versionyear): New defs.
|
||||
|
@ -3286,10 +3306,6 @@
|
|||
* PROBLEMS (are): Emacs compiled with Gtk+ crashes when closing a
|
||||
display (x-close-connection).
|
||||
|
||||
2006-09-03 Diane Murray <disumu@x3y2z1.net>
|
||||
|
||||
* erc.texi (Getting Started, Connecting): Change erc-select to erc.
|
||||
|
||||
2006-09-02 Juri Linkov <juri@jurta.org>
|
||||
|
||||
* HELLO: Regroup Europe Non-ASCII examples by similar scripts.
|
||||
|
|
11
etc/FTP
11
etc/FTP
|
@ -1,6 +1,9 @@
|
|||
For information about how to obtain GNU Emacs and other GNU software
|
||||
by FTP, please see <http://www.gnu.org/order/ftp.html>.
|
||||
For information about how to download GNU Emacs, please see:
|
||||
<http://www.gnu.org/software/emacs/>
|
||||
|
||||
Information about Emacs is also available at
|
||||
<http://www.gnu.org/software/emacs/>.
|
||||
For general GNU software downloading, please see
|
||||
<http://www.gnu.org/order/ftp.html>
|
||||
|
||||
Note added January 2014:
|
||||
This file is obsolete and will be removed in future.
|
||||
Please update any links to use the above URLs.
|
||||
|
|
|
@ -19,24 +19,6 @@ gnu.emacs.help; gnu-emacs-sources, to gnu.emacs.sources. Replacing
|
|||
`emacs' with some other program in those four examples shows you
|
||||
the whole pattern.
|
||||
|
||||
If you don't know if your site is on USENET, ask your system
|
||||
administrator. If you are a USENET site and don't get the gnu.all
|
||||
newsgroups, please ask your USENET administrator to get them. If he has
|
||||
your feeds ask their feeds, you should win. And everyone else wins:
|
||||
newsgroups make better use of the limited bandwidth of the computer
|
||||
networks and your home machine than mailing list traffic; and staying
|
||||
off the mailing lists make better use of the people who maintain the
|
||||
lists and the machines that the GNU people working with rms use (i.e. we
|
||||
have more time to produce code!!). Thanx.
|
||||
|
||||
* Getting the mailing lists directly
|
||||
|
||||
If several users at your site or local network want to read a list and
|
||||
you aren't a USENET site, Project GNU would prefer that you would set up
|
||||
one address that redistributes locally. This reduces overhead on our
|
||||
people and machines, your gateway machine, and the network(s) used to
|
||||
transport the mail from us to you.
|
||||
|
||||
* How to subscribe to and report bugs in mailing lists
|
||||
|
||||
Send requests to be added or removed, to help-gnu-emacs-request (or
|
||||
|
@ -48,8 +30,7 @@ If you need to report problems to a human, send mail to gnu@gnu.org
|
|||
explaining the problem.
|
||||
|
||||
Many of the GNU mailing lists are very large and are received by many
|
||||
people. Most are unmoderated, so please don't send them anything that
|
||||
is not seriously important to all their readers.
|
||||
people.
|
||||
|
||||
If a message you mail to a list is returned from a MAILER-DAEMON (often
|
||||
with the line:
|
||||
|
@ -72,25 +53,11 @@ activities in Cambridge and elsewhere can be directed to:
|
|||
|
||||
* General Information about all lists
|
||||
|
||||
Please keep each message under 25,000 characters. Some mailers bounce
|
||||
messages that are longer than this. If your message is long, it is
|
||||
generally better to send a message offering to make the large file
|
||||
available to only those people who want it (e.g. mailing it to people
|
||||
who ask, or putting it up for FTP). In the case of gnu.emacs.sources,
|
||||
somewhat larger postings (up to 10 parts of no more than 25,000
|
||||
characters each) are acceptable (assuming they are likely to be of
|
||||
interest to a reasonable number of people); if it is larger than that,
|
||||
put it in a web page and announce its URL. Good bug reports are short.
|
||||
Do not send very large files to mailing lists; instead put then on a web
|
||||
page and announce the URL. Good bug reports are short.
|
||||
See section '* General Information about bug-* lists and ...' for
|
||||
further details.
|
||||
|
||||
Most of the time, when you reply to a message sent to a list, the reply
|
||||
should not go to the list. But most mail reading programs supply, by
|
||||
default, all the recipients of the original as recipients of the reply.
|
||||
Make a point of deleting the list address from the header when it does
|
||||
not belong. This prevents bothering all readers of a list, and reduces
|
||||
network congestion.
|
||||
|
||||
The GNU mailing lists and newsgroups, like the GNU project itself, exist
|
||||
to promote the freedom to share software. So don't use these lists to
|
||||
promote or recommend non-free software or documentation, like
|
||||
|
@ -137,8 +104,8 @@ See section '* General Information about all lists'.
|
|||
|
||||
If you think something is a bug in a program, it might be one; or, it
|
||||
might be a misunderstanding or even a feature. Before beginning to
|
||||
report bugs, please read the section ``Reporting Emacs Bugs'' toward the
|
||||
end of the GNU Emacs reference manual (or node Emacs/Bugs in Emacs's
|
||||
report bugs, please read the section ``Reporting Bugs'' in
|
||||
the GNU Emacs reference manual (or node Bugs in Emacs's
|
||||
built-in Info system) for a discussion of how and when to send in bug
|
||||
reports. For GNU programs other than GNU Emacs, also consult their
|
||||
documentation for their bug reporting procedures. Always include the
|
||||
|
@ -168,7 +135,7 @@ overworked; they don't have time to help individuals and still fix the
|
|||
bugs and make the improvements that everyone wants. If you want help
|
||||
for yourself in particular, you may have to hire someone. The GNU
|
||||
project maintains a list of people providing such services. It is
|
||||
found in <URL:http://www.gnu.org/prep/SERVICE>.
|
||||
found at <URL:http://www.fsf.org/resources/service>.
|
||||
|
||||
Anything addressed to the implementers and maintainers of a GNU program
|
||||
via a bug-* list, should NOT be sent to the corresponding info-* or
|
||||
|
@ -234,48 +201,11 @@ unless they are made by someone you know is well connected with GNU and
|
|||
are sure the message is not forged.
|
||||
|
||||
USENET and gnUSENET readers are expected to have read ALL the articles
|
||||
in news.announce.newusers before posting. If news.announce.newusers is
|
||||
empty at your site, wait (the articles are posted monthly), your posting
|
||||
isn't that urgent! Readers on the Internet can anonymous FTP these
|
||||
articles from host ftp.uu.net under directory ??
|
||||
in news.announce.newusers before posting.
|
||||
|
||||
Remember, "GNUs Not Unix" and "gnUSENET is Not USENET". We have
|
||||
higher standards!
|
||||
|
||||
** guile-sources-request@gnu.org to subscribe to guile-sources
|
||||
|
||||
gnUSENET newsgroup: NONE PLANNED
|
||||
Guile source code to: guile-sources@gnu.org
|
||||
|
||||
This list will be for the posting, by their authors, of GUILE, Scheme,
|
||||
and C sources and patches that improve Guile. Its contents will be
|
||||
reviewed by the FSF for inclusion in future releases of GUILE.
|
||||
|
||||
Please do NOT discuss or request source code here. Use bug-guile for
|
||||
those purposes. This allows the automatic archiving of sources posted
|
||||
to this list.
|
||||
|
||||
Please do NOT post such sources to any other GNU mailing list (e.g
|
||||
bug-guile) or gnUSENET newsgroups. It's up to each poster to decide
|
||||
whether to cross-post to any non-gnUSENET newsgroup.
|
||||
|
||||
Please do NOT announce that you have posted source code to guile.sources
|
||||
to any other GNU mailing list (e.g. bug-guile) or gnUSENET newsgroups.
|
||||
People who want to keep up with sources will read this list. It's up to
|
||||
each poster to decide whether to announce a guile.sources article in any
|
||||
non-gnUSENET newsgroup (e.g. comp.emacs or comp.sources.d).
|
||||
|
||||
If source or patches that were previously posted or a simple fix is
|
||||
requested in bug-guile, please mail it to the requester. Do NOT
|
||||
repost it. If you also want something that is requested, send mail to
|
||||
the requester asking him to forward it to you. This kind of traffic is
|
||||
best handled by e-mail, not by a broadcast medium that reaches millions
|
||||
of sites.
|
||||
|
||||
If the requested source is very long (>10k bytes) send mail offering to
|
||||
send it. This prevents the requester from getting many redundant copies
|
||||
and saves network bandwidth.
|
||||
|
||||
** gnu-emacs-sources-request@gnu.org to subscribe to gnu-emacs-sources
|
||||
|
||||
gnUSENET newsgroup: gnu.emacs.sources
|
||||
|
@ -293,14 +223,14 @@ automatic archiving of sources posted to this list/newsgroup.
|
|||
Please do NOT post such sources to any other GNU mailing list (e.g
|
||||
help-gnu-emacs) or gnUSENET newsgroups (e.g. gnu.emacs.help). It's up
|
||||
to each poster to decide whether to cross-post to any non-gnUSENET
|
||||
newsgroup (e.g. comp.emacs or vmsnet.sources).
|
||||
newsgroup (e.g. comp.emacs).
|
||||
|
||||
Please do NOT announce that you have posted source code to
|
||||
gnu.emacs.sources to any other GNU mailing list (e.g. help-gnu-emacs) or
|
||||
gnUSENET newsgroups (e.g. gnu.emacs.help). People who want to keep up
|
||||
with sources will read this list/newsgroup. It's up to each poster to
|
||||
decide whether to announce a gnu.emacs.sources article in any
|
||||
non-gnUSENET newsgroup (e.g. comp.emacs or comp.sources.d).
|
||||
non-gnUSENET newsgroup (e.g. comp.emacs).
|
||||
|
||||
If source or patches that were previously posted or a simple fix is
|
||||
requested in help-gnu-emacs, please mail it to the requester. Do NOT
|
||||
|
@ -309,7 +239,7 @@ the requester asking him to forward it to you. This kind of traffic is
|
|||
best handled by e-mail, not by a broadcast medium that reaches millions
|
||||
of sites.
|
||||
|
||||
If the requested source is very long (>10k bytes) send mail offering to
|
||||
If the requested source is very long, send mail offering to
|
||||
send it. This prevents the requester from getting many redundant copies
|
||||
and saves network bandwidth.
|
||||
|
||||
|
|
207
etc/MORE.STUFF
207
etc/MORE.STUFF
|
@ -1,205 +1,8 @@
|
|||
More Neat Stuff for your Emacs
|
||||
|
||||
Copyright (C) 1993, 1999, 2001-2014 Free Software Foundation, Inc.
|
||||
See the end of the file for license conditions.
|
||||
|
||||
The easiest way to add more features to your Emacs is to use the command
|
||||
M-x list-packages. This contacts the server at <URL:http://elpa.gnu.org>,
|
||||
where many Emacs Lisp packages are stored. These are distributed
|
||||
separately from Emacs itself for reasons of space, etc. You can browse
|
||||
the resulting *Packages* buffer to see what is available, and then
|
||||
Emacs can automatically download and install the packages that you
|
||||
select. See the section "Emacs Lisp Packages" in the Emacs manual
|
||||
for more details.
|
||||
|
||||
Below we describe some GNU Emacs programs and resources that are
|
||||
maintained by other people. Some of these may become part of the
|
||||
Emacs distribution, or GNU ELPA, in the future. Others we unfortunately
|
||||
can't distribute, even though they are free software, because we lack
|
||||
legal papers for copyright purposes.
|
||||
|
||||
Also listed are sites where development versions of some packages
|
||||
distributed with Emacs may be found.
|
||||
|
||||
It is difficult to keep this file up-to-date, and it only lists a fraction
|
||||
of the Emacs modes that are available. If you are interested in
|
||||
a particular feature, then after checking Emacs itself and GNU ELPA,
|
||||
a web search is often the best way to find results.
|
||||
|
||||
* The gnu-emacs-sources mailing list
|
||||
<URL:https://lists.gnu.org/mailman/listinfo/gnu-emacs-sources>
|
||||
which is gatewayed to the gnu.emacs.sources newsgroup (although the
|
||||
connection between the two can be unreliable) is an official
|
||||
place where people can post or announce their extensions to Emacs.
|
||||
|
||||
* The `Emacs Lisp List' at
|
||||
<URL:http://www.damtp.cam.ac.uk/user/sje30/emacs/ell.html> has pointers
|
||||
to sources of a large number of packages. Unfortunately, at the time
|
||||
of writing it seems to no longer be updating.
|
||||
|
||||
* emacswiki.org
|
||||
The Emacs Wiki has an area for storing elisp files
|
||||
<URL:http://www.emacswiki.org/cgi-bin/wiki/ElispArea>.
|
||||
|
||||
* WikEmacs
|
||||
<URL:http://wikemacs.org> is an alternative wiki for Emacs.
|
||||
|
||||
* Emacs slides and tutorials can be found here:
|
||||
<URL:http://web.psung.name/emacs/>
|
||||
|
||||
* Maintenance versions of some packages distributed with Emacs
|
||||
|
||||
You might find bug-fixes or enhancements in these places.
|
||||
In many cases, however, development of these packages has shifted to Emacs,
|
||||
so you will find the latest version in Emacs.
|
||||
|
||||
* Ada-mode: <URL:http://stephe-leake.org/emacs/ada-mode/emacs-ada-mode.html>
|
||||
|
||||
* CC mode: <URL:http://cc-mode.sourceforge.net/>
|
||||
|
||||
* CEDET: <URL:http://cedet.sourceforge.net/>
|
||||
|
||||
* Gnus: <URL:http://www.gnus.org/>
|
||||
|
||||
* MH-E: <URL:http://mh-e.sourceforge.net/>
|
||||
|
||||
* nXML: <URL:http://www.thaiopensource.com/nxml-mode/>
|
||||
|
||||
* Org mode: <URL:http://orgmode.org/>
|
||||
|
||||
* Tramp: Remote file access via rsh/ssh
|
||||
<URL:http://savannah.gnu.org/projects/tramp/>
|
||||
|
||||
* GNU Zile: <URL:http://www.gnu.org/software/zile/>
|
||||
A lightweight Emacs clone, for when you don't have room for Emacs proper.
|
||||
|
||||
* Packages and add-ons not bundled with Emacs
|
||||
|
||||
Various major packages or useful additions aren't distributed as part of
|
||||
Emacs for various reasons, sometimes because their authors haven't made
|
||||
a copyright assignment to the FSF. Some of them may be integrated in
|
||||
the future.
|
||||
|
||||
Your operating system distribution may include several of these as optional
|
||||
packages that you can install.
|
||||
|
||||
* AUCTeX: <URL:http://www.gnu.org/software/auctex/>
|
||||
An extensible package that supports writing and formatting TeX
|
||||
files (including AMS-TeX, LaTeX, Texinfo, ConTeXt, and docTeX).
|
||||
Includes Preview LaTeX: embed preview LaTeX images in source buffer.
|
||||
Available from GNU ELPA.
|
||||
|
||||
* BBDB: personal Info Rolodex integrated with mail/news:
|
||||
<URL:http://savannah.nongnu.org/projects/bbdb>
|
||||
|
||||
* Boxquote: <URL:http://www.davep.org/emacs/>
|
||||
|
||||
* CJK-emacs: Converting MULE-encoded text to TeX:
|
||||
<URL:ftp://ctan.tug.org/tex-archive/language/chinese/CJK/> and
|
||||
mirrors of the `CTAN' TeX archives.
|
||||
|
||||
* Dismal: spreadsheet:
|
||||
<URL:http://ritter.ist.psu.edu/dismal/dismal.html>
|
||||
|
||||
* ECB: Emacs Code Browser: <URL:http://ecb.sourceforge.net/>
|
||||
|
||||
* EDB: database: <URL:http://www.gnuvola.org/software/edb/>
|
||||
|
||||
* Ee: categorizing information manager:
|
||||
<URL:http://www.jurta.org/en/emacs/ee/>
|
||||
|
||||
* EMacro: <URL:http://emacro.sourceforge.net/>
|
||||
EMacro is a portable configuration file that configures itself.
|
||||
|
||||
* Emacs Muse: <URL:http://mwolson.org/projects/EmacsMuse.html>
|
||||
An authoring and publishing environment for Emacs.
|
||||
Available from GNU ELPA.
|
||||
|
||||
* Emacs speaks statistics (ESS): statistical programming within Emacs
|
||||
<URL:http://ess.r-project.org>
|
||||
|
||||
* Emacspeak -- A Speech Output Subsystem For Emacs:
|
||||
<URL:http://emacspeak.sourceforge.net/>
|
||||
|
||||
* Emacs-w3m : <URL:http://emacs-w3m.namazu.org/>
|
||||
A simple Emacs interface to w3m, which is a text-mode WWW browser
|
||||
|
||||
* Emacs Wiki Mode: <URL:http://mwolson.org/projects/EmacsWikiMode.html>
|
||||
A wiki-like publishing tool and personal information manager
|
||||
|
||||
* Go in a buffer: Go Text Protocol client:
|
||||
<URL:http://www.gnuvola.org/software/personal-elisp/dist/lisp/diversions/gnugo.el>
|
||||
A modified version is also bundled with GNU Go:
|
||||
<URL:http://www.gnu.org/software/gnugo/gnugo.html>
|
||||
|
||||
* Hyperbole:
|
||||
<URL:http://directory.fsf.org/wiki/Hyperbole>
|
||||
Hyperbole is an open, efficient, programmable information
|
||||
management and hypertext system.
|
||||
|
||||
* JDEE: <URL:http://jdee.sourceforge.net/>
|
||||
Provides a Java development environment for Emacs.
|
||||
|
||||
* Mew: <URL:http://www.mew.org/>
|
||||
A MIME mail reader for Emacs/XEmacs.
|
||||
|
||||
* MMM Mode: <URL:http://mmm-mode.sourceforge.net/>
|
||||
MMM Mode is an emacs add-on package providing a minor mode that
|
||||
allows Multiple Major Modes to coexist in one buffer.
|
||||
|
||||
* Planner Mode: <URL:http://www.wjsullivan.net/PlannerMode.html>
|
||||
Planner is an organizer and day planner for Emacs.
|
||||
|
||||
* Quack: <URL:http://www.neilvandyke.org/quack/>
|
||||
Quack enhances Emacs support for Scheme.
|
||||
|
||||
* QWE: <URL:http://www.nongnu.org/qwe/>
|
||||
QWE's not WEB for Emacs is a quasi-WYSIWYG literate programming system for
|
||||
Emacs that can be used with almost every programming language.
|
||||
|
||||
* Session: <URL:http://emacs-session.sourceforge.net/>
|
||||
Session Management for Emacs.
|
||||
|
||||
* SLIME: The Superior Lisp Interaction Mode for Emacs:
|
||||
<URL:http://common-lisp.net/project/slime/>
|
||||
|
||||
* Tamago: Chinese/Japanese/Korean input method
|
||||
<URL:http://www.m17n.org/tamago/index.en.html>
|
||||
Emacs Lisp package to provide input methods for CJK characters.
|
||||
|
||||
* Tiny Tools: <URL:https://savannah.nongnu.org/projects/emacs-tiny-tools>
|
||||
|
||||
* VM (View Mail): Alternative mail reader
|
||||
<URL:http://launchpad.net/vm>
|
||||
Previously hosted at: <URL:http://www.nongnu.org/viewmail/>
|
||||
|
||||
* W3 Web browser: <URL:http://savannah.gnu.org/projects/w3/>
|
||||
|
||||
* Wanderlust: <URL:http://www.gohome.org/wl/>
|
||||
Wanderlust is a mail/news reader for Emacs.
|
||||
|
||||
* WhizzyTex: <URL:http://cristal.inria.fr/whizzytex/>
|
||||
WhizzyTeX provides a minor mode for Emacs or XEmacs, a (bash)
|
||||
shell-script daemon and some LaTeX macros.
|
||||
|
||||
Local Variables:
|
||||
mode: text
|
||||
eval: (view-mode 1)
|
||||
eval: (goto-address-mode 1)
|
||||
End:
|
||||
|
||||
This file is part of GNU Emacs.
|
||||
|
||||
GNU Emacs is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
GNU Emacs is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
|
||||
Note added January 2014:
|
||||
|
||||
This file is obsolete and will be removed in future.
|
||||
Please update any links to use
|
||||
info node `(efaq)Packages that do not come with Emacs'
|
||||
instead.
|
||||
|
|
21
etc/NEWS
21
etc/NEWS
|
@ -168,11 +168,19 @@ non-nil, they output the same results.
|
|||
+++
|
||||
*** The key `?' now describes prefix bindings, like `C-h'.
|
||||
|
||||
*** The command `describe-function' was extended for EIEIO.
|
||||
Running it on constructors will show a full description of the
|
||||
generated class. For generic functions, it will show all
|
||||
implementations together with links to the source. The old commands
|
||||
`describe-class', `describe-constructor' and `describe-generic' were
|
||||
removed.
|
||||
|
||||
*** The command `quail-help' is deleted. Use `C-h C-\'
|
||||
(`describe-input-method') instead.
|
||||
|
||||
** ImageMagick
|
||||
|
||||
+++
|
||||
*** ImageMagick images now support the :max-width and :max-height
|
||||
keywords.
|
||||
|
||||
|
@ -241,6 +249,7 @@ etc. You can customize this to specify a function that provides a
|
|||
default value from the regexp last history element, or from the symbol
|
||||
found at point.
|
||||
|
||||
+++
|
||||
*** `load-prefer-newer', affects how the `load' function chooses the
|
||||
file to load. If this is non-nil, then when both .el and .elc
|
||||
versions of a file exist, and the caller did not explicitly specify
|
||||
|
@ -451,6 +460,7 @@ restoring the frame/window configuration (frameset). Additional options
|
|||
`desktop-restore-in-current-display', `desktop-restore-reuses-frames'
|
||||
and `desktop-restore-forces-onscreen' offer further customization.
|
||||
|
||||
+++
|
||||
** Dired
|
||||
|
||||
*** New minor mode `dired-hide-details-mode' hides details.
|
||||
|
@ -573,11 +583,17 @@ will revert to the old behavior.
|
|||
visit the next image file and the previous image file in the same
|
||||
directory, respectively.
|
||||
|
||||
+++
|
||||
*** New commands to show specific frames of multi-frame images.
|
||||
`f' (`image-next-frame') and `b' (`image-previous-frame') visit the
|
||||
next or previous frame. `F' (`image-goto-frame') shows a specific frame.
|
||||
|
||||
+++
|
||||
*** New commands to speed up, slow down, or reverse animation.
|
||||
`a +' (`image-increase-speed') and `a -' (`image-decrease-speed') to
|
||||
speed up and slow down the animation. `a r' (`image-reverse-speed')
|
||||
to reverse it and `a 0' (`image-reset-speed') to reset it.
|
||||
|
||||
---
|
||||
*** The command `image-mode-fit-frame' deletes other windows.
|
||||
When toggling, it restores the frame's previous window configuration.
|
||||
|
@ -880,6 +896,7 @@ has not been relevant for some time.
|
|||
|
||||
* New Modes and Packages in Emacs 24.4
|
||||
|
||||
+++
|
||||
** New package `eww' is a built-in web browser.
|
||||
It is only available if Emacs is compiled with libxml2 support.
|
||||
|
||||
|
@ -888,6 +905,7 @@ It is only available if Emacs is compiled with libxml2 support.
|
|||
symbol_words as a single word, similar to what `subword-mode' does and
|
||||
using the same internal functions.
|
||||
|
||||
+++
|
||||
** New package nadvice.el offers lighter-weight advice facilities.
|
||||
It is layered as:
|
||||
- add-function/remove-function which can be used to add/remove code on any
|
||||
|
@ -1087,7 +1105,7 @@ displaying the buffer in a window.
|
|||
*** `hash-table-keys'
|
||||
+++
|
||||
*** `hash-table-values'
|
||||
|
||||
---
|
||||
*** `string-blank-p`
|
||||
*** `string-empty-p`
|
||||
*** `string-join`
|
||||
|
@ -1126,6 +1144,7 @@ a non-nil `interactive-only' property.
|
|||
The value, if non-nil, is a regexp that specifies what to trim from
|
||||
the start and end of each substring.
|
||||
|
||||
+++
|
||||
** New function `string-suffix-p'.
|
||||
|
||||
** File-handling changes
|
||||
|
|
16
etc/ORDERS
16
etc/ORDERS
|
@ -1,12 +1,8 @@
|
|||
Printed copies of the GNU Emacs Manual, the Emacs Lisp Reference
|
||||
Manual, "Programming in Emacs Lisp: An Introduction", and other
|
||||
materials can be ordered directly from the Free Software Foundation.
|
||||
Printed copies of Emacs manuals
|
||||
|
||||
For more information, see the online store at <http://shop.fsf.org/>.
|
||||
Note added January 2014:
|
||||
|
||||
Your purchases will help support further development of Emacs and
|
||||
other free software programs.
|
||||
|
||||
You can also make tax-deductible donations to the Free Software
|
||||
Foundation, a not-for-profit organization (assuming you pay US taxes)
|
||||
- see <https://my.fsf.org/donate/>.
|
||||
This file is obsolete and will be removed in future.
|
||||
Please update any links to use
|
||||
info node `(emacs)Printed Books'
|
||||
instead.
|
||||
|
|
|
@ -1062,7 +1062,7 @@ See http://orgmode.org/elpa/
|
|||
| =k= | | [[doc::org-agenda-capture][org-agenda-capture]] |
|
||||
| C-c , | , | [[doc::org-priority][org-priority]] |
|
||||
|
||||
** New package and Babel langage
|
||||
** New package and Babel language
|
||||
|
||||
*** =org-eshell.el= by Konrad Hinsen is now in Org
|
||||
|
||||
|
|
47
etc/PROBLEMS
47
etc/PROBLEMS
|
@ -357,25 +357,6 @@ The solution is to use gawk (GNU awk).
|
|||
|
||||
** Problems with hostname resolution
|
||||
|
||||
*** Emacs fails to understand most Internet host names, even though
|
||||
the names work properly with other programs on the same system.
|
||||
*** Emacs won't work with X-windows if the value of DISPLAY is HOSTNAME:0.
|
||||
*** Gnus can't make contact with the specified host for nntp.
|
||||
|
||||
This typically happens on Suns and other systems that use shared
|
||||
libraries. The cause is that the site has installed a version of the
|
||||
shared library which uses a name server--but has not installed a
|
||||
similar version of the unshared library which Emacs uses.
|
||||
|
||||
The result is that most programs, using the shared library, work with
|
||||
the nameserver, but Emacs does not.
|
||||
|
||||
The fix is to install an unshared library that corresponds to what you
|
||||
installed in the shared library, and then relink Emacs.
|
||||
|
||||
If you have already installed the name resolver in the file libresolv.a,
|
||||
then you need to compile Emacs to use that library.
|
||||
|
||||
*** Emacs does not know your host's fully-qualified domain name.
|
||||
|
||||
For example, (system-name) returns some variation on
|
||||
|
@ -499,13 +480,6 @@ ftp client. On a Debian system, type
|
|||
|
||||
and then choose /usr/bin/netkit-ftp.
|
||||
|
||||
*** JPEG images aren't displayed.
|
||||
|
||||
This has been reported when Emacs is built with jpeg-6a library.
|
||||
Upgrading to jpeg-6b solves the problem. Configure checks for the
|
||||
correct version, but this problem could occur if a binary built
|
||||
against a shared libjpeg is run on a system with an older version.
|
||||
|
||||
*** Dired is very slow.
|
||||
|
||||
This could happen if invocation of the `df' program takes a long
|
||||
|
@ -570,13 +544,6 @@ to work around the problem.
|
|||
|
||||
Please refer to the documentation of your dynamic linker for details.
|
||||
|
||||
*** You request inverse video, and the first Emacs frame is in inverse
|
||||
video, but later frames are not in inverse video.
|
||||
|
||||
This can happen if you have an old version of the custom library in
|
||||
your search path for Lisp packages. Use M-x list-load-path-shadows to
|
||||
check whether this is true. If it is, delete the old custom library.
|
||||
|
||||
*** When you run Ispell from Emacs, it reports a "misalignment" error.
|
||||
|
||||
This can happen if you compiled the Ispell program to use ASCII
|
||||
|
@ -674,20 +641,6 @@ This is because these fonts contain characters a little taller than
|
|||
the font's nominal height. Emacs needs to make sure that lines do not
|
||||
overlap.
|
||||
|
||||
** Loading fonts is very slow.
|
||||
|
||||
You might be getting scalable fonts instead of precomputed bitmaps.
|
||||
Known scalable font directories are "Type1" and "Speedo". A font
|
||||
directory contains scalable fonts if it contains the file
|
||||
"fonts.scale".
|
||||
|
||||
If this is so, re-order your X windows font path to put the scalable
|
||||
font directories last. See the documentation of `xset' for details.
|
||||
|
||||
With some X servers, it may be necessary to take the scalable font
|
||||
directories out of your path entirely, at least for Emacs 19.26.
|
||||
Changes in the future may make this unnecessary.
|
||||
|
||||
** Font Lock displays portions of the buffer in incorrect faces.
|
||||
|
||||
By far the most frequent cause of this is a parenthesis `(' or a brace
|
||||
|
|
|
@ -6,4 +6,6 @@ people who have asked to be listed as offering support services for
|
|||
GNU software, including GNU Emacs, for a fee or in some cases at no
|
||||
charge.
|
||||
|
||||
|
||||
Note added January 2014:
|
||||
This file is obsolete and will be removed in future.
|
||||
Please update any links to use the above URL.
|
||||
|
|
|
@ -69,7 +69,7 @@ DESCRIPTION
|
|||
|
||||
-i emulate IBM OS/VU (recursive universes not supported)
|
||||
|
||||
-I emulate IBM VTOS 3.7.6 (chronosynclastic infundibulae
|
||||
-I emulate IBM VTOS 3.7.6 (chronosynclastic infundibula
|
||||
supported with restrictions documented in IBM VTOS
|
||||
|
||||
|
||||
|
@ -207,4 +207,3 @@ AUTHOR
|
|||
|
||||
|
||||
Printed 10/28/85 18 January 1983 3
|
||||
|
||||
|
|
|
@ -770,10 +770,10 @@
|
|||
|
||||
2008-02-01 Dave Love <fx@gnu.org>
|
||||
|
||||
* latin-post.el: Recode to utf-8.
|
||||
* quail/latin-post.el: Recode to utf-8.
|
||||
("latin-postfix"): New method.
|
||||
|
||||
* latin-alt.el: Recode to utf-8.
|
||||
* quail/latin-alt.el: Recode to utf-8.
|
||||
("latin-alt-postfix"): New method.
|
||||
|
||||
* quail/latin-pre.el: Recode to utf-8.
|
||||
|
@ -2167,11 +2167,11 @@
|
|||
* Makefile.in: Prepend ${srcdir} to all non-TIT lisp file names.
|
||||
(leim-list.el): Depend on ${WORLD}.
|
||||
|
||||
* latin-alt.el (latin-2-alt-postfix): Doc fix.
|
||||
* quail/latin-alt.el (latin-2-alt-postfix): Doc fix.
|
||||
|
||||
1998-04-08 Karl Heuer <kwzh@mescaline.gnu.org>
|
||||
|
||||
* czech.el, slovak.el: Correct starting commentary.
|
||||
* quail/czech.el, quail/slovak.el: Correct starting commentary.
|
||||
|
||||
1998-04-07 Milan Zamazal <pdm@fi.muni.cz>
|
||||
|
||||
|
@ -2179,7 +2179,7 @@
|
|||
|
||||
1998-04-06 Andreas Schwab <schwab@gnu.org>
|
||||
|
||||
* lrt.el (lrt-composing-pattern-double-c): Change chars-in-string
|
||||
* quail/lrt.el (lrt-composing-pattern-double-c): Change chars-in-string
|
||||
to length.
|
||||
(lrt-generate-quail-map): Change sref to aref, and make second
|
||||
argument of substring a character index.
|
||||
|
|
|
@ -3,6 +3,61 @@
|
|||
* mail/rmail.el (rmail-get-coding-system): Check
|
||||
rmail-get-coding-function before "funcall"ing it.
|
||||
|
||||
2014-01-10 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* emacs-lisp/authors.el (authors-fixed-entries):
|
||||
Update for files that no longer exist.
|
||||
|
||||
2014-01-10 Eric S. Raymond <esr@thyrsus.com>
|
||||
|
||||
* version.el (emacs-bzr-get-version): Restore compatibilty with
|
||||
24.3 (Tested).
|
||||
|
||||
2014-01-10 Bozhidar Batsov <bozhidar@batsov.com>
|
||||
|
||||
* progmodes/ruby-mode.el (auto-mode-alist): Add .podspec
|
||||
and Podfile.
|
||||
|
||||
2014-01-10 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* emacs-lisp/authors.el (authors-fixed-entries): Update my entry.
|
||||
|
||||
2014-01-10 Chong Yidong <cyd@gnu.org>
|
||||
|
||||
* progmodes/octave.el (octave-mode-menu): Don't assume eldoc is
|
||||
loaded.
|
||||
|
||||
2014-01-10 Anders Lindgren <andlind@gmail.com>
|
||||
|
||||
* follow.el (follow-cache-command-list): Include right-char and
|
||||
left-char.
|
||||
|
||||
2014-01-10 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Spelling fixes.
|
||||
* mail/unrmail.el (unrmail-mbox-format): Choice is mboxo, not mboxro.
|
||||
* woman.el (woman-mark-horizontal-position):
|
||||
Rename from woman-mark-horizonal-position. Use changed.
|
||||
|
||||
2014-01-10 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* info.el (info-initialize): If running uninstalled, ensure our
|
||||
own info files are always found first, even if INFOPATH is set.
|
||||
|
||||
* help.el (view-order-manuals): Open emacs.info rather than ORDERS.
|
||||
|
||||
2014-01-09 David Engster <deng@randomsample.de>
|
||||
|
||||
* emacs-lisp/eieio-custom.el:
|
||||
* emacs-lisp/eieio-opt.el: Set generated autoload file to
|
||||
'eieio.el'. This was accidentally removed in 2012-10-01T18:10:29Z!cyd@gnu.org.
|
||||
* emacs-lisp/eieio.el: Regenerate autoloads.
|
||||
|
||||
2014-01-09 Eric S. Raymond <esr@thyrsus.com>
|
||||
|
||||
* vc/vc-git.el (vc-git-print-log): Add --follow option to command,
|
||||
following renames. (Bug#8756)
|
||||
|
||||
2014-01-09 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* simple.el (deactivate-mark, activate-mark): Force-mode-line-update
|
||||
|
@ -19,7 +74,7 @@
|
|||
* version.el (emacs-bzr-version): Name changed to
|
||||
emacs-repository-version. Obsolete-variable alias made.
|
||||
* loadup.el: Follow through on this name change.
|
||||
* lisp/mail/emacsbug.el (report-emacs-bug): Factor out any
|
||||
* mail/emacsbug.el (report-emacs-bug): Factor out any
|
||||
assumption about the version control system in use.
|
||||
|
||||
2014-01-08 David Engster <deng@randomsample.de>
|
||||
|
@ -3371,7 +3426,7 @@
|
|||
|
||||
2013-10-17 Barry O'Reilly <gundaetiapo@gmail.com>
|
||||
|
||||
* lisp/subr.el (sit-for): Call (input-pending-p t) so as to behave
|
||||
* subr.el (sit-for): Call (input-pending-p t) so as to behave
|
||||
as before.
|
||||
|
||||
2013-10-18 Reuben Thomas <rrt@sc3d.org>
|
||||
|
@ -4144,13 +4199,13 @@
|
|||
|
||||
2013-09-28 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
|
||||
|
||||
* lisp/progmodes/octave.el (octave-mode-map): Bind octave-send-buffer.
|
||||
* progmodes/octave.el (octave-mode-map): Bind octave-send-buffer.
|
||||
(octave-mode-menu): Add octave-send-buffer.
|
||||
(octave-send-buffer): New function.
|
||||
|
||||
2013-09-28 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
|
||||
|
||||
* lisp/progmodes/octave.el (octave-mode-map): Add key binding for
|
||||
* progmodes/octave.el (octave-mode-map): Add key binding for
|
||||
octave-lookfor.
|
||||
(octave-mode-menu): Add octave-lookfor.
|
||||
(inferior-octave-mode-map, octave-help-mode-map): Bind C-ha to
|
||||
|
@ -6152,7 +6207,7 @@
|
|||
* isearch.el (isearch-done):
|
||||
* jit-lock.el (jit-lock-stealth-fontify):
|
||||
* mail/rmailsum.el (rmail-summary-scroll-msg-up):
|
||||
* lisp/mouse-drag.el (mouse-drag-should-do-col-scrolling):
|
||||
* mouse-drag.el (mouse-drag-should-do-col-scrolling):
|
||||
* mpc.el (mpc-tagbrowser, mpc):
|
||||
* net/rcirc.el (rcirc-any-buffer):
|
||||
* play/gomoku.el (gomoku-max-width, gomoku-max-height):
|
||||
|
@ -7523,12 +7578,12 @@
|
|||
|
||||
* files.el (find-file-noselect): Simplify conditional expression.
|
||||
|
||||
* remember.el (remember-append-to-file):
|
||||
* textmodes/remember.el (remember-append-to-file):
|
||||
Don't mix `find-buffer-visiting' and `get-file-buffer'.
|
||||
|
||||
Add `remember-notes' function to store random notes across Emacs
|
||||
restarts.
|
||||
* remember.el (remember-data-file): Add :set callback to affect
|
||||
* textmodes/remember.el (remember-data-file): Add :set callback to affect
|
||||
notes buffer (if any).
|
||||
(remember-notes): New command.
|
||||
(remember-notes-buffer-name, bury-remember-notes-on-kill):
|
||||
|
@ -9106,7 +9161,7 @@
|
|||
|
||||
2013-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* lisp/subr.el: Convert to lexical binding.
|
||||
* subr.el: Convert to lexical binding.
|
||||
(overriding-local-map): Make obsolete.
|
||||
(add-to-list): Doc fix. Add compiler macro.
|
||||
(read-key): Swap values of local maps.
|
||||
|
@ -9761,16 +9816,16 @@
|
|||
|
||||
2013-05-23 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
|
||||
|
||||
* lisp/textmodes/reftex.el (reftex-ref-style-toggle):
|
||||
* textmodes/reftex.el (reftex-ref-style-toggle):
|
||||
Fix deactivate action.
|
||||
|
||||
* lisp/textmodes/reftex-vars.el (reftex-ref-style-alist):
|
||||
* textmodes/reftex-vars.el (reftex-ref-style-alist):
|
||||
Add cleveref macros.
|
||||
|
||||
* lisp/textmodes/reftex-parse.el
|
||||
* textmodes/reftex-parse.el
|
||||
(reftex-locate-bibliography-files): Accept options for
|
||||
bibliography commands.
|
||||
* lisp/textmodes/reftex-vars.el (reftex-bibliography-commands):
|
||||
* textmodes/reftex-vars.el (reftex-bibliography-commands):
|
||||
Add addbibresource. Basic Biblatex support.
|
||||
|
||||
2013-05-23 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
|
|
@ -67,8 +67,8 @@
|
|||
* progmodes/cc-awk.el: New file that implements AWK support,
|
||||
superseding the old separate derived mode in awk-mode.el.
|
||||
|
||||
* progmodes/cc-vars.el, cc-mode-19.el, progmodes/cc-langs.el,
|
||||
* progmodes/cc-mode.el, progmodes/cc-defs.el,
|
||||
* progmodes/cc-vars.el, progmodes/cc-mode-19.el, progmodes/cc-langs.el:
|
||||
* progmodes/cc-mode.el, progmodes/cc-defs.el:
|
||||
* progmodes/cc-engine.el, progmodes/cc-fonts.el:
|
||||
Changes for the new AWK support.
|
||||
|
||||
|
@ -4486,7 +4486,7 @@
|
|||
|
||||
2003-03-26 Steve Youngs <youngs@xemacs.org>
|
||||
|
||||
* em-unix.el (eshell-plain-locate-behavior): Make the default
|
||||
* eshell/em-unix.el (eshell-plain-locate-behavior): Make the default
|
||||
nil on Emacs, t on XEmacs.
|
||||
|
||||
2003-03-25 Stefan Monnier <monnier@cs.yale.edu>
|
||||
|
@ -6354,11 +6354,11 @@
|
|||
* mh-e: Created directory. ChangeLog will appear in a week when we
|
||||
release version 7.2.
|
||||
|
||||
* mail/mh-alias.el, mail/mh-comp.el, mail/mh-customize.el, mail/mh-e.el,
|
||||
mail/mh-funcs.el, mail/mh-identity.el, mail/mh-index.el,
|
||||
mail/mh-loaddefs.el, mail/mh-mime.el, mail/mh-pick.el,
|
||||
mail/mh-seq.el, mail/mh-speed.el, mail/mh-utils.el,
|
||||
mail/mh-xemacs-compat.el: Moved to mh-e directory.
|
||||
* mail/mh-alias.el, mail/mh-comp.el, mail/mh-customize.el, mail/mh-e.el:
|
||||
* mail/mh-funcs.el, mail/mh-identity.el, mail/mh-index.el:
|
||||
* mail/mh-loaddefs.el, mail/mh-mime.el, mail/mh-pick.el:
|
||||
* mail/mh-seq.el, mail/mh-speed.el, mail/mh-utils.el:
|
||||
* mail/mh-xemacs-compat.el: Move to mh-e directory.
|
||||
Note that reply2.pbm and reply2.xpm, which were created by the
|
||||
MH-E package, were left in mail since they can probably be used by
|
||||
other mail packages.
|
||||
|
@ -10676,7 +10676,7 @@
|
|||
|
||||
2002-09-18 Michael Kifer <kifer@cs.stonybrook.edu>
|
||||
|
||||
* ediff-hooks.el: Put back the autoloads (for XEmacs compatibility).
|
||||
* ediff-hook.el: Put back the autoloads (for XEmacs compatibility).
|
||||
|
||||
* ediff-init.el: Use defalias instead of fset.
|
||||
|
||||
|
@ -11693,32 +11693,32 @@
|
|||
|
||||
2002-08-27 Carsten Dominik <dominik@sand.science.uva.nl>
|
||||
|
||||
* textfile/reftex-ref.el (reftex-goto-label): New command.
|
||||
* textmodes/reftex-ref.el (reftex-goto-label): New command.
|
||||
|
||||
* textfile/reftex-vars.el (reftex-part-resets-chapter): New option.
|
||||
* textmodes/reftex-vars.el (reftex-part-resets-chapter): New option.
|
||||
|
||||
* textfile/reftex-parse.el (reftex-roman-number): New function.
|
||||
* textmodes/reftex-parse.el (reftex-roman-number): New function.
|
||||
(reftex-section-number): Better handling of parts: No chapter
|
||||
counter resets.
|
||||
|
||||
* textfile/reftex.el (reftex-highlight-overlays): Added a third
|
||||
* textmodes/reftex.el (reftex-highlight-overlays): Added a third
|
||||
overlay.
|
||||
(reftex-mode-menu): Added entry for `reftex-toc-recenter.
|
||||
Also moved `reftex-reset-mode' to top level.
|
||||
|
||||
* textfile/reftex-toc.el (reftex-toc-recenter): New command.
|
||||
* textmodes/reftex-toc.el (reftex-toc-recenter): New command.
|
||||
(reftex-toc-pre-command-hook): Don't remove highlight overlay.
|
||||
(reftex-toc-post-command-hook): Use overlay no 2 for highlighting.
|
||||
|
||||
* textfile/reftex-sel.el (reftex-get-offset): Get offset of
|
||||
* textmodes/reftex-sel.el (reftex-get-offset): Get offset of
|
||||
document pointer *before* position, not after.
|
||||
(reftex-insert-docstruct): Get offset of document pointer *before*
|
||||
position, not after.
|
||||
|
||||
* textfiles/reftex-parse.el (reftex-where-am-I): Prefer marker
|
||||
* textmodes/reftex-parse.el (reftex-where-am-I): Prefer marker
|
||||
match over section title match.
|
||||
|
||||
* textfiles/reftex-cite.el (reftex-bib-or-thebib): New function
|
||||
* textmodes/reftex-cite.el (reftex-bib-or-thebib): New function
|
||||
which determines on a per-file-basis if BibTeX is being used
|
||||
locally for citations.
|
||||
(reftex-offer-bib-menu): Use `reftex-bib-or-thebib' for better
|
||||
|
@ -11726,7 +11726,7 @@
|
|||
(reftex-bibtex-selection-callback): Use `reftex-bib-or-thebib' for
|
||||
better cooperation with chapterbib.
|
||||
|
||||
* textfiles/reftex-dcr.el (reftex-view-cr-cite):
|
||||
* textmodes/reftex-dcr.el (reftex-view-cr-cite):
|
||||
Use `reftex-bib-or-thebib' for better cooperation with chapterbib.
|
||||
|
||||
2002-08-26 Kim F. Storm <storm@cua.dk>
|
||||
|
@ -11891,7 +11891,7 @@
|
|||
|
||||
2002-08-20 Carsten Dominik <dominik@astro.uva.nl>
|
||||
|
||||
* textfiles/reftex-cite.el (reftex-bib-or-thebib): New function
|
||||
* textmodes/reftex-cite.el (reftex-bib-or-thebib): New function
|
||||
which determines on a per-file-basis if BibTeX is being used
|
||||
locally for citations.
|
||||
(reftex-offer-bib-menu): Use `reftex-bib-or-thebib' for better
|
||||
|
@ -11899,7 +11899,7 @@
|
|||
(reftex-bibtex-selection-callback): Use `reftex-bib-or-thebib' for
|
||||
better cooperation with chapterbib.
|
||||
|
||||
* textfiles/reftex-dcr.el (reftex-view-cr-cite):
|
||||
* textmodes/reftex-dcr.el (reftex-view-cr-cite):
|
||||
Use `reftex-bib-or-thebib' for better cooperation with chapterbib.
|
||||
|
||||
2002-08-20 Kim F. Storm <storm@cua.dk>
|
||||
|
@ -11909,7 +11909,7 @@
|
|||
with keyboard macro related commands. The original binding on
|
||||
C-x C-k is moved to C-x C-k e.
|
||||
|
||||
* binding.el: Remove macro related bindings (now in kmacro.el).
|
||||
* bindings.el: Remove macro related bindings (now in kmacro.el).
|
||||
|
||||
* edmacro.el: Remove C-x C-k binding (now in kmacro.el).
|
||||
|
||||
|
@ -12099,12 +12099,12 @@
|
|||
|
||||
2002-04-09 John Wiegley <johnw@gnu.org>
|
||||
|
||||
* esh-util.el: Removed eshell-under-cygwin-p, and all uses of it.
|
||||
* em-cmpl.el (eshell-cmpl-ignore-case): Ditto.
|
||||
* em-dirs.el (eshell/cd): Ditto.
|
||||
* em-glob.el (eshell-glob-case-insensitive): Ditto.
|
||||
* em-hist.el (eshell-previous-matching-input-string-position): Ditto.
|
||||
* esh-ext.el (eshell-binary-suffixes): Ditto.
|
||||
* eshell/em-cmpl.el (eshell-cmpl-ignore-case):
|
||||
* eshell/em-dirs.el (eshell/cd):
|
||||
* eshell/em-glob.el (eshell-glob-case-insensitive):
|
||||
* eshell/em-hist.el (eshell-previous-matching-input-string-position):
|
||||
* eshell/esh-ext.el (eshell-binary-suffixes):
|
||||
* eshell/esh-util.el: Remove eshell-under-cygwin-p, and all uses of it.
|
||||
|
||||
2002-08-09 Richard M. Stallman <rms@gnu.org>
|
||||
|
||||
|
@ -12197,12 +12197,12 @@
|
|||
|
||||
2002-04-09 John Paul Wallington <jpw@shootybangbang.com>
|
||||
|
||||
* esh-util.el (eshell-under-cygwin-p): New function.
|
||||
* em-cmpl.el (eshell-cmpl-ignore-case): Use it.
|
||||
* em-dirs.el (eshell/cd): Ditto.
|
||||
* em-glob.el (eshell-glob-case-insensitive): Ditto.
|
||||
* em-hist.el (eshell-previous-matching-input-string-position): Ditto.
|
||||
* esh-ext.el (eshell-binary-suffixes): Ditto.
|
||||
* eshell/esh-util.el (eshell-under-cygwin-p): New function.
|
||||
* eshell/em-cmpl.el (eshell-cmpl-ignore-case):
|
||||
* eshell/em-dirs.el (eshell/cd):
|
||||
* eshell/em-glob.el (eshell-glob-case-insensitive):
|
||||
* eshell/em-hist.el (eshell-previous-matching-input-string-position):
|
||||
* eshell/esh-ext.el (eshell-binary-suffixes): Use it.
|
||||
|
||||
2002-08-05 Richard M. Stallman <rms@gnu.org>
|
||||
|
||||
|
@ -14192,7 +14192,7 @@
|
|||
|
||||
2002-06-09 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* progmodes/cc-style.el (c-set-style, c-set-style-1):
|
||||
* progmodes/cc-styles.el (c-set-style, c-set-style-1):
|
||||
Add another state for the `dont-override' flag where it only keeps
|
||||
globally set variables.
|
||||
|
||||
|
@ -15640,7 +15640,7 @@
|
|||
|
||||
2002-04-25 Michael Kifer <kifer@cs.stonybrook.edu>
|
||||
|
||||
* ediff-hooks.el: Put back the autoloads.
|
||||
* ediff-hook.el: Put back the autoloads.
|
||||
|
||||
2002-04-25 Colin Walters <walters@verbum.org>
|
||||
|
||||
|
@ -16457,8 +16457,8 @@
|
|||
|
||||
2002-04-22 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* progmodes/cc-align.el, progmodes/cc-defs.el,
|
||||
progmodes/cc-cmds.el, progmodes/cc-engine.el, cc-vars.el:
|
||||
* progmodes/cc-align.el, progmodes/cc-defs.el:
|
||||
* progmodes/cc-cmds.el, progmodes/cc-engine.el, progmodes/cc-vars.el:
|
||||
Several fixes to treat macros as code and not literals and to
|
||||
handle line continuations transparently.
|
||||
|
||||
|
@ -17484,7 +17484,7 @@
|
|||
|
||||
2002-04-01 Ville Skyttä <ville.skytta@xemacs.org>
|
||||
|
||||
* tcl.el (tcl-imenu-generic-expression): New value.
|
||||
* progmodes/tcl.el (tcl-imenu-generic-expression): New value.
|
||||
(tcl-imenu-create-index-function): Function deleted.
|
||||
(tcl-mode): Check for filladapt-mode.
|
||||
Use tcl-imenu-generic-expression instead of
|
||||
|
@ -22092,25 +22092,29 @@
|
|||
(calc-do-keypad): Use it.
|
||||
(calc-keypad-map): Move into `calc-keypad-mode'.
|
||||
|
||||
* calc-math.el (calcFunc-sqrt, calcFunc-hypot): Add missing quote
|
||||
* calc/calc-math.el (calcFunc-sqrt, calcFunc-hypot): Add missing quote
|
||||
to defalias argument.
|
||||
|
||||
* calc-misc.el (math-fixnump, math-fixnatnump, calcFunc-trunc)
|
||||
* calc/calc-misc.el (math-fixnump, math-fixnatnump, calcFunc-trunc)
|
||||
(calcFunc-floor): Ditto.
|
||||
|
||||
* calc-units.el (calcFunc-usimplify): Ditto.
|
||||
* calc/calc-units.el (calcFunc-usimplify): Ditto.
|
||||
|
||||
* calc-aent.el, calc-ext.el, calc-incom.el, calc-misc.el
|
||||
* calc-sel.el, calc-vec.el, calc-alg.el, calc-fin.el
|
||||
* calc-keypd.el, calc-mode.el, calc-stat.el, calc-yank.el
|
||||
* calc-arith.el, calc-forms.el, calc-lang.el, calc-mtx.el
|
||||
* calc-store.el, calc.el, calc-bin.el, calc-frac.el, calc-macs.el
|
||||
* calc-poly.el, calc-stuff.el, calcalg2.el, calc-comb.el
|
||||
* calc-funcs.el, calc-maint.el, calc-prog.el, calc-trail.el
|
||||
* calcalg3.el, calc-cplx.el, calc-graph.el, calc-map.el
|
||||
* calc-rewr.el, calc-undo.el, calccomp.el, calc-embed.el
|
||||
* calc-help.el, calc-math.el, calc-rules.el, calc-units.el
|
||||
* calcsel2.el: Change all toplevel `setq' forms to `defvar' forms,
|
||||
* calc/calc-aent.el, calc/calc-ext.el, calc/calc-incom.el:
|
||||
* calc/calc-misc.el, calc/calc-sel.el, calc/calc-vec.el:
|
||||
* calc/calc-alg.el, calc/calc-fin.el, calc/calc-keypd.el:
|
||||
* calc/calc-mode.el, calc/calc-stat.el, calc/calc-yank.el:
|
||||
* calc/calc-arith.el, calc/calc-forms.el, calc/calc-lang.el:
|
||||
* calc/calc-mtx.el, calc/calc-store.el, calc/calc.el:
|
||||
* calc/calc-bin.el, calc/calc-frac.el, calc/calc-macs.el:
|
||||
* calc/calc-poly.el, calc/calc-stuff.el, calc/calcalg2.el:
|
||||
* calc/calc-comb.el, calc/calc-funcs.el, calc/calc-maint.el:
|
||||
* calc/calc-prog.el, calc/calc-trail.el, calc/calcalg3.el:
|
||||
* calc/calc-cplx.el, calc/calc-graph.el, calc/calc-map.el:
|
||||
* calc/calc-rewr.el, calc/calc-undo.el, calc/calccomp.el:
|
||||
* calc/calc-embed.el, calc/calc-help.el, calc/calc-math.el:
|
||||
* calc/calc-rules.el, calc/calc-units.el, calc/calcsel2.el:
|
||||
Change all toplevel `setq' forms to `defvar' forms,
|
||||
and move them before their first use. Use `when', `unless'.
|
||||
Remove trailing periods from error forms. Add description and
|
||||
headers suggested by Emacs Lisp coding conventions.
|
||||
|
@ -22360,21 +22364,24 @@
|
|||
|
||||
* calc/calc-units.el (calcFunc-unsimplify): Ditto.
|
||||
|
||||
* calc-aent.el, calc-ext.el, calc-incom.el, calc-misc.el
|
||||
* calc-sel.el, calc-vec.el, calc-alg.el, calc-fin.el
|
||||
* calc-keypd.el, calc-mode.el, calc-stat.el, calc-yank.el
|
||||
* calc-arith.el, calc-forms.el, calc-lang.el, calc-mtx.el
|
||||
* calc-store.el, calc.el, calc-bin.el, calc-frac.el, calc-macs.el
|
||||
* calc-poly.el, calc-stuff.el, calcalg2.el, calc-comb.el
|
||||
* calc-funcs.el, calc-maint.el, calc-prog.el, calc-trail.el
|
||||
* calcalg3.el, calc-cplx.el, calc-graph.el, calc-map.el
|
||||
* calc-rewr.el, calc-undo.el, calccomp.el, calc-embed.el
|
||||
* calc-help.el, calc-math.el, calc-rules.el, calc-units.el
|
||||
* calcsel2.el: Style cleanup; don't put closing parens on their
|
||||
own line, add "foo.el ends here" to each file, and update
|
||||
copyright date.
|
||||
* calc/calc-aent.el, calc/calc-ext.el, calc/calc-incom.el:
|
||||
* calc/calc-misc.el, calc/calc-sel.el, calc/calc-vec.el:
|
||||
* calc/calc-alg.el, calc/calc-fin.el, calc/calc-keypd.el:
|
||||
* calc/calc-mode.el, calc/calc-stat.el, calc/calc-yank.el:
|
||||
* calc/calc-arith.el, calc/calc-forms.el, calc/calc-lang.el:
|
||||
* calc/calc-mtx.el, calc/calc-store.el, calc/calc.el, calc/calc-bin.el:
|
||||
* calc/calc-frac.el, calc/calc-macs.el, calc/calc-poly.el:
|
||||
* calc/calc-stuff.el, calc/calcalg2.el, calc/calc-comb.el:
|
||||
* calc/calc-funcs.el, calc/calc-maint.el, calc/calc-prog.el:
|
||||
* calc/calc-trail.el, calcalg3.el, calc/calc-cplx.el:
|
||||
* calc/calc-graph.el, calc/calc-map.el, calc/calc-rewr.el:
|
||||
* calc/calc-undo.el, calc/calccomp.el, calc/calc-embed.el:
|
||||
* calc/calc-help.el, calc/calc-math.el, calc/calc-rules.el:
|
||||
* calc/calc-units.el, calc/calcsel2.el: Style cleanup;
|
||||
don't put closing parens on their own line,
|
||||
add "foo.el ends here" to each file, and update copyright date.
|
||||
|
||||
* README: Update maintainer.
|
||||
* calc/README: Update maintainer.
|
||||
|
||||
2001-11-13 Richard M. Stallman <rms@gnu.org>
|
||||
|
||||
|
|
|
@ -1293,9 +1293,9 @@
|
|||
|
||||
2004-11-26 Jay Belanger <belanger@truman.edu>
|
||||
|
||||
* calc-misc.el (calc-last-why-command): Declare it.
|
||||
* calc/calc-misc.el (calc-last-why-command): Declare it.
|
||||
|
||||
* calc-vec.el (math-grade-vec): New variable.
|
||||
* calc/calc-vec.el (math-grade-vec): New variable.
|
||||
(calcFunc-grade, calcFunc-rgrade, math-grade-beforep):
|
||||
Replace variable grade-vec by declared variable.
|
||||
(math-rb-close): New variable.
|
||||
|
@ -1424,7 +1424,8 @@
|
|||
|
||||
2004-11-26 Lars Hansen <larsh@math.ku.dk>
|
||||
|
||||
* tramp.el (tramp-handle-directory-files-and-attributes): New function.
|
||||
* net/tramp.el (tramp-handle-directory-files-and-attributes):
|
||||
New function.
|
||||
(tramp-perl-directory-files-and-attributes): New constant.
|
||||
(tramp-file-name-handler-alist): Delete file-directory-files, add
|
||||
directory-files-and-attributes.
|
||||
|
@ -11950,7 +11951,7 @@
|
|||
|
||||
2003-11-16 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-engine.el (c-guess-continued-construct)
|
||||
* progmodes/cc-engine.el (c-guess-continued-construct)
|
||||
(c-guess-basic-syntax): Check a little more carefully if it's a
|
||||
function declaration when an unknown construct followed by a block
|
||||
is found inside a statement context. This avoids macros followed
|
||||
|
@ -11964,7 +11965,8 @@
|
|||
start is in a position so that `c-beginning-of-statement-1' jumped
|
||||
to the beginning of the same statement.
|
||||
|
||||
* cc-fonts.el, cc-engine.el (c-forward-<>-arglist-recur):
|
||||
* progmodes/cc-fonts.el, progmodes/cc-engine.el
|
||||
(c-forward-<>-arglist-recur):
|
||||
Don't accept binary operators in the arglist if we're in a function
|
||||
call context, i.e. if `c-restricted-<>-arglists' is set. That avoids
|
||||
template recognition in cases like "if (a < b || c > d)".
|
||||
|
@ -11974,38 +11976,39 @@
|
|||
|
||||
Accessing functions updated for the variable name change.
|
||||
|
||||
* cc-engine.el (c-syntactic-re-search-forward): Fix bug where the
|
||||
match data could get clobbered if NOT-INSIDE-TOKEN is used.
|
||||
* progmodes/cc-engine.el (c-syntactic-re-search-forward): Fix bug
|
||||
where the match data could get clobbered if NOT-INSIDE-TOKEN is used.
|
||||
|
||||
* cc-engine.el (c-beginning-of-statement-1): Don't allow parens in
|
||||
labels.
|
||||
* progmodes/cc-engine.el (c-beginning-of-statement-1):
|
||||
Don't allow parens in labels.
|
||||
|
||||
(c-backward-to-decl-anchor): Use `c-beginning-of-statement-1'
|
||||
instead of duplicating parts of it. This fixes bogus label
|
||||
recognition.
|
||||
|
||||
* cc-align.el (c-gnu-impose-minimum): Revert to the old method
|
||||
* progmodes/cc-align.el (c-gnu-impose-minimum): Revert to the old method
|
||||
of checking the context in which to apply the minimum indentation,
|
||||
so that it isn't enforced in e.g. namespace blocks.
|
||||
|
||||
* cc-vars.el (c-inside-block-syms): New constant used by
|
||||
* progmodes/cc-vars.el (c-inside-block-syms): New constant used by
|
||||
`c-gnu-impose-minimum'. It's defined close to `c-offsets-alist'
|
||||
to somewhat reduce the risk of becoming stale.
|
||||
|
||||
* cc-cmds.el, cc-engine.el (c-shift-line-indentation): Move from
|
||||
cc-cmds to cc-engine to allow use from cc-align.
|
||||
* progmodes/cc-cmds.el, progmodes/cc-engine.el
|
||||
(c-shift-line-indentation): Move from cc-cmds to cc-engine
|
||||
to allow use from cc-align.
|
||||
|
||||
* cc-engine.el (c-beginning-of-inheritance-list): Cope with fully
|
||||
qualified identifiers containing "::".
|
||||
* progmodes/cc-engine.el (c-beginning-of-inheritance-list):
|
||||
Cope with fully qualified identifiers containing "::".
|
||||
|
||||
* cc-defs.el (c-make-keywords-re): Add kludge for bug in
|
||||
* progmodes/cc-defs.el (c-make-keywords-re): Add kludge for bug in
|
||||
`regexp-opt' in Emacs 20 and XEmacs when strings contain newlines.
|
||||
|
||||
* cc-vars.el (c-emacs-features): Use a space in front of the name
|
||||
of the temporary buffer. That also avoids dumping problems in
|
||||
* progmodes/cc-vars.el (c-emacs-features): Use a space in front of
|
||||
the name of the temporary buffer. That also avoids dumping problems in
|
||||
XEmacs due to undo info being left around after the buffer is killed.
|
||||
|
||||
* cc-engine.el (c-in-knr-argdecl): Look closer at the function
|
||||
* progmodes/cc-engine.el (c-in-knr-argdecl): Look closer at the function
|
||||
arglist to see if it's a K&R style declaration.
|
||||
|
||||
(c-guess-basic-syntax): CASE 5B.2: Check with `c-in-knr-argdecl'
|
||||
|
@ -13476,20 +13479,20 @@
|
|||
|
||||
2003-08-11 Carsten Dominik <dominik@sand.science.uva.nl>
|
||||
|
||||
* reftex-toc.el (reftex-toc-rename-label): New function.
|
||||
* textmodes/reftex-toc.el (reftex-toc-rename-label): New function.
|
||||
(reftex-toc-check-docstruct): New function.
|
||||
|
||||
* reftex.el (reftex-region-active-p): New function.
|
||||
* textmodes/reftex.el (reftex-region-active-p): New function.
|
||||
|
||||
* reftex-parse.el (reftex-locate-bibliography-files): Improved the
|
||||
* textmodes/reftex-parse.el (reftex-locate-bibliography-files): Improved the
|
||||
regexp to find the \bibliography macro.
|
||||
|
||||
* reftex-vars.el (reftex-section-levels): Removed subsubparagraph,
|
||||
* textmodes/reftex-vars.el (reftex-section-levels): Removed subsubparagraph,
|
||||
which does not exist in LaTeX.
|
||||
(reftex-cite-format-builtin): Added amsrefs support.
|
||||
(reftex-toc-confirm-promotion): New option
|
||||
|
||||
* reftex-toc.el
|
||||
* textmodes/reftex-toc.el
|
||||
(reftex-toc): Use `reftex-toc-split-windows-fraction'.
|
||||
(reftex-toc-demote, reftex-toc-promote)
|
||||
(reftex-toc-do-promote, reftex-toc-promote-prepare)
|
||||
|
@ -13512,10 +13515,9 @@
|
|||
(reftex-toc-quit): Adapted to delete frame when called in
|
||||
dedicated frame.
|
||||
|
||||
* reftex-index.el (reftex-index-phrase-match-is-indexed): Check
|
||||
* textmodes/reftex-index.el (reftex-index-phrase-match-is-indexed): Check
|
||||
all enclosing macros.
|
||||
|
||||
|
||||
2003-08-08 Vinicius Jose Latorre <viniciusjl@ig.com.br>
|
||||
|
||||
* progmodes/ebnf2ps.el (ebnf-total, ebnf-nprod): Move defvar before
|
||||
|
|
|
@ -8191,8 +8191,9 @@
|
|||
|
||||
2006-07-10 Alan Mackenzie <acm@muc.de>
|
||||
|
||||
* progmodes/cc-awk.el, cc-defs.el, cc-fonts.el, cc-langs.el:
|
||||
* cc-mode.el: Changes to eradicate eval-after-load.
|
||||
* progmodes/cc-awk.el, progmodes/cc-defs.el, progmodes/cc-fonts.el:
|
||||
* progmodes/cc-langs.el, progmodes/cc-mode.el:
|
||||
Changes to eradicate eval-after-load.
|
||||
|
||||
2006-07-09 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
|
@ -12229,7 +12230,7 @@
|
|||
|
||||
2006-02-24 Alan Mackenzie <bug-cc-mode@gnu.org>
|
||||
|
||||
* progmodes/cc-cmds.el, cc-mode.el: Rename c-hungry-backspace to
|
||||
* progmodes/cc-cmds.el, progmodes/cc-mode.el: Rename c-hungry-backspace to
|
||||
c-hungry-delete-backwards, at the request of RMS. Leave the old
|
||||
name as an alias.
|
||||
|
||||
|
@ -12283,7 +12284,7 @@
|
|||
|
||||
* progmodes/cc-defs.el (c-version): Update version number to 5.31.2.
|
||||
|
||||
* progmodes/cc-cmds.el, cc-mode.el, cc-engine.el
|
||||
* progmodes/cc-cmds.el, progmodes/cc-mode.el, progmodes/cc-engine.el
|
||||
(c-update-modeline): Concatenate the minor mode indicators
|
||||
directly onto mode-name, removing c-submode-indicators.
|
||||
Sometimes, c-s-i got separated from the mode name on the mode line.
|
||||
|
@ -15730,7 +15731,8 @@
|
|||
Emacsen which lack `define-minor-mode'. (Currently Emacs <21.
|
||||
We might do this function properly in the future).
|
||||
|
||||
* progmodes/cc-cmds.el, cc-defs.el, cc-styles.el, cc-vars.el:
|
||||
* progmodes/cc-cmds.el, progmodes/cc-defs.el:
|
||||
* progmodes/cc-styles.el, progmodes/cc-vars.el:
|
||||
New macros c-sentence-end and c-default-value-sentence end, to cope
|
||||
with Emacs 22's new function `sentence-end'.
|
||||
|
||||
|
@ -15779,7 +15781,7 @@
|
|||
|
||||
* progmodes/cc-mode.el: Bind c-subword-mode to C-c C-w.
|
||||
|
||||
* progmodes/cc-subword.el, cc-cmds.el, cc-mode.el:
|
||||
* progmodes/cc-subword.el, progmodes/cc-cmds.el, progmodes/cc-mode.el:
|
||||
Rename "c-subword-move-mode" as "c-subword-mode".
|
||||
|
||||
* progmodes/cc-mode.el: Added tty suitable bindings for C-c
|
||||
|
@ -15810,7 +15812,7 @@
|
|||
|
||||
2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* progmodes/cc-fonts.el, cc-vars.el
|
||||
* progmodes/cc-fonts.el, progmodes/cc-vars.el
|
||||
(gtkdoc-font-lock-doc-comments, gtkdoc-font-lock-doc-protection)
|
||||
(gtkdoc-font-lock-keywords): GtkDoc patterns contributed by
|
||||
Masatake YAMATO.
|
||||
|
@ -15886,7 +15888,7 @@
|
|||
* progmodes/cc-cmds.el: Make C-c C-a (`c-toggle-auto-newline')
|
||||
forcibly enable c-electric-flag.
|
||||
|
||||
* progmodes/cc-vars.el, cc-cmds.el: New clean-up
|
||||
* progmodes/cc-vars.el, progmodes/cc-cmds.el: New clean-up
|
||||
`comment-close-slash' on c-electric-slash: if enabled, typing `/' just
|
||||
after the comment-prefix of a C-style comment will close that comment.
|
||||
|
||||
|
@ -15899,7 +15901,7 @@
|
|||
* progmodes/cc-langs.el (c-other-op-syntax-tokens): Only C++ has
|
||||
digraphs.
|
||||
|
||||
* progmodes/cc-fonts.el, cc-langs.el, cc-engine.el
|
||||
* progmodes/cc-fonts.el, progmodes/cc-langs.el, progmodes/cc-engine.el
|
||||
(c-cpp-message-directives, c-cpp-include-directives)
|
||||
(c-opt-cpp-macro-define, c-opt-cpp-macro-define-start)
|
||||
(c-cpp-expr-directives): Introduce new language constants to
|
||||
|
@ -15909,7 +15911,7 @@
|
|||
|
||||
(c-cpp-matchers, c-forward-to-cpp-define-body): Use them.
|
||||
|
||||
* progmodes/cc-langs.el, cc-fonts.el (c-string-escaped-newlines)
|
||||
* progmodes/cc-langs.el, progmodes/cc-fonts.el (c-string-escaped-newlines)
|
||||
(c-multiline-string-start-char): New language constants and
|
||||
variables to specify how newlines in string literals work.
|
||||
|
||||
|
@ -15923,13 +15925,13 @@
|
|||
(c-electric-brace): Indent syntactically after the cleanups since
|
||||
lineup functions might do it differently then.
|
||||
|
||||
* progmodes/cc-engine.el, cc-langs.el
|
||||
* progmodes/cc-engine.el, progmodes/cc-langs.el
|
||||
(c-opt-op-identifier-prefix): New language constant and variable.
|
||||
|
||||
(c-just-after-func-arglist-p, c-after-special-operator-id)
|
||||
(c-search-decl-header-end, c-inside-bracelist-p): Use it.
|
||||
|
||||
* progmodes/cc-align.el, cc-engine.el
|
||||
* progmodes/cc-align.el, progmodes/cc-engine.el
|
||||
(c-after-special-operator-id): New helper to handle C++ operator
|
||||
identifiers.
|
||||
|
||||
|
@ -16012,8 +16014,9 @@
|
|||
* progmodes/cc-cmds.el (c-show-syntactic-information): Show the
|
||||
anchor position(s) using faces. Thanks to Masatake YAMATO for the idea.
|
||||
|
||||
* progmodes/cc-mode.el, cc-cmds.el, cc-defs.el, cc-engine.el
|
||||
(c-submode-indicators): Change name from `c-auto-hungry-string'
|
||||
* progmodes/cc-mode.el, progmodes/cc-cmds.el, progmodes/cc-defs.el:
|
||||
* progmodes/cc-engine.el (c-submode-indicators):
|
||||
Change name from `c-auto-hungry-string'
|
||||
since it's now used to track another submode.
|
||||
|
||||
(c-update-modeline): Convert to function and extended to check
|
||||
|
@ -16084,7 +16087,7 @@
|
|||
to avoid heuristics that doesn't work for unclosed blocks.
|
||||
(c-at-statement-start-p): New function.
|
||||
|
||||
* progmodes/cc-engine.el, cc-fonts.el: Fixes in handling of
|
||||
* progmodes/cc-engine.el, progmodes/cc-fonts.el: Fixes in handling of
|
||||
Objective-C directives, e.g. directives spanning lines should work
|
||||
reasonably well now.
|
||||
|
||||
|
@ -16168,7 +16171,7 @@
|
|||
(c-forward-single-comment, c-backward-single-comment): Comment out
|
||||
the (now redundant) "special" AWK stuff.
|
||||
|
||||
* progmodes/cc-styles.el, cc-vars.el: Change the settings of
|
||||
* progmodes/cc-styles.el, progmodes/cc-vars.el: Change the settings of
|
||||
c-string-par-start, c-string-par-separate to be more like Text
|
||||
Mode than Fundamental Mode.
|
||||
|
||||
|
@ -16237,7 +16240,7 @@
|
|||
the checks for paren sexps between the point and the keyword, to
|
||||
avoid some false alarms.
|
||||
|
||||
* progmodes/cc-engine.el, cc-langs.el (c-looking-at-inexpr-block):
|
||||
* progmodes/cc-engine.el, progmodes/cc-langs.el (c-looking-at-inexpr-block):
|
||||
Fixed a situation where an error could be thrown for unbalanced
|
||||
parens. Changed to make use of c-keyword-member' to avoid some
|
||||
repeated regexp matches.
|
||||
|
@ -16278,7 +16281,8 @@
|
|||
|
||||
2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
|
||||
|
||||
* progmodes/cc-cmds.el, cc-styles.el, cc-vars.el: New variables
|
||||
* progmodes/cc-cmds.el, progmodes/cc-styles.el:
|
||||
* progmodes/cc-vars.el: New variables
|
||||
c-string-par-start/separate c-sentence-end-with-esc-eol,
|
||||
initialized in c-setup-paragraph-variables, used in string
|
||||
scanning subroutines of c-beginning-of-statement.
|
||||
|
@ -16288,7 +16292,7 @@
|
|||
|
||||
2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* progmodes/cc-engine.el, cc-langs.el: Rewrote the recognition
|
||||
* progmodes/cc-engine.el, progmodes/cc-langs.el: Rewrote the recognition
|
||||
function for declaration level blocks. It should now cope with
|
||||
templates better and also be a lot more comprehensible.
|
||||
|
||||
|
@ -16340,7 +16344,7 @@
|
|||
the point could be left directly after an open paren when finding
|
||||
the beginning of the first decl in the block.
|
||||
|
||||
* progmodes/cc-engine.el, cc-fonts.el (c-forward-keyword-clause):
|
||||
* progmodes/cc-engine.el, progmodes/cc-fonts.el (c-forward-keyword-clause):
|
||||
Specify which submatch to use.
|
||||
|
||||
* progmodes/cc-langs.el (c-symbol-start): Include `@' in ObjC.
|
||||
|
@ -16405,7 +16409,7 @@
|
|||
(c-specifier-key, c-not-decl-init-keywords): Some cleanup using new
|
||||
language constants `c-type-start-kwds' and `c-prefix-spec-kwds'.
|
||||
|
||||
* progmodes/cc-fonts.el, cc-langs.el, cc-engine.el:
|
||||
* progmodes/cc-fonts.el, progmodes/cc-langs.el, progmodes/cc-engine.el:
|
||||
Internal cleanups to properly detect the declared identifiers in
|
||||
various declarations.
|
||||
|
||||
|
@ -16446,11 +16450,12 @@
|
|||
* progmodes/cc-engine.el (c-maybe-labelp): Provide no default
|
||||
value - this variable is always dynamically bound.
|
||||
|
||||
* progmodes/cc-engine.el, cc-fonts.el, cc-langs.el, cc-menus.el
|
||||
* cc-mode.el, cc-styles.el, cc-vars.el, cc-align.el, cc-awk.el
|
||||
* cc-cmds.el, cc-defs.el: Change the policy for marking up
|
||||
functions that might do hidden buffer changes: All such internal
|
||||
functions are now marked instead of those that don't.
|
||||
* progmodes/cc-engine.el, progmodes/cc-fonts.el, progmodes/cc-langs.el:
|
||||
* progmodes/cc-menus.el, progmodes/cc-mode.el, progmodes/cc-styles.el:
|
||||
* progmodes/cc-vars.el, progmodes/cc-align.el, progmodes/cc-awk.el:
|
||||
* progmodes/cc-cmds.el, progmodes/cc-defs.el: Change the policy
|
||||
for marking up functions that might do hidden buffer changes:
|
||||
All such internal functions are now marked instead of those that don't.
|
||||
|
||||
(c-beginning-of-macro, c-end-of-macro, c-(forward|backward)-comments)
|
||||
(c-(forward|backward)-single-comment, c-parse-state, c-on-identifier)
|
||||
|
@ -16495,7 +16500,8 @@
|
|||
|
||||
2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* progmodes/cc-engine.el, cc-fonts.el, cc-langs.el: Cleaned up the
|
||||
* progmodes/cc-engine.el, progmodes/cc-fonts.el:
|
||||
* progmodes/cc-langs.el: Cleaned up the
|
||||
label handling. Labels are now recognized in a uniform and more
|
||||
robust way, regardless of context. Text properties are put on all
|
||||
labels to recognize the following declarations better.
|
||||
|
@ -16552,7 +16558,7 @@
|
|||
* progmodes/cc-align.el (c-lineup-arglist): Fix bug when the
|
||||
first argument starts with a special brace list.
|
||||
|
||||
* progmodes/cc-engine.el, cc-fonts.el (c-forward-decl-or-cast-1)
|
||||
* progmodes/cc-engine.el, progmodes/cc-fonts.el (c-forward-decl-or-cast-1)
|
||||
(c-font-lock-declarations): Break out the declaration and cast
|
||||
recognition from `c-font-lock-declarations' to a new function, so
|
||||
that it can be used in the indentation engine.
|
||||
|
@ -16652,7 +16658,7 @@
|
|||
|
||||
2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* progmodes/cc-fonts.el, cc-langs.el: Use `c-simple-ws' instead of
|
||||
* progmodes/cc-fonts.el, progmodes/cc-langs.el: Use `c-simple-ws' instead of
|
||||
hardcoded char classes wherever possible. Changed a couple of
|
||||
places to use skip by syntax instead of skip by char class.
|
||||
|
||||
|
@ -16702,7 +16708,7 @@
|
|||
* progmodes/cc-cmds.el: Tidy c-beginning-of-sentence (and
|
||||
subfunctions) so that it works at BOB and EOB.
|
||||
|
||||
* progmodes/cc-cmds.el, cc-vars.el: More updating of
|
||||
* progmodes/cc-cmds.el, progmodes/cc-vars.el: More updating of
|
||||
c-beginning-of-statement, including new variable
|
||||
c-block-comment-start-regexp.
|
||||
|
||||
|
@ -16742,7 +16748,7 @@
|
|||
|
||||
2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* progmodes/cc-engine.el, cc-fonts.el, cc-langs.el
|
||||
* progmodes/cc-engine.el, progmodes/cc-fonts.el, progmodes/cc-langs.el
|
||||
(c-guess-basic-syntax): Change the way class-level labels are
|
||||
recognized; they can now contain essentially any symbols.
|
||||
|
||||
|
@ -16765,7 +16771,7 @@
|
|||
Remove some cruft and fixed a bug that could cause it to go to a
|
||||
position further down.
|
||||
|
||||
* progmodes/cc-langs.el, cc-engine.el
|
||||
* progmodes/cc-langs.el, progmodes/cc-engine.el
|
||||
(c-beginning-of-statement-1): Improve detection of labels in
|
||||
declaration contexts.
|
||||
|
||||
|
@ -16780,7 +16786,7 @@
|
|||
* progmodes/cc-defs.el (c-forward-sexp, c-backward-sexp):
|
||||
Make these behave as documented when used at the buffer limits.
|
||||
|
||||
* progmodes/cc-mode.el, cc-engine.el, cc-langs.el
|
||||
* progmodes/cc-mode.el, progmodes/cc-engine.el, progmodes/cc-langs.el
|
||||
(c-type-decl-end-used): Made this a language variable.
|
||||
|
||||
* progmodes/cc-mode.el (c-after-change): Widen the buffer to work
|
||||
|
@ -16807,7 +16813,8 @@
|
|||
* progmodes/cc-mode.el (c-basic-common-init): Turn on syntax-table
|
||||
text property lookup only when it's needed.
|
||||
|
||||
* progmodes/cc-langs.el, cc-engine.el, cc-fonts.el, cc-mode.el:
|
||||
* progmodes/cc-langs.el, progmodes/cc-engine.el:
|
||||
* progmodes/cc-fonts.el, progmodes/cc-mode.el:
|
||||
Change the policy for paren marked angle brackets to be more
|
||||
persistent; once marked they remain marked even when they're found
|
||||
to be unbalanced in the searched region. This should keep the
|
||||
|
@ -16852,27 +16859,29 @@
|
|||
|
||||
2005-12-08 Alan Mackenzie <bug-cc-mode@gnu.org>
|
||||
|
||||
* progmodes/cc-cmds.el, cc-engine.el, cc-langs.el, cc-vars.el:
|
||||
* progmodes/cc-cmds.el, progmodes/cc-engine.el:
|
||||
* progmodes/cc-langs.el, progmodes/cc-vars.el:
|
||||
Make the "Text Filling and Line Breaking" commands work for AWK buffers.
|
||||
|
||||
2005-12-08 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* progmodes/cc-defs.el, cc-engine.el (c-mode-is-new-awk-p):
|
||||
* progmodes/cc-defs.el, progmodes/cc-engine.el (c-mode-is-new-awk-p):
|
||||
Removed; (c-major-mode-is 'awk-mode) can be used instead now.
|
||||
|
||||
* progmodes/cc-mode.el: Always set up AWK mode since emacsen where
|
||||
it doesn't work no longer are supported.
|
||||
|
||||
* progmodes/cc-mode.el, cc-styles.el, cc-vars.el, cc-defs.el
|
||||
* cc-engine.el, cc-fonts.el, cc-langs.el, cc-cmds.el: CC Mode now
|
||||
* progmodes/cc-mode.el, progmodes/cc-styles.el, progmodes/cc-vars.el:
|
||||
* progmodes/cc-defs.el, progmodes/cc-engine.el, progmodes/cc-fonts.el:
|
||||
* progmodes/cc-langs.el, progmodes/cc-cmds.el: CC Mode now
|
||||
requires support for the syntax-table' text property, which rules
|
||||
out Emacs 19 and XEmacs < 21.4. Removed various compatibility
|
||||
cruft associated with those versions.
|
||||
|
||||
* progmodes/cc-defs.el, cc-fix.el: CC Mode now requires support
|
||||
for the `syntax-table' text property, which rules out Emacs 19 and
|
||||
XEmacs < 21.4. Removed various compatibility cruft associated
|
||||
with those versions.
|
||||
* progmodes/cc-defs.el, progmodes/cc-fix.el: CC Mode now requires
|
||||
support for the `syntax-table' text property, which rules out
|
||||
Emacs 19 and XEmacs < 21.4. Remove various compatibility cruft
|
||||
associated with those versions.
|
||||
|
||||
* progmodes/cc-vars.el (c-emacs-features): CC Mode now requires
|
||||
support for the `syntax-table' text property.
|
||||
|
@ -27408,14 +27417,14 @@
|
|||
* progmodes/cc-engine.el (c-guess-basic-syntax): Handle operator
|
||||
declarations somewhat better in C++.
|
||||
|
||||
* progmodes/cc-styles.el, cc-mode.el (c-run-mode-hooks):
|
||||
* progmodes/cc-styles.el, progmodes/cc-mode.el (c-run-mode-hooks):
|
||||
New helper macro to make use of `run-mode-hooks'
|
||||
which has been added in Emacs 21.1.
|
||||
(c-mode, c++-mode, objc-mode, java-mode, idl-mode, pike-mode)
|
||||
(awk-mode): Use it.
|
||||
(make-local-hook): Suppress warning about obsolescence.
|
||||
|
||||
* progmodes/cc-engine.el, cc-align.el, cc-cmds.el
|
||||
* progmodes/cc-engine.el, progmodes/cc-align.el, progmodes/cc-cmds.el
|
||||
(c-append-backslashes-forward, c-delete-backslashes-forward)
|
||||
(c-find-decl-spots, c-semi&comma-no-newlines-before-nonblanks):
|
||||
Compensate for return value from `forward-line' when it has moved
|
||||
|
@ -27428,9 +27437,9 @@
|
|||
|
||||
CC Mode update to 5.30.10:
|
||||
|
||||
* progmodes/cc-mode.el, cc-engine.el, cc-align.el: Change the FSF's
|
||||
address in the copyright statement. Incidentally, change "along with
|
||||
GNU Emacs" to "along with this program" where it occurs.
|
||||
* progmodes/cc-mode.el, progmodes/cc-engine.el, progmodes/cc-align.el:
|
||||
Change the FSF's address in the copyright statement. Incidentally,
|
||||
change "along with GNU Emacs" to "along with this program" where it occurs.
|
||||
|
||||
* progmodes/cc-mode.el: Add a fourth parameter `t' to the awk-mode
|
||||
autoload, so that it is interactive, hence can be found by M-x awk-mode
|
||||
|
|
|
@ -541,7 +541,7 @@
|
|||
|
||||
2008-02-01 Vinicius Jose Latorre <viniciusjl@ig.com.br>
|
||||
|
||||
* ps-print.ps: Fix background height.
|
||||
* ps-print.el: Fix background height.
|
||||
(ps-print-version): New version 7.2.1.
|
||||
|
||||
2008-02-01 Vinicius Jose Latorre <viniciusjl@ig.com.br>
|
||||
|
|
|
@ -7565,7 +7565,7 @@
|
|||
|
||||
2008-09-05 Wilson Snyder <wsnyder@wsnyder.org>
|
||||
|
||||
* verilog-mode.el (verilog-library-extensions): Enable .sv
|
||||
* progmodes/verilog-mode.el (verilog-library-extensions): Enable .sv
|
||||
filename extensions to call verilog-mode.
|
||||
(verilog-auto, verilog-auto-inst, verilog-faq)
|
||||
(verilog-submit-bug-report): Update author support URLs.
|
||||
|
@ -7592,7 +7592,7 @@
|
|||
|
||||
2008-09-05 Michael McNamara <mac@mail.brushroad.com>
|
||||
|
||||
* verilog-mode.el (verilog-beg-block-re-ordered, verilog-calc-1):
|
||||
* progmodes/verilog-mode.el (verilog-beg-block-re-ordered, verilog-calc-1):
|
||||
Better support for the property statement. Sometimes this keyword
|
||||
introduces a statement which requires an endproperty keyword, and
|
||||
sometimes it doesn't, depending on the work before the property
|
||||
|
@ -11807,7 +11807,7 @@
|
|||
|
||||
2008-05-24 Ulf Jasper <ulf.jasper@web.de>
|
||||
|
||||
* icalendar.el (icalendar-version): Increase to "0.19".
|
||||
* calendar/icalendar.el (icalendar-version): Increase to "0.19".
|
||||
(icalendar--date-style): New function.
|
||||
(icalendar--datetime-to-diary-date): Doc fix.
|
||||
Use icalendar--date-style.
|
||||
|
@ -13390,10 +13390,6 @@
|
|||
(orgtbl-send-table): Use the previous two functions and implement
|
||||
multiple destinations for each table.
|
||||
|
||||
* doc/org.texi (A LaTeX example): Note that fmt may be a
|
||||
one-argument function, and efmt may be a two-argument function.
|
||||
(Radio tables): Document multiple destinations.
|
||||
|
||||
2008-04-27 Carsten Dominik <dominik@science.uva.nl>
|
||||
|
||||
* org/org-agenda.el (org-add-to-diary-list): New function.
|
||||
|
@ -13508,7 +13504,7 @@
|
|||
|
||||
2008-04-27 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
* Makefile.el: Unbreak bootstrap.
|
||||
* Makefile.in: Unbreak bootstrap.
|
||||
|
||||
2008-04-27 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
|
|
|
@ -5790,18 +5790,18 @@
|
|||
Enhance fontification of declarators to take account of the
|
||||
presence/absence of "typedef".
|
||||
|
||||
* cc-engine.el (c-forward-type): New &optional param
|
||||
* progmodes/cc-engine.el (c-forward-type): New &optional param
|
||||
"brace-block-too".
|
||||
(c-forward-decl-or-cast-1): cdr of return value now indicates the
|
||||
presence of either or both of a "struct"-like keyword and "typedef".
|
||||
|
||||
* cc-fonts.el (c-complex-decl-matchers): Remove the heuristic
|
||||
* progmodes/cc-fonts.el (c-complex-decl-matchers): Remove the heuristic
|
||||
fontification of declarators which follow a "}".
|
||||
(c-font-lock-declarations): Fontify declarators according to the
|
||||
presence/absence of "typedef".
|
||||
|
||||
* cc-langs.el (c-typedef-kwds c-typedef-key): New lang variable
|
||||
for "typedef".
|
||||
* progmodes/cc-langs.el (c-typedef-kwds c-typedef-key):
|
||||
New lang variable for "typedef".
|
||||
(c-typedef-decl-key): New lang variable built from
|
||||
c-typedef-decl-kwds.
|
||||
|
||||
|
@ -18135,6 +18135,10 @@
|
|||
|
||||
* window.el (window-full-height-p): New function. (Bug#4543)
|
||||
|
||||
2009-10-03 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* files.el (auto-mode-alist): Add .srt and Project.ede.
|
||||
|
||||
2009-10-03 Dan Nicolaescu <dann@ics.uci.edu>
|
||||
|
||||
* vc.el: Remove commented out code.
|
||||
|
|
|
@ -965,7 +965,7 @@
|
|||
|
||||
2013-02-13 Yves Baumes <ybaumes@gmail.com> (tiny change)
|
||||
|
||||
* lisp/emacs-lisp/package.el (package-menu-execute):
|
||||
* emacs-lisp/package.el (package-menu-execute):
|
||||
Add optional noquery argument. (Bug#13625)
|
||||
|
||||
2013-02-13 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
@ -1408,7 +1408,7 @@
|
|||
|
||||
2013-01-30 Jay Belanger <jay.p.belanger@gmail.com>
|
||||
|
||||
* calc-units.el (math-default-units-table): Remove initial value.
|
||||
* calc/calc-units.el (math-default-units-table): Remove initial value.
|
||||
(calc-convert-units): Treat expressions where all the units cancel as
|
||||
if they didn't have units.
|
||||
|
||||
|
@ -1437,9 +1437,9 @@
|
|||
2013-01-29 Alan Mackenzie <acm@muc.de>
|
||||
|
||||
Amend to fontify /regexp/s in actions correctly.
|
||||
* cc-awk.el (c-awk-harmless-char-re, c-awk-harmless-string*-re):
|
||||
(c-awk-harmless-string*-here-re): Braces, parens and semicolons
|
||||
are no longer included.
|
||||
* progmodes/cc-awk.el (c-awk-harmless-char-re)
|
||||
(c-awk-harmless-string*-re, c-awk-harmless-string*-here-re):
|
||||
Braces, parens and semicolons are no longer included.
|
||||
(c-awk-harmless-line-char-re, c-awk-harmless-line-string*-re):
|
||||
What used to be these variables without "-line" in the name.
|
||||
(c-awk-neutral-re): { is no longer neutral. Escaped newlines now are.
|
||||
|
@ -2813,7 +2813,7 @@
|
|||
|
||||
2012-12-12 Jonas Bernoulli <jonas@bernoul.li>
|
||||
|
||||
* lisp/emacs-lisp/eieio.el: Prettier object pretty-printing (bug#13115).
|
||||
* emacs-lisp/eieio.el: Prettier object pretty-printing (bug#13115).
|
||||
(eieio-override-prin1): Don't quote kewords and booleans.
|
||||
(object-write) <eieio-default-superclass>: Don't put closing parens
|
||||
on new line, avoid needless empty lines, align values that are objects
|
||||
|
@ -5041,13 +5041,13 @@
|
|||
* startup.el (command-line): Mark window system is initialized
|
||||
after we've done it.
|
||||
|
||||
* common-win.el (x-select-text): Look for w32, not windows-nt.
|
||||
* term/common-win.el (x-select-text): Look for w32, not windows-nt.
|
||||
|
||||
* ns-win.el: Require cl-lib. Add ourselves to
|
||||
* term/ns-win.el: Require cl-lib. Add ourselves to
|
||||
display-format-alist.
|
||||
(ns-initialize-window-system): Assert we're not initialized twice.
|
||||
|
||||
* w32-win.el: Enable lexical binding; require cl-lib; add
|
||||
* term/w32-win.el: Enable lexical binding; require cl-lib; add
|
||||
ourselves to display-format-alist.
|
||||
(w32-handle-dropped-file): Convert incoming dropped files from
|
||||
Windows paths to Cygwin ones before passing them on to the rest of
|
||||
|
@ -5055,7 +5055,7 @@
|
|||
(w32-drag-n-drop): New paramter new-frame. Simplify logic.
|
||||
(w32-initialize-window-system): Assert we're not initialized twice.
|
||||
|
||||
* x-win.el: Require cl-lib; add ourselves to display-format-alist.
|
||||
* term/x-win.el: Require cl-lib; add ourselves to display-format-alist.
|
||||
(x-initialize-window-system): Assert we're not initialized twice.
|
||||
|
||||
* w32-common-fns.el: New File.
|
||||
|
@ -5894,8 +5894,8 @@
|
|||
|
||||
2012-09-25 Wilson Snyder <wsnyder@wsnyder.org>
|
||||
|
||||
* verilog-mode.el (verilog-auto-ascii-enum, verilog-auto-inout)
|
||||
(verilog-auto-input, verilog-auto-insert-lisp)
|
||||
* progmodes/verilog-mode.el (verilog-auto-ascii-enum)
|
||||
(verilog-auto-inout, verilog-auto-input, verilog-auto-insert-lisp)
|
||||
(verilog-auto-output, verilog-auto-output-every, verilog-auto-reg)
|
||||
(verilog-auto-reg-input, verilog-auto-tieoff, verilog-auto-undef)
|
||||
(verilog-auto-unused, verilog-auto-wire)
|
||||
|
@ -8101,7 +8101,7 @@
|
|||
|
||||
2012-08-04 Michal Nazarewicz <mina86@mina86.com>
|
||||
|
||||
* lisp/mpc.el: Support password in host argument.
|
||||
* mpc.el: Support password in host argument.
|
||||
(mpc--proc-connect): Parse and use new password element.
|
||||
Set mpc-proc variable instead of returning process.
|
||||
(mpc-proc): Adjust accordingly.
|
||||
|
@ -8204,17 +8204,17 @@
|
|||
|
||||
2012-07-31 Jay Belanger <jay.p.belanger@gmail.com>
|
||||
|
||||
* calc-mode.el (calc-basic-simplification-mode): Rename from
|
||||
* calc/calc-mode.el (calc-basic-simplification-mode): Rename from
|
||||
`calc-limited-simplification-mode'.
|
||||
(calc-alg-simplification-mode): New function.
|
||||
(calc-set-simplify-mode): Adjust message.
|
||||
|
||||
* calc.el (calc-set-mode-line): Adjust mode line display for
|
||||
* calc/calc.el (calc-set-mode-line): Adjust mode line display for
|
||||
basic simplification mode.
|
||||
|
||||
* calc-help.el (calc-m-prefix-help): Update help message.
|
||||
* calc/calc-help.el (calc-m-prefix-help): Update help message.
|
||||
|
||||
* calc-ext.el (calc-init-extensions): Add bindings and autoloads
|
||||
* calc/calc-ext.el (calc-init-extensions): Add bindings and autoloads
|
||||
for `calc-basic-simplify-mode' and `calc-alg-simplify-mode'.
|
||||
|
||||
2012-07-31 Bastien Guerry <bzg@gnu.org>
|
||||
|
|
|
@ -11004,7 +11004,7 @@
|
|||
1989-06-23 Joseph Arceneaux (jla@all-bran.ai.mit.edu)
|
||||
|
||||
* term/x-win.el (x-pop-up-window): Run hook x-pop-up-window-hook.
|
||||
(x-color-screen-p): New macro; used to be C function.
|
||||
(x-color-screen-p): New macro; used to be C function in xfns.c.
|
||||
|
||||
1989-06-22 Richard Stallman (rms@mole.ai.mit.edu)
|
||||
|
||||
|
|
298
lisp/ChangeLog.9
298
lisp/ChangeLog.9
|
@ -2437,20 +2437,6 @@
|
|||
|
||||
* emacs-lisp/elp.el: A fix to follow coding conventions.
|
||||
|
||||
* gnus/binhex.el, gnus/binhex.el, gnus/earcon.el,
|
||||
* gnus/gnus-agent.el, gnus/gnus-art.el, gnus/gnus-audio.el,
|
||||
* gnus/gnus-logic.el, gnus/gnus-ml.el, gnus/gnus-mlspl.el,
|
||||
* gnus/gnus-setup.el, gnus/gnus-srvr.el, gnus/gnus-sum.el,
|
||||
* gnus/gnus-uu.el, gnus/gnus-vm.el, gnus/ietf-drums.el,
|
||||
* gnus/mail-parse.el, gnus/mail-prsvr.el, gnus/mail-source.el,
|
||||
* gnus/mm-bodies.el, gnus/mm-decode.el, gnus/mm-encode.el,
|
||||
* gnus/mm-partial.el, gnus/mm-util.el, gnus/mm-uu.el,
|
||||
* gnus/mm-view.el, gnus/mml.el, gnus/nnimap.el, gnus/nnoo.el,
|
||||
* gnus/parse-time.el, gnus/rfc1843.el, gnus/rfc2045.el,
|
||||
* gnus/rfc2047.el, gnus/rfc2104.el, gnus/rfc2231.el,
|
||||
* gnus/time-date.el, gnus/uudecode.el: Some fixes to follow coding
|
||||
conventions in files from Gnus.
|
||||
|
||||
* abbrevlist.el, array.el, buff-menu.el, calendar/appt.el,
|
||||
* case-table.el, cdl.el, cmuscheme.el, compare-w.el, completion.el,
|
||||
* custom.el, derived.el, dired-aux.el, disp-table.el, dos-vars.el,
|
||||
|
@ -2569,7 +2555,7 @@
|
|||
|
||||
2001-07-10 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-cmds.el (c-indent-exp): Keep the indentation of the block
|
||||
* progmodes/cc-cmds.el (c-indent-exp): Keep the indentation of the block
|
||||
itself, i.e. only indent the contents in it.
|
||||
|
||||
2001-07-10 Markus Rost <rost@math.ohio-state.edu>
|
||||
|
@ -2601,7 +2587,7 @@
|
|||
|
||||
2001-07-09 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-cmds.el: Extended the kludge to interoperate with the
|
||||
* progmodes/cc-cmds.el: Extended the kludge to interoperate with the
|
||||
delsel and pending-del packages wrt to the new function
|
||||
`c-electric-delete-forward'.
|
||||
|
||||
|
@ -3648,14 +3634,14 @@
|
|||
|
||||
2001-05-04 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-cmds.el (c-electric-delete, c-electric-delete-forward):
|
||||
* progmodes/cc-cmds.el (c-electric-delete, c-electric-delete-forward):
|
||||
Split `c-electric-delete' into two functions where
|
||||
`c-electric-delete-forward' always deletes forward and
|
||||
`c-electric-delete' only contains the code necessary for XEmacs to
|
||||
choose between backward and forward deletion.
|
||||
|
||||
* cc-mode.el: `c-electric-delete-forward' is now bound to C-d to
|
||||
get the electric behavior on that key too.
|
||||
* progmodes/cc-mode.el: `c-electric-delete-forward' is now bound
|
||||
to C-d to get the electric behavior on that key too.
|
||||
(c-fill-paragraph): Fixed bogus direct use of
|
||||
c-comment-prefix-regexp, which caused an error when it's a list.
|
||||
|
||||
|
@ -4463,53 +4449,54 @@
|
|||
|
||||
2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-mode.el, cc-vars.el (c-common-init, c-default-style):
|
||||
* progmodes/cc-mode.el, progmodes/cc-vars.el (c-common-init)
|
||||
(c-default-style):
|
||||
Removed the hardcoded switch to "java" style in Java mode.
|
||||
It's instead taken care of by the default value for c-default-style.
|
||||
|
||||
2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-align.el (c-lineup-math): Fix bug where lineup was
|
||||
* progmodes/cc-align.el (c-lineup-math): Fix bug where lineup was
|
||||
triggered by equal signs in string literals.
|
||||
|
||||
2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-cmds.el (c-fill-paragraph): Fixed bug in the paragraph
|
||||
* progmodes/cc-cmds.el (c-fill-paragraph): Fixed bug in the paragraph
|
||||
limit detection when at the ends of the buffer.
|
||||
|
||||
* cc-engine.el (c-guess-basic-syntax): Removed bogus check for
|
||||
* progmodes/cc-engine.el (c-guess-basic-syntax): Removed bogus check for
|
||||
"for" statement clause in case 7F; a better one is done
|
||||
earlier in case 7D anyway.
|
||||
|
||||
2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-cmds.el (c-guess-fill-prefix): Improved the heuristics
|
||||
* progmodes/cc-cmds.el (c-guess-fill-prefix): Improved the heuristics
|
||||
somewhat more and did a small optimization.
|
||||
|
||||
2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-cmds.el (c-beginning-of-statement, c-end-of-statement):
|
||||
* progmodes/cc-cmds.el (c-beginning-of-statement, c-end-of-statement):
|
||||
Use the limit argument only to limit the syntactic context
|
||||
search, not to limit the actual movement.
|
||||
|
||||
* cc-cmds.el (c-beginning-of-statement): Move by sentence
|
||||
* progmodes/cc-cmds.el (c-beginning-of-statement): Move by sentence
|
||||
inside multiline strings, just like in comments. Also various
|
||||
fixes to the paragraph and comment prefix recognition, block
|
||||
comment ender handling etc.
|
||||
|
||||
2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-cmds.el (c-fill-paragraph): Take more care to preserve
|
||||
* progmodes/cc-cmds.el (c-fill-paragraph): Take more care to preserve
|
||||
the relative position of the point.
|
||||
|
||||
* cc-cmds.el (c-electric-continued-statement): New function to
|
||||
* progmodes/cc-cmds.el (c-electric-continued-statement): New function to
|
||||
use as abbrev hook to reindent for keywords such as "else"
|
||||
that continues an earlier statement.
|
||||
|
||||
* cc-menus.el (cc-imenu-c++-generic-expression): Treat structs
|
||||
* progmodes/cc-menus.el (cc-imenu-c++-generic-expression): Treat structs
|
||||
like classes.
|
||||
|
||||
* cc-mode.el (c-mode, c++-mode, java-mode, objc-mode)
|
||||
* progmodes/cc-mode.el (c-mode, c++-mode, java-mode, objc-mode)
|
||||
(pike-mode): Populate the default abbrev tables to reindent for
|
||||
keywords such as "else" that can continue earlier statements.
|
||||
Abbrev mode is therefore turned on by default now. (Note that
|
||||
|
@ -4518,30 +4505,30 @@
|
|||
|
||||
2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-engine.el (c-inside-bracelist-p): Fix for handling
|
||||
* progmodes/cc-engine.el (c-inside-bracelist-p): Fix for handling
|
||||
bracelists where the declaration contains template arguments.
|
||||
|
||||
2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-cmds.el (c-comment-indent):
|
||||
* progmodes/cc-cmds.el (c-comment-indent):
|
||||
Use `c-get-syntactic-indentation' to correctly calculate the
|
||||
syntactic indentation. Fixes bug with lineup functions that
|
||||
return vectors.
|
||||
|
||||
* cc-engine.el (c-get-syntactic-indentation): Split the
|
||||
* progmodes/cc-engine.el (c-get-syntactic-indentation): Split the
|
||||
indentation sum calculation from `c-indent-line' to a separate
|
||||
function.
|
||||
|
||||
2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-cmds.el (c-beginning-of-statement, c-comment-indent):
|
||||
* progmodes/cc-cmds.el (c-beginning-of-statement, c-comment-indent):
|
||||
Fixed places where it was assumed that preprocessor directives
|
||||
have to start in column zero.
|
||||
|
||||
* cc-engine.el (c-beginning-of-member-init-list): Handle C++
|
||||
* progmodes/cc-engine.el (c-beginning-of-member-init-list): Handle C++
|
||||
template arguments after a class identifier properly.
|
||||
|
||||
* cc-engine.el (c-guess-basic-syntax): Treat initializer brace
|
||||
* progmodes/cc-engine.el (c-guess-basic-syntax): Treat initializer brace
|
||||
lists for `new Foo[]' constructs in Java as expressions and
|
||||
not top level definition brace lists on the top level, so that
|
||||
they'll get indented consistently with the same type of
|
||||
|
@ -4549,25 +4536,26 @@
|
|||
|
||||
2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-cmds.el (c-fill-paragraph): The kludge that checks
|
||||
* progmodes/cc-cmds.el (c-fill-paragraph): The kludge that checks
|
||||
whether the adaptive filling package fails to keep the comment
|
||||
prefix is now kludged further to check for filladapt-mode
|
||||
which doesn't have that problem. This is really icky, but it's
|
||||
the only way that works with the current misfeatures/bugs in
|
||||
both adaptive-fill-mode and filladapt-mode.
|
||||
|
||||
* cc-cmds.el (c-fill-paragraph): Made the way the paragraph
|
||||
* progmodes/cc-cmds.el (c-fill-paragraph): Made the way the paragraph
|
||||
around point is recognized more robust.
|
||||
|
||||
2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-cmds.el, cc-engine.el, cc-lobotomy.el (c-state-cache)
|
||||
* progmodes/cc-cmds.el, progmodes/cc-engine.el:
|
||||
* progmodes/cc-lobotomy.el (c-state-cache)
|
||||
(c-in-literal-cache, c-auto-fill-prefix, c-lit-limits)
|
||||
(c-lit-type): Fixed all internal variables used dynamically so
|
||||
that they are always bound.
|
||||
|
||||
* cc-cmds.el, cc-engine.el: Improved recovery of syntactic
|
||||
errors:
|
||||
* progmodes/cc-cmds.el, progmodes/cc-engine.el:
|
||||
Improve recovery of syntactic errors:
|
||||
|
||||
(c-indent-region): Fixed reporting of syntactic errors so that
|
||||
the region is fully reindented even when an error occurs.
|
||||
|
@ -4594,22 +4582,23 @@
|
|||
|
||||
2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-cmds.el (c-beginning-of-statement): Fixed bugs with
|
||||
* progmodes/cc-cmds.el (c-beginning-of-statement): Fixed bugs with
|
||||
paragraph recognition when moving by sentence in literals.
|
||||
|
||||
* cc-langs.el (c-Java-javadoc-paragraph-start): Modified paragraph
|
||||
start regexp for javadoc to recognize javadoc markup in general instead
|
||||
of a specific set of keywords, to be more future-safe.
|
||||
* progmodes/cc-langs.el (c-Java-javadoc-paragraph-start): Modified
|
||||
paragraph start regexp for javadoc to recognize javadoc markup in
|
||||
general instead of a specific set of keywords, to be more future-safe.
|
||||
|
||||
(c-Pike-pikedoc-paragraph-start)
|
||||
(c-Pike-pikedoc-paragraph-separate): New regexps to recognize
|
||||
pikedoc markup.
|
||||
|
||||
* cc-mode.el: Fixed initialization and use of c-current-comment-prefix.
|
||||
* progmodes/cc-mode.el:
|
||||
Fixed initialization and use of c-current-comment-prefix.
|
||||
|
||||
(pike-mode): Initialize paragraph settings pikedoc recognition.
|
||||
|
||||
* cc-vars.el (c-default-style): Made a nicer Customize widget.
|
||||
* progmodes/cc-vars.el (c-default-style): Made a nicer Customize widget.
|
||||
|
||||
(c-comment-prefix-regexp): Made it possible to use an
|
||||
association list on this to specify mode specific regexps.
|
||||
|
@ -4621,114 +4610,116 @@
|
|||
|
||||
2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-cmds.el (c-electric-brace): Fixed check for special brace
|
||||
* progmodes/cc-cmds.el (c-electric-brace): Fixed check for special brace
|
||||
lists: We can't look at the syntax, since a brace list can get
|
||||
recognized as a plain statement-cont.
|
||||
|
||||
* cc-engine.el (c-guess-basic-syntax): Fixed bug where a
|
||||
* progmodes/cc-engine.el (c-guess-basic-syntax): Fixed bug where a
|
||||
special brace list opener broken over two lines got recognized
|
||||
as a statement on the second line. Case 9A changed.
|
||||
|
||||
2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-cmds.el (c-electric-brace): Fixed bug in c-state-cache
|
||||
* progmodes/cc-cmds.el (c-electric-brace): Fixed bug in c-state-cache
|
||||
adjustment after line is reindented.
|
||||
|
||||
2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-defs.el (c-point): Added optional argument for position
|
||||
* progmodes/cc-defs.el (c-point): Added optional argument for position
|
||||
to use instead of the current point.
|
||||
|
||||
* cc-defs.el, cc-engine.el (c-add-class-syntax): Do not add
|
||||
the in-expression block symbols when the construct starts at
|
||||
boi, to avoid the extra level of indentation in that case.
|
||||
* progmodes/cc-defs.el, progmodes/cc-engine.el (c-add-class-syntax):
|
||||
Do not add the in-expression block symbols when the construct
|
||||
starts at boi, to avoid the extra level of indentation in that case.
|
||||
Cases 4, 16A and 17E affected.
|
||||
|
||||
2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-cmds.el: Use `indent-according-to-mode' instead of direct
|
||||
* progmodes/cc-cmds.el: Use `indent-according-to-mode' instead of direct
|
||||
calls to `c-indent-line', to adhere better to Emacs conventions.
|
||||
|
||||
* cc-engine.el (c-indent-line): Use the syntax already bound
|
||||
* progmodes/cc-engine.el (c-indent-line): Use the syntax already bound
|
||||
to `c-syntactic-context', if there is any.
|
||||
|
||||
2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-engine.el (c-get-offset): Fixed bug where the indentation
|
||||
* progmodes/cc-engine.el (c-get-offset): Fixed bug where the indentation
|
||||
wasn't added up correctly when a lineup function returned nil.
|
||||
|
||||
2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-engine.el (c-collect-line-comments): Fixed bug where
|
||||
* progmodes/cc-engine.el (c-collect-line-comments): Fixed bug where
|
||||
empty lines were ignored when collecting line comments backwards.
|
||||
|
||||
2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-align.el (c-lineup-dont-change): Return an absolute
|
||||
* progmodes/cc-align.el (c-lineup-dont-change): Return an absolute
|
||||
indentation column to work correctly in the case when several
|
||||
syntactic elements are processed for the same line.
|
||||
|
||||
* cc-engine.el, cc-styles.el, cc-vars.el (c-evaluate-offset)
|
||||
* progmodes/cc-engine.el, progmodes/cc-styles.el:
|
||||
* progmodes/cc-vars.el (c-evaluate-offset)
|
||||
(c-get-offset, c-indent-line, c-valid-offset, c-read-offset)
|
||||
(c-set-offset): Added absolute indentation column settings by
|
||||
using the vector type.
|
||||
|
||||
2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-cmds.el, cc-vars.el (c-electric-paren, c-cleanup-list):
|
||||
* progmodes/cc-cmds.el, progmodes/cc-vars.el
|
||||
(c-electric-paren, c-cleanup-list):
|
||||
Implemented two new cleanups `space-before-funcall' and
|
||||
`compact-empty-funcall'.
|
||||
|
||||
2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-defs.el (c-paren-re, c-identifier-re): Two new macros for
|
||||
* progmodes/cc-defs.el (c-paren-re, c-identifier-re): Two new macros for
|
||||
helping building regexps.
|
||||
|
||||
* cc-engine.el (c-on-identifier): New function for detecting
|
||||
* progmodes/cc-engine.el (c-on-identifier): New function for detecting
|
||||
identifiers. It takes keywords into account.
|
||||
|
||||
* cc-langs.el, cc-mode.el: Added regexps for complete keyword
|
||||
lists. `c-keywords' is set to a regexp matching all keywords
|
||||
in the current language.
|
||||
* progmodes/cc-langs.el, progmodes/cc-mode.el: Added regexps for
|
||||
complete keyword lists. `c-keywords' is set to a regexp matching
|
||||
all keywords in the current language.
|
||||
|
||||
2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-engine.el (c-beginning-of-statement-1): Added '#' to the
|
||||
* progmodes/cc-engine.el (c-beginning-of-statement-1): Added '#' to the
|
||||
list of characters to skip backwards over at the beginning of
|
||||
a statement, since it can precede string literals in Pike.
|
||||
|
||||
2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-cmds.el (c-guess-fill-prefix): Fixed bug with prefix
|
||||
* progmodes/cc-cmds.el (c-guess-fill-prefix): Fixed bug with prefix
|
||||
recognition when standing on the last line in a C++ comment
|
||||
with nothing but whitespace after the prefix.
|
||||
|
||||
* cc-engine.el (c-backward-to-start-of-if): Fixed bug when
|
||||
* progmodes/cc-engine.el (c-backward-to-start-of-if): Fixed bug when
|
||||
given no limit argument.
|
||||
|
||||
2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-engine.el (c-inside-bracelist-p): Fixed brace list
|
||||
* progmodes/cc-engine.el (c-inside-bracelist-p): Fixed brace list
|
||||
recognition for the `[]= operator symbol in Pike.
|
||||
|
||||
2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-bytecomp.el (cc-eval-when-compile): New macro that works
|
||||
* progmodes/cc-bytecomp.el (cc-eval-when-compile): New macro that works
|
||||
around a bug in `eval-when-compile' in the byte compiler.
|
||||
|
||||
* cc-engine.el (c-forward-token-1): Fixed bug with return
|
||||
* progmodes/cc-engine.el (c-forward-token-1): Fixed bug with return
|
||||
value when count is zero and there's no token start within the limit.
|
||||
|
||||
(c-guess-basic-syntax): Don't add 'comment-intro to lines with
|
||||
"prefix comments", i.e. comments which are followed by code on
|
||||
the same line.
|
||||
|
||||
* cc-mode-19.el: Fixes so that checks that must be done at
|
||||
* progmodes/cc-mode-19.el: Fixes so that checks that must be done at
|
||||
compile time also are done then.
|
||||
|
||||
2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-defs.el: Make sure cc-mode-19 is loaded both at compile
|
||||
* progmodes/cc-defs.el: Make sure cc-mode-19 is loaded both at compile
|
||||
time and at runtime, and only when it's needed.
|
||||
|
||||
2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
@ -4738,7 +4729,7 @@
|
|||
compilation orders. Thanks to Martin Buchholz for providing
|
||||
the basis for all this.
|
||||
|
||||
* cc-bytecomp.el: New file that provides some byte compilation
|
||||
* progmodes/cc-bytecomp.el: New file that provides some byte compilation
|
||||
features: It ensures that files always are loaded from the
|
||||
current source directory during compilation, and it provides a
|
||||
set of macros to turn off specific compiler warnings for
|
||||
|
@ -4747,61 +4738,62 @@
|
|||
Fixed a nearly acyclic dependency tree (both runtime and
|
||||
compile-time) between all files.
|
||||
|
||||
* cc-defs.el: Separated all macros before the inline functions,
|
||||
to ensure correct compilation.
|
||||
* progmodes/cc-defs.el: Separated all macros before the
|
||||
inline functions, to ensure correct compilation.
|
||||
|
||||
* cc-defs.el, cc-engine.el: Moved c-beginning-of-macro to from
|
||||
cc-defs.el to cc-engine.el and made it a function instead.
|
||||
* progmodes/cc-defs.el, progmodes/cc-engine.el: Moved
|
||||
c-beginning-of-macro to from cc-defs.el to cc-engine.el and
|
||||
made it a function instead.
|
||||
|
||||
* cc-mode-19.el: Patch the byte compiler in Emacs 19 not to warn
|
||||
about char-after.
|
||||
* progmodes/cc-mode-19.el: Patch the byte compiler in Emacs 19
|
||||
not to warn about char-after.
|
||||
|
||||
* cc-vars.el: Cope even when there isn't a custom package
|
||||
* progmodes/cc-vars.el: Cope even when there isn't a custom package
|
||||
containing defcustom available.
|
||||
|
||||
* cc-make.el: Removed since it's no longer necessary.
|
||||
* progmodes/cc-make.el: Removed since it's no longer necessary.
|
||||
|
||||
README: Updated installation instructions.
|
||||
|
||||
2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-cmds.el, cc-langs.el, cc-mode.el: Moved around things to
|
||||
improve the modularity: Moved all mode init stuff from
|
||||
cc-langs.el to cc-mode.el, including the keymap
|
||||
initialization; cc-langs now only contains the various
|
||||
variables for configuring the language syntax.
|
||||
* progmodes/cc-cmds.el, progmodes/cc-langs.el, progmodes/cc-mode.el:
|
||||
Moved around things to improve the modularity:
|
||||
Moved all mode init stuff from cc-langs.el to cc-mode.el,
|
||||
including the keymap initialization; cc-langs now only contains
|
||||
the various variables for configuring the language syntax.
|
||||
|
||||
* cc-engine.el, cc-styles.el (c-evaluate-offset)
|
||||
* progmodes/cc-engine.el, progmodes/cc-styles.el (c-evaluate-offset)
|
||||
(c-get-offset): Moved from cc-styles to cc-engine since file
|
||||
dependency analysis suggests they belong there (which also
|
||||
makes more sense). Thanks to Martin Buchholz for doing the analysis.
|
||||
|
||||
2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-cmds.el (c-fn-region-is-active-p): New function that
|
||||
* progmodes/cc-cmds.el (c-fn-region-is-active-p): New function that
|
||||
wraps the corresponding macro, for use in places that aren't
|
||||
compiled. Thanks to Martin Buchholz for pointing out this.
|
||||
|
||||
* cc-langs.el (c-mode-menu): Use c-fn-region-is-active-p.
|
||||
* progmodes/cc-langs.el (c-mode-menu): Use c-fn-region-is-active-p.
|
||||
|
||||
* cc-mode.el (c-prepare-bug-report-hooks): Hook variable to
|
||||
* progmodes/cc-mode.el (c-prepare-bug-report-hooks): Hook variable to
|
||||
add things to the bug report.
|
||||
|
||||
2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-cmds.el (c-guess-fill-prefix): Fixed bug where the
|
||||
* progmodes/cc-cmds.el (c-guess-fill-prefix): Fixed bug where the
|
||||
returned prefix could contain a newline when the search for a
|
||||
good prefix line failed.
|
||||
|
||||
2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-cmds.el (c-toggle-auto-state, c-toggle-hungry-state)
|
||||
* progmodes/cc-cmds.el (c-toggle-auto-state, c-toggle-hungry-state)
|
||||
(c-toggle-auto-hungry-state): Made the argument optional, as
|
||||
the documentation says it is.
|
||||
|
||||
2000-03-21 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-engine.el (c-guess-basic-syntax): Don't treat the Pike
|
||||
* progmodes/cc-engine.el (c-guess-basic-syntax): Don't treat the Pike
|
||||
multiline string syntax, #"...", as a cpp macro.
|
||||
|
||||
2001-03-21 Paul Eggert <eggert@twinsun.com>
|
||||
|
@ -15271,31 +15263,31 @@
|
|||
|
||||
2000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-engine.el (c-looking-at-inexpr-block): Replaced a call to
|
||||
* progmodes/cc-engine.el (c-looking-at-inexpr-block): Replaced a call to
|
||||
c-beginning-of-statement-1 that caused a bad case of recursion
|
||||
which could consume a lot of CPU in large classes in languages
|
||||
that have in-expression classes (i.e. Java and Pike).
|
||||
|
||||
* cc-engine.el (c-guess-basic-syntax): Check for in-expression
|
||||
* progmodes/cc-engine.el (c-guess-basic-syntax): Check for in-expression
|
||||
statements before top level constructs (i.e. case 6 is moved
|
||||
before case 5 and is now case 4) to catch in-expression
|
||||
classes in top level expressions correctly.
|
||||
|
||||
2000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-engine.el (c-guess-basic-syntax): Less naive handling of
|
||||
* progmodes/cc-engine.el (c-guess-basic-syntax): Less naive handling of
|
||||
objc-method-intro. Case 4 removed and case 5I added.
|
||||
|
||||
* cc-langs.el (c-append-paragraph-start): New variable used by
|
||||
* progmodes/cc-langs.el (c-append-paragraph-start): New variable used by
|
||||
c-common-init to get paragraph-start correct.
|
||||
* cc-langs.el (c-common-init): Use c-append-paragraph-start to
|
||||
* progmodes/cc-langs.el (c-common-init): Use c-append-paragraph-start to
|
||||
initialize paragraph-start to make it correct both with and
|
||||
without the javadoc special case.
|
||||
|
||||
* cc-mode.el (java-mode): Use c-append-paragraph-start to
|
||||
* progmodes/cc-mode.el (java-mode): Use c-append-paragraph-start to
|
||||
initialize paragraph-start for javadoc markup.
|
||||
|
||||
* cc-vars.el (c-style-variables-are-local-p): Incompatible
|
||||
* progmodes/cc-vars.el (c-style-variables-are-local-p): Incompatible
|
||||
change by defaulting this to t. It's motivated by the
|
||||
confusing behavior that otherwise arise from the style system
|
||||
when editing both java and non-java files at the same time
|
||||
|
@ -15303,84 +15295,84 @@
|
|||
|
||||
2000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-cmds.el (c-indent-new-comment-line): Added a kludge
|
||||
* progmodes/cc-cmds.el (c-indent-new-comment-line): Added a kludge
|
||||
similar to the one in c-fill-paragraph to check the fill
|
||||
prefix from the adaptive fill function for sanity.
|
||||
|
||||
2000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-defs.el (c-end-of-defun-1): Fixed forward scanning into
|
||||
* progmodes/cc-defs.el (c-end-of-defun-1): Fixed forward scanning into
|
||||
defun block.
|
||||
|
||||
2000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-align.el (c-lineup-multi-inher): Handle lines with
|
||||
* progmodes/cc-align.el (c-lineup-multi-inher): Handle lines with
|
||||
leading comma nicely. Extended to handle member initializers
|
||||
too.
|
||||
|
||||
* cc-engine.el (c-beginning-of-inheritance-list)
|
||||
* progmodes/cc-engine.el (c-beginning-of-inheritance-list)
|
||||
(c-guess-basic-syntax): Fixed recognition of inheritance lists
|
||||
when the lines begins with a comma.
|
||||
|
||||
* cc-vars.el (c-offsets-alist): Changed default for
|
||||
* progmodes/cc-vars.el (c-offsets-alist): Changed default for
|
||||
member-init-cont to c-lineup-multi-inher since it now handles
|
||||
member initializers and indents better for leading commas.
|
||||
|
||||
2000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-cmds.el (c-electric-brace): Fixed some bugs in the state
|
||||
* progmodes/cc-cmds.el (c-electric-brace): Fixed some bugs in the state
|
||||
handling that caused class open lines to be recognized as
|
||||
statement-conts in some cases.
|
||||
|
||||
* cc-cmds.el (c-indent-new-comment-line): Keep the fill prefix
|
||||
* progmodes/cc-cmds.el (c-indent-new-comment-line): Keep the fill prefix
|
||||
guessed by the adaptive fill function unless point is on the
|
||||
first line of a block comment.
|
||||
|
||||
* cc-engine.el (c-forward-syntactic-ws): Fixed an infloop bug
|
||||
* progmodes/cc-engine.el (c-forward-syntactic-ws): Fixed an infloop bug
|
||||
when the buffer ends with a macro continuation char.
|
||||
|
||||
* cc-engine.el (c-guess-basic-syntax): Added support for
|
||||
* progmodes/cc-engine.el (c-guess-basic-syntax): Added support for
|
||||
function definitions as statements in Pike. The first
|
||||
statement in a lambda block is now labeled defun-block-intro
|
||||
instead of statement-block-intro.
|
||||
|
||||
* cc-engine.el (c-narrow-out-enclosing-class): Whack the state
|
||||
* progmodes/cc-engine.el (c-narrow-out-enclosing-class): Whack the state
|
||||
so that the class surrounding point is selected, not the one
|
||||
innermost in the state.
|
||||
|
||||
* cc-engine.el (c-guess-basic-syntax): Fixed bug in
|
||||
* progmodes/cc-engine.el (c-guess-basic-syntax): Fixed bug in
|
||||
recognition of switch labels having hanging multiline
|
||||
statements.
|
||||
|
||||
* cc-engine.el (c-beginning-of-member-init-list): Broke out
|
||||
* progmodes/cc-engine.el (c-beginning-of-member-init-list): Broke out
|
||||
some code in c-guess-basic-syntax to a separate function.
|
||||
* cc-engine.el (c-just-after-func-arglist-p): Fixed
|
||||
* progmodes/cc-engine.el (c-just-after-func-arglist-p): Fixed
|
||||
recognition of member inits with multiple line arglists.
|
||||
* cc-engine.el (c-guess-basic-syntax): New case 5B.3 to detect
|
||||
* progmodes/cc-engine.el (c-guess-basic-syntax): New case 5B.3 to detect
|
||||
member-init-cont when the commas are in funny places.
|
||||
|
||||
2000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-defs.el (c-auto-newline): Removed this macro since it's
|
||||
* progmodes/cc-defs.el (c-auto-newline): Removed this macro since it's
|
||||
not used anymore.
|
||||
|
||||
* cc-engine.el (c-looking-at-bos): New helper function.
|
||||
* cc-engine.el (c-looking-at-inexpr-block): More tests to tell
|
||||
* progmodes/cc-engine.el (c-looking-at-bos): New helper function.
|
||||
* progmodes/cc-engine.el (c-looking-at-inexpr-block): More tests to tell
|
||||
inexpr and toplevel classes apart in Pike.
|
||||
|
||||
* cc-engine.el (c-guess-basic-syntax): Fixed bogus recognition
|
||||
* progmodes/cc-engine.el (c-guess-basic-syntax): Fixed bogus recognition
|
||||
of case 9A.
|
||||
|
||||
* cc-langs.el, cc-mode.el (c-Pike-inexpr-class-key): New
|
||||
constant, since "class" can introduce an in-expression class
|
||||
in Pike nowadays.
|
||||
* progmodes/cc-langs.el, progmodes/cc-mode.el
|
||||
(c-Pike-inexpr-class-key): New constant, since "class" can
|
||||
introduce an in-expression class in Pike nowadays.
|
||||
|
||||
2000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-align.el (c-gnu-impose-minimum): Don't impose minimum
|
||||
* progmodes/cc-align.el (c-gnu-impose-minimum): Don't impose minimum
|
||||
indentation on cpp-macro lines.
|
||||
|
||||
* cc-engine.el (c-guess-basic-syntax): Made the cpp-macro
|
||||
* progmodes/cc-engine.el (c-guess-basic-syntax): Made the cpp-macro
|
||||
a syntax modifier like comment-intro, to make it possible to
|
||||
get syntactic indentation for preprocessor directives. It's
|
||||
incompatible wrt to lineup functions on cpp-macro, but it has
|
||||
|
@ -15389,117 +15381,117 @@
|
|||
|
||||
2000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-engine.el (c-guess-basic-syntax): Fixed bug with missed
|
||||
* progmodes/cc-engine.el (c-guess-basic-syntax): Fixed bug with missed
|
||||
member-init-cont when the preceding arglist is several lines.
|
||||
|
||||
2000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-styles.el (c-style-alist): The basic offset for the BSD
|
||||
* progmodes/cc-styles.el (c-style-alist): The basic offset for the BSD
|
||||
style corrected to 8.
|
||||
|
||||
2000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-styles.el (c-style-alist): Adjusted the indentation of
|
||||
* progmodes/cc-styles.el (c-style-alist): Adjusted the indentation of
|
||||
brace list openers in the gnu style.
|
||||
|
||||
2000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-cmds.el (c-indent-command): Obey c-syntactic-indentation.
|
||||
* progmodes/cc-cmds.el (c-indent-command): Obey c-syntactic-indentation.
|
||||
|
||||
* cc-cmds.el (c-electric-brace, c-electric-slash,
|
||||
* progmodes/cc-cmds.el (c-electric-brace, c-electric-slash,
|
||||
c-electric-star, c-electric-semi&comma, c-electric-colon,
|
||||
c-electric-lt-gt, c-electric-paren): Don't reindent old lines
|
||||
when c-syntactic-indentation is nil.
|
||||
|
||||
* cc-engine.el (c-beginning-of-statement-1): Fixed bug where
|
||||
* progmodes/cc-engine.el (c-beginning-of-statement-1): Fixed bug where
|
||||
we were left at comments preceding the first statement when
|
||||
reaching the beginning of the buffer.
|
||||
|
||||
* cc-vars.el (c-syntactic-indentation): New variable to turn
|
||||
* progmodes/cc-vars.el (c-syntactic-indentation): New variable to turn
|
||||
off all syntactic indentation.
|
||||
|
||||
2000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-cmds.el (c-fill-paragraph): Keep one or two spaces
|
||||
* progmodes/cc-cmds.el (c-fill-paragraph): Keep one or two spaces
|
||||
between the text and the block comment ender when it hangs,
|
||||
depending on how many there are before the fill.
|
||||
|
||||
2000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-engine.el (c-beginning-of-closest-statement): New helper
|
||||
* progmodes/cc-engine.el (c-beginning-of-closest-statement): New helper
|
||||
function to go back to the closest preceding statement start,
|
||||
which could be inside a conditional statement.
|
||||
* cc-engine.el (c-guess-basic-syntax): Use
|
||||
* progmodes/cc-engine.el (c-guess-basic-syntax): Use
|
||||
c-beginning-of-closest-statement in cases 10B.2, 17B and 17C.
|
||||
|
||||
* cc-engine.el (c-guess-basic-syntax): Better handling of
|
||||
* progmodes/cc-engine.el (c-guess-basic-syntax): Better handling of
|
||||
arglist-intro, arglist-cont-nonempty and arglist-close when
|
||||
the arglist is nested inside parens. Cases 7A, 7C and 7F
|
||||
changed.
|
||||
|
||||
* cc-langs.el (c-Java-javadoc-paragraph-start): Brought
|
||||
* progmodes/cc-langs.el (c-Java-javadoc-paragraph-start): Brought
|
||||
up-to-date with javadoc 1.2.
|
||||
|
||||
2000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-engine.el (c-beginning-of-statement-1): Fixed handling of
|
||||
* progmodes/cc-engine.el (c-beginning-of-statement-1): Fixed handling of
|
||||
multiline Pike type decls.
|
||||
|
||||
2000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-cmds.el (c-indent-new-comment-line): Always break
|
||||
* progmodes/cc-cmds.el (c-indent-new-comment-line): Always break
|
||||
multiline comments in multiline mode, regardless of
|
||||
comment-multi-line.
|
||||
|
||||
2000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-engine.el (c-guess-basic-syntax): Fixed bug with
|
||||
* progmodes/cc-engine.el (c-guess-basic-syntax): Fixed bug with
|
||||
fully::qualified::names in C++ member init lists. Preamble in
|
||||
case 5D changed.
|
||||
|
||||
2000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-langs.el (c-common-init): Handling of obsolete variables
|
||||
* progmodes/cc-langs.el (c-common-init): Handling of obsolete variables
|
||||
moved to c-initialize-cc-mode. More compatible style override
|
||||
when using global style variables.
|
||||
* cc-mode.el (c-initialize-cc-mode): Handling of obsolete
|
||||
* progmodes/cc-mode.el (c-initialize-cc-mode): Handling of obsolete
|
||||
variables moved here.
|
||||
|
||||
* cc-styles.el (c-make-styles-buffer-local): Flag style
|
||||
* progmodes/cc-styles.el (c-make-styles-buffer-local): Flag style
|
||||
variable localness in c-style-variables-are-local-p to make
|
||||
the compatibility measure in c-common-init work well.
|
||||
|
||||
* cc-styles.el (c-set-style-1): c-special-indent-hook can no
|
||||
* progmodes/cc-styles.el (c-set-style-1): c-special-indent-hook can no
|
||||
longer contain set-from-style.
|
||||
* cc-styles.el (c-initialize-builtin-style): Don't check for
|
||||
* progmodes/cc-styles.el (c-initialize-builtin-style): Don't check for
|
||||
set-from-style on c-special-indent-hook.
|
||||
* cc-styles.el (c-copy-tree): Obsolete. The standard function
|
||||
* progmodes/cc-styles.el (c-copy-tree): Obsolete. The standard function
|
||||
copy-alist is sufficient now.
|
||||
|
||||
* cc-styles.el (c-set-style, c-set-style-1,
|
||||
* progmodes/cc-styles.el (c-set-style, c-set-style-1,
|
||||
c-get-style-variables): Fixes to variable initialization so
|
||||
that duplicate entries in styles have the same effect
|
||||
regardless of DONT-OVERRIDE.
|
||||
|
||||
* cc-styles.el (c-set-style-2): Fixed bug where the
|
||||
* progmodes/cc-styles.el (c-set-style-2): Fixed bug where the
|
||||
initialization of inheriting styles failed when the
|
||||
dont-override flag is set.
|
||||
|
||||
* cc-vars.el (c-special-indent-hook): Don't use set-from-style
|
||||
* progmodes/cc-vars.el (c-special-indent-hook): Don't use set-from-style
|
||||
on this.
|
||||
|
||||
2000-07-24 Martin Stjernholm <bug-cc-mode@gnu.org>
|
||||
|
||||
* cc-defs.el (c-forward-comment): Removed the workaround
|
||||
* progmodes/cc-defs.el (c-forward-comment): Removed the workaround
|
||||
introduced in 5.38 since it had worse side-effects. If a line
|
||||
contains the string "//\"", it regarded the // as a comment
|
||||
start since the \ temporarily doesn't have escape syntax.
|
||||
|
||||
2000-07-17 Emmanuel Briot <briot@act-europe.fr>
|
||||
|
||||
* ada-mode.el: Got rid of all byte-compiler warnings on Emacs Load
|
||||
ada-xref.el before ada-prj.el, so that the Project menu is created
|
||||
when ada-prj tries to add to it.
|
||||
* progmodes/ada-mode.el: Got rid of all byte-compiler warnings on
|
||||
Emacs. Load ada-xref.el before ada-prj.el, so that the Project
|
||||
menu is created when ada-prj tries to add to it.
|
||||
(ada-activate-keys-for-case): Suppress the characters that are not
|
||||
part of the Ada syntax. Better compatibility with else-mode.
|
||||
(ada-adjust-case-interactive): When auto-casing is not active,
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
completable types, pull in types which are referenced through
|
||||
'using' statements, and also preserve their filenames.
|
||||
|
||||
* semanitc/bovine/c.el (semantic/analyze/refs): Require.
|
||||
* semantic/bovine/c.el (semantic/analyze/refs): Require.
|
||||
(semantic-analyze-tag-references): New override. Mainly copied
|
||||
from the default implementation, but if nothing could be found (or
|
||||
just the tag itself), drop all namespaces from the scope and
|
||||
|
@ -245,7 +245,7 @@
|
|||
|
||||
2013-07-29 David Engster <deng@randomsample.de>
|
||||
|
||||
* lisp/cedet/cedet.el (cedet-packages): Remove speedbar since its
|
||||
* cedet.el (cedet-packages): Remove speedbar since its
|
||||
development does no longer happens in CEDET upstream but in Emacs
|
||||
proper. Also remove cedet-contrib and cogre since those are only
|
||||
in upstream.
|
||||
|
@ -262,7 +262,7 @@
|
|||
|
||||
2013-07-27 Eric Ludlam <zappo@gnu.org>
|
||||
|
||||
* lisp/cedet/semantic/edit.el (semantic-edits-splice-remove):
|
||||
* semantic/edit.el (semantic-edits-splice-remove):
|
||||
Wrap debug message removing middle tag in semantic-edits-verbose-flag
|
||||
check.
|
||||
|
||||
|
@ -552,18 +552,15 @@
|
|||
|
||||
* srecode/srt-mode.el:
|
||||
* srecode/compile.el:
|
||||
* semantic/elp.el:
|
||||
* semantic/db-el.el:
|
||||
* semantic/complete.el:
|
||||
* ede.el:
|
||||
* cogre.el:
|
||||
* srecode/table.el:
|
||||
* srecode/mode.el:
|
||||
* srecode/insert.el:
|
||||
* srecode/compile.el:
|
||||
* semantic/decorate/include.el:
|
||||
* semantic/db.el:
|
||||
* semantic/adebug.el:
|
||||
* ede/auto.el:
|
||||
* srecode/dictionary.el:
|
||||
* semantic/ede-grammar.el:
|
||||
|
@ -2785,8 +2782,6 @@
|
|||
|
||||
* srecode/srt-mode.el (srecode-template-mode): Doc fix.
|
||||
|
||||
* files.el (auto-mode-alist): Add .srt and Project.ede.
|
||||
|
||||
* semantic.el (semantic-mode):
|
||||
Handle srecode-template-mode-hook as well.
|
||||
(semantic-mode): Use js-mode-hook for Javascript hook.
|
||||
|
|
|
@ -504,7 +504,7 @@ code to parse."
|
|||
(let ((eval-form (eval parsedtokelist)))
|
||||
(if (or (not eval-form)
|
||||
(and (numberp eval-form)
|
||||
(equal eval-form 0)));; ifdefline resulted in false
|
||||
(equal eval-form 0)));; ifdef line resulted in false
|
||||
|
||||
;; The if indicates to skip this preprocessor section
|
||||
(let ((pt nil))
|
||||
|
@ -1242,7 +1242,7 @@ Use `semantic-analyze-current-tag' to debug this fcn."
|
|||
(setq scope (semantic-calculate-scope))
|
||||
|
||||
(setq allhits (semantic--analyze-refs-full-lookup tag scope t))
|
||||
|
||||
|
||||
(when (or (zerop (semanticdb-find-result-length allhits))
|
||||
(and (= (semanticdb-find-result-length allhits) 1)
|
||||
(eq (car (semanticdb-find-result-nth allhits 0)) tag)))
|
||||
|
|
|
@ -80,7 +80,7 @@ Each app keys to an alist of files and modes (as above.)")
|
|||
ans))
|
||||
|
||||
(defmethod srecode-map-entry-for-app ((map srecode-map) app)
|
||||
"Return the entry in MAP for APP'lication."
|
||||
"Return the entry in MAP for APP."
|
||||
(assoc app (oref map apps))
|
||||
)
|
||||
|
||||
|
@ -137,7 +137,7 @@ Return non-nil if the MAP was changed."
|
|||
dirty))
|
||||
|
||||
(defmethod srecode-map-delete-file-entry-from-app ((map srecode-map) file app)
|
||||
"Delete from MAP the FILE entry within the APP'lication."
|
||||
"Delete from MAP the FILE entry within the APP."
|
||||
(let* ((appe (srecode-map-entry-for-app map app))
|
||||
(fentry (assoc file (cdr appe))))
|
||||
(setcdr appe (delete fentry (cdr appe))))
|
||||
|
|
|
@ -421,11 +421,15 @@ Changes to files in this list are not listed.")
|
|||
("David M. Brown" :wrote "array.el")
|
||||
;; No longer distributed.
|
||||
;;; ("Gary Byers" :changed "xenix.h")
|
||||
("Shawn M. Carey" :wrote "freebsd.h")
|
||||
;; No longer distributed: freebsd.h
|
||||
;; Only trivial pieces remain, merged into configure.ac.
|
||||
("Shawn M. Carey" :wrote "[some early FreeBSD support]")
|
||||
;; hp800.h renamed from hp9000s800.h, hpux.h merged into hpux10-20.h.
|
||||
;; FIXME overwritten by Author:.
|
||||
("Satyaki Das" :cowrote "mh-search.el")
|
||||
("Eric Decker" :changed "hp800.h" "hpux10-20.h" "sysdep.c")
|
||||
;; No longer distributed: hp800.h, hpux10-20.h.
|
||||
;; Only trivial pieces remain, merged into configure.ac.
|
||||
("Eric Decker" :changed "sysdep.c (and other files for HP-UX support)")
|
||||
("Lawrence R. Dodd" :cowrote "dired-x.el")
|
||||
;; No longer distributed.
|
||||
;;; ("Viktor Dukhovni" :wrote "unexsunos4.c")
|
||||
|
@ -456,15 +460,16 @@ Changes to files in this list are not listed.")
|
|||
"process.c" "sysdep.c" "unexcoff.c")
|
||||
;; No longer distributed.
|
||||
;;; ("Ishikawa Chiaki" :changed "aviion.h" "dgux.h")
|
||||
;; ymakefile no longer distributed.
|
||||
("Michael K. Johnson" :changed "configure.ac" "emacs.c" "intel386.h"
|
||||
"mem-limits.h" "process.c" "template.h" "sysdep.c" "syssignal.h"
|
||||
"systty.h" "unexcoff.c" "linux.h")
|
||||
;; No longer distributed: ymakefile, intel386.h, mem-limits.h, template.h,
|
||||
;; linux.h (was renamed to lignux.h, then to gnu-linux.h, then removed)
|
||||
("Michael K. Johnson" :changed "configure.ac" "emacs.c"
|
||||
"process.c" "sysdep.c" "syssignal.h" "systty.h" "unexcoff.c")
|
||||
;; No longer distributed.
|
||||
;;; ("Kyle Jones" :wrote "mldrag.el")
|
||||
("Henry Kautz" :wrote "bib-mode.el")
|
||||
;; No longer distributed: vms-pwd.h, vmsfns.c, uaf.h.
|
||||
("Joseph M. Kelsey" :changed "fileio.c" "dir.h")
|
||||
;; No longer distributed: vms-pwd.h, vmsfns.c, uaf.h,
|
||||
;; dir.h (was renamed to vmsdir.h, then removed)
|
||||
("Joseph M. Kelsey" :changed "fileio.c")
|
||||
("Sam Kendall" :changed "etags.c" "etags.el")
|
||||
;; ack.texi: "We're not using his backquote.el any more."
|
||||
("Richard King" :wrote "userlock.el" "filelock.c")
|
||||
|
@ -503,7 +508,7 @@ Changes to files in this list are not listed.")
|
|||
("Mark Neale" :changed "fortran.el")
|
||||
;; Renamed from sc.el.
|
||||
("Martin Neitzel" :changed "supercite.el")
|
||||
("Andrew Oram" :changed "calendar.texi (and other files in man/)")
|
||||
("Andrew Oram" :changed "calendar.texi (and other doc files)")
|
||||
("Frederic Pierresteguy" :wrote "widget.c")
|
||||
("Michael D. Prange" :changed "tex-mode.el")
|
||||
;; No longer distributed (dgux5-4r3.h was renamed to dgux5-4-3.h).
|
||||
|
@ -516,8 +521,9 @@ Changes to files in this list are not listed.")
|
|||
;;; ("Guillermo J. Rozas" :wrote "fakemail.c")
|
||||
("Wolfgang Rupprecht" :changed "lisp-mode.el" "loadup.el"
|
||||
"sort.el" "alloc.c" "callint.c"
|
||||
;; config.in renamed from config.h.in; ecrt0.c from crt0.c.
|
||||
"config.in" "ecrt0.c" "data.c" "fns.c"
|
||||
;; config.in renamed from config.h.in, now a generated file.
|
||||
;; ecrt0.c renamed from crt0.c, then removed.
|
||||
"data.c" "fns.c"
|
||||
"lisp.h" "lread.c" ; "sun3.h" "ymakefile" - no longer distributed
|
||||
"print.c" :wrote "float-sup.el" "floatfns.c")
|
||||
("Schlumberger Technology Corporation" :changed "gud.el")
|
||||
|
@ -543,7 +549,8 @@ Changes to files in this list are not listed.")
|
|||
("Spencer Thomas" :changed "emacsclient.c" "server.el"
|
||||
"dabbrev.el" "unexcoff.c" "gnus.texi")
|
||||
("Jonathan Vail" :changed "vc.el")
|
||||
("James Van Artsdalen" :changed "usg5-4.h" "unexcoff.c")
|
||||
;; No longer distributed: usg5-4.h
|
||||
("James Van Artsdalen" :changed "unexcoff.c")
|
||||
;; No longer distributed: src/makefile.nt, lisp/makefile.nt
|
||||
;; winnt.el renamed to w32-fns.el; nt.[ch] to w32.[ch];
|
||||
;; ntheap.[ch] to w32heap.[ch]; ntinevt.c to w32inevt.c;
|
||||
|
@ -552,7 +559,8 @@ Changes to files in this list are not listed.")
|
|||
("Geoff Voelker" :wrote "w32-fns.el" "w32.c" "w32.h" "w32heap.c"
|
||||
"w32heap.h" "w32inevt.c" "w32proc.c" "w32term.c" "ms-w32.h")
|
||||
("Morten Welinder" :wrote "dosfns.c" "[many MS-DOS files]" "msdos.h")
|
||||
("Eli Zaretskii" :wrote "bidi.c" "[bidirectional display in xdisp.c]")
|
||||
("Eli Zaretskii" :wrote "bidi.c" "[bidirectional display in xdisp.c]"
|
||||
"[tty menus in term.c]")
|
||||
;; Not using this version any more.
|
||||
;;; ("Pace Willisson" :wrote "ispell.el")
|
||||
;; FIXME overwritten by Author:.
|
||||
|
|
|
@ -473,4 +473,8 @@ Return the symbol for the group, or nil"
|
|||
|
||||
(provide 'eieio-custom)
|
||||
|
||||
;; Local variables:
|
||||
;; generated-autoload-file: "eieio.el"
|
||||
;; End:
|
||||
|
||||
;;; eieio-custom.el ends here
|
||||
|
|
|
@ -124,7 +124,7 @@ If CLASS is actually an object, then also display current values of that object.
|
|||
;; Describe all the methods specific to this class.
|
||||
(let ((methods (eieio-all-generic-functions class))
|
||||
(type [":STATIC" ":BEFORE" ":PRIMARY" ":AFTER"])
|
||||
counter doc argshl dochl)
|
||||
counter doc)
|
||||
(when methods
|
||||
(insert (propertize "Specialized Methods:\n\n" 'face 'bold))
|
||||
(while methods
|
||||
|
@ -692,4 +692,8 @@ INDENT is the current indentation level."
|
|||
|
||||
(provide 'eieio-opt)
|
||||
|
||||
;; Local variables:
|
||||
;; generated-autoload-file: "eieio.el"
|
||||
;; End:
|
||||
|
||||
;;; eieio-opt.el ends here
|
||||
|
|
|
@ -913,14 +913,10 @@ Optional argument NOESCAPE is passed to `prin1-to-string' when appropriate."
|
|||
)
|
||||
)
|
||||
|
||||
;;; Autoloading some external symbols, and hooking into the help system
|
||||
;;
|
||||
|
||||
|
||||
;;; Start of automatically extracted autoloads.
|
||||
|
||||
;;;### (autoloads (customize-object) "eieio-custom" "eieio-custom.el"
|
||||
;;;;;; "928623502e8bf40454822355388542b5")
|
||||
;;;### (autoloads nil "eieio-custom" "eieio-custom.el" "5b0e7b1beea11f9e9de6887279f75d61")
|
||||
;;; Generated autoloads from eieio-custom.el
|
||||
|
||||
(autoload 'customize-object "eieio-custom" "\
|
||||
|
@ -931,9 +927,7 @@ Optional argument GROUP is the sub-group of slots to display.
|
|||
|
||||
;;;***
|
||||
|
||||
;;;### (autoloads (eieio-help-mode-augmentation-maybee eieio-describe-generic
|
||||
;;;;;; eieio-describe-constructor eieio-describe-class eieio-browse)
|
||||
;;;;;; "eieio-opt" "eieio-opt.el" "d808328f9c0156ecbd412d77ba8c569e")
|
||||
;;;### (autoloads nil "eieio-opt" "eieio-opt.el" "f03278724025221a0259ed48516286f3")
|
||||
;;; Generated autoloads from eieio-opt.el
|
||||
|
||||
(autoload 'eieio-browse "eieio-opt" "\
|
||||
|
@ -942,33 +936,22 @@ If optional ROOT-CLASS, then start with that, otherwise start with
|
|||
variable `eieio-default-superclass'.
|
||||
|
||||
\(fn &optional ROOT-CLASS)" t nil)
|
||||
(defalias 'describe-class 'eieio-describe-class)
|
||||
|
||||
(autoload 'eieio-describe-class "eieio-opt" "\
|
||||
Describe a CLASS defined by a string or symbol.
|
||||
(autoload 'eieio-help-class "eieio-opt" "\
|
||||
Print help description for CLASS.
|
||||
If CLASS is actually an object, then also display current values of that object.
|
||||
Optional HEADERFCN should be called to insert a few bits of info first.
|
||||
|
||||
\(fn CLASS &optional HEADERFCN)" t nil)
|
||||
\(fn CLASS)" nil nil)
|
||||
|
||||
(autoload 'eieio-describe-constructor "eieio-opt" "\
|
||||
Describe the constructor function FCN.
|
||||
Uses `eieio-describe-class' to describe the class being constructed.
|
||||
(autoload 'eieio-help-constructor "eieio-opt" "\
|
||||
Describe CTR if it is a class constructor.
|
||||
|
||||
\(fn FCN)" t nil)
|
||||
(defalias 'describe-generic 'eieio-describe-generic)
|
||||
\(fn CTR)" nil nil)
|
||||
|
||||
(autoload 'eieio-describe-generic "eieio-opt" "\
|
||||
Describe the generic function GENERIC.
|
||||
Also extracts information about all methods specific to this generic.
|
||||
(autoload 'eieio-help-generic "eieio-opt" "\
|
||||
Describe GENERIC if it is a generic function.
|
||||
|
||||
\(fn GENERIC)" t nil)
|
||||
|
||||
(autoload 'eieio-help-mode-augmentation-maybee "eieio-opt" "\
|
||||
For buffers thrown into help mode, augment for EIEIO.
|
||||
Arguments UNUSED are not used.
|
||||
|
||||
\(fn &rest UNUSED)" nil nil)
|
||||
\(fn GENERIC)" nil nil)
|
||||
|
||||
;;;***
|
||||
|
||||
|
|
|
@ -311,7 +311,7 @@ are \" Fw\", or simply \"\"."
|
|||
(set-default symbol value)))
|
||||
|
||||
(defvar follow-cache-command-list
|
||||
'(next-line previous-line forward-char backward-char)
|
||||
'(next-line previous-line forward-char backward-char right-char left-char)
|
||||
"List of commands that don't require recalculation.
|
||||
|
||||
In order to be able to use the cache, a command should not change the
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2014-01-09 Ken Olum <kdo@cosmos.phy.tufts.edu> (tiny change)
|
||||
|
||||
* message.el (message-bury): Call bury-buffer with no argument
|
||||
in the message-return-action case too.
|
||||
|
||||
2014-01-05 Katsumi Yamaoka <yamaoka@jpl.org>
|
||||
|
||||
* gnus-sum.el (gnus-article-stop-animations): Declare it before using.
|
||||
|
|
|
@ -14703,6 +14703,15 @@
|
|||
|
||||
* gnus-art.el, ...: Error convention changes.
|
||||
|
||||
* binhex.el, earcon.el, gnus-agent.el, gnus-art.el, gnus-audio.el:
|
||||
* gnus-logic.el, gnus-ml.el, gnus-mlspl.el, gnus-setup.el:
|
||||
* gnus-srvr.el, gnus-sum.el, gnus-uu.el, gnus-vm.el, ietf-drums.el:
|
||||
* mail-parse.el, mail-prsvr.el, mail-source.el, mm-bodies.el:
|
||||
* mm-decode.el, mm-encode.el, mm-partial.el, mm-util.el, mm-uu.el:
|
||||
* mm-view.el, mml.el, nnimap.el, nnoo.el, parse-time.el, rfc1843.el:
|
||||
* rfc2045.el, rfc2047.el, rfc2104.el, rfc2231.el, time-date.el:
|
||||
* uudecode.el: Some fixes to follow coding conventions.
|
||||
|
||||
2001-07-13 20:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
|
||||
|
||||
* gnus-sum.el (gnus-rebuild-thread): Count hidden lines too.
|
||||
|
|
|
@ -4099,11 +4099,12 @@ Instead, just auto-save the buffer and then bury it."
|
|||
|
||||
(defun message-bury (buffer)
|
||||
"Bury this mail BUFFER."
|
||||
;; Note that this is not quite the same as (bury-buffer buffer),
|
||||
;; since bury-buffer does extra stuff with a nil argument.
|
||||
;; Eg http://lists.gnu.org/archive/html/emacs-devel/2014-01/msg00539.html
|
||||
(with-current-buffer buffer (bury-buffer))
|
||||
(if message-return-action
|
||||
(progn
|
||||
(bury-buffer buffer)
|
||||
(apply (car message-return-action) (cdr message-return-action)))
|
||||
(with-current-buffer buffer (bury-buffer))))
|
||||
(apply (car message-return-action) (cdr message-return-action))))
|
||||
|
||||
(defun message-send (&optional arg)
|
||||
"Send the message in the current buffer.
|
||||
|
|
|
@ -417,9 +417,10 @@ is specified by the variable `message-log-max'."
|
|||
(display-buffer (current-buffer))))
|
||||
|
||||
(defun view-order-manuals ()
|
||||
"Display the Emacs ORDERS file."
|
||||
"Display information on how to buy printed copies of Emacs manuals."
|
||||
(interactive)
|
||||
(view-help-file "ORDERS"))
|
||||
;; (view-help-file "ORDERS")
|
||||
(info "(emacs)Printed Books"))
|
||||
|
||||
(defun view-emacs-FAQ ()
|
||||
"Display the Emacs Frequently Asked Questions (FAQ) file."
|
||||
|
|
|
@ -732,6 +732,14 @@ in `Info-file-supports-index-cookies-list'."
|
|||
(Info-default-dirs))
|
||||
(split-string path sep))
|
||||
(Info-default-dirs))))
|
||||
;; If we are running uninstalled, our own Info files should
|
||||
;; always come first. If INFOPATH was set, they might not.
|
||||
(and path
|
||||
installation-directory
|
||||
(let ((dir (expand-file-name "info/" installation-directory)))
|
||||
(when (file-directory-p dir)
|
||||
(setq Info-directory-list (delete dir Info-directory-list))
|
||||
(push dir Info-directory-list))))
|
||||
;; For a self-contained (ie relocatable) NS build, AFAICS we
|
||||
;; always want the included info directory to be at the head of
|
||||
;; the search path, unless it's already in INFOPATH somewhere.
|
||||
|
|
|
@ -279,7 +279,7 @@ You might need to set `uce-mail-reader' before using this."
|
|||
(goto-char (point-min)))
|
||||
;; Now find the mail hub that first accepted this message.
|
||||
;; This should try to find the last Received: header.
|
||||
;; Sometimes there may be other headers inbetween Received: headers.
|
||||
;; Sometimes there may be other headers in between Received: headers.
|
||||
(cond ((eq uce-mail-reader 'gnus)
|
||||
;; Does Gnus always have Lines: in the end?
|
||||
(re-search-forward "^Lines:")
|
||||
|
|
|
@ -52,12 +52,12 @@ Therefore any lines in the message bodies that start with \"From \"
|
|||
must be quoted. The `mboxo' format just prepends a \">\" to such lines.
|
||||
This is not reversible, because given a line starting with \">From \" in
|
||||
an mboxo file, it is not possible to know whether the original had a \">\"
|
||||
or not. The `mxbord' format avoids this by also quoting \">From \" as
|
||||
or not. The `mboxrd' format avoids this by also quoting \">From \" as
|
||||
\">>From \", and so on. For this reason, mboxrd is recommended.
|
||||
|
||||
See also `rmail-mbox-format'."
|
||||
:type '(choice (const mboxrd)
|
||||
(const mboxro))
|
||||
(const mboxo))
|
||||
:version "24.4"
|
||||
:group 'rmail-files)
|
||||
|
||||
|
|
|
@ -5097,9 +5097,6 @@
|
|||
* org-agenda.el (org-agenda-show-clocking-issues)
|
||||
(org-agenda-format-item): Silence byte compiler.
|
||||
|
||||
* org-colview-xemacs.el (org-agenda-columns): Silence byte
|
||||
compiler.
|
||||
|
||||
* org-colview.el (org-agenda-columns): Silence byte compiler.
|
||||
|
||||
* org.el (org-properties-postprocess-alist): Silence byte
|
||||
|
@ -13444,10 +13441,6 @@
|
|||
* org-latex.el (org-export-latex-fixed-width): Only add one
|
||||
line break after exporting verbatim environments.
|
||||
|
||||
2012-01-03 Bastien Guerry <bzg@gnu.org>
|
||||
|
||||
* org-mw.el (org-mw-export-lists): Fix list export.
|
||||
|
||||
2012-01-03 Bastien Guerry <bzg@gnu.org>
|
||||
|
||||
* org-list.el (org-list-item-trim-br): New function.
|
||||
|
@ -14070,11 +14063,6 @@
|
|||
description term to insert in the list. Point should stay where
|
||||
the user called the command.
|
||||
|
||||
2011-07-28 Bastien Guerry <bzg@gnu.org>
|
||||
|
||||
* org-toc.el (org-toc-before-first-heading-p, org-toc-show)
|
||||
(org-toc-get-headlines-status): Use `org-outline-regexp-bol'.
|
||||
|
||||
2011-07-28 Bastien Guerry <bzg@gnu.org>
|
||||
|
||||
* org.el (org-outline-regexp-bol): New defconst.
|
||||
|
@ -18539,21 +18527,9 @@
|
|||
* ob-ref.el (org-babel-ref-parse): Allow passing empty strings
|
||||
into code blocks.
|
||||
|
||||
2011-07-28 David Maus <dmaus@ictsoc.de>
|
||||
|
||||
* test-org-table.el
|
||||
(test-org-table/org-table-convert-refs-to-rc/3)
|
||||
(test-org-table/org-table-convert-refs-to-rc/2)
|
||||
(test-org-table/org-table-convert-refs-to-rc/1)
|
||||
(test-org-table/org-table-convert-refs-to-an/3)
|
||||
(test-org-table/org-table-convert-refs-to-an/2)
|
||||
(test-org-table/org-table-convert-refs-to-an/1): Provide tests for
|
||||
table formular format conversion.
|
||||
|
||||
2011-07-28 Carsten Dominik <carsten.dominik@gmail.com>
|
||||
|
||||
* org.el (org-sort-entries): Fix sorting with a bold emphasis at
|
||||
bol.
|
||||
* org.el (org-sort-entries): Fix sorting with a bold emphasis at bol.
|
||||
|
||||
2011-07-28 Eric Schulte <schulte.eric@gmail.com>
|
||||
|
||||
|
|
|
@ -158,7 +158,8 @@ parenthetical grouping.")
|
|||
(if (fboundp 'eldoc-post-insert-mode)
|
||||
'eldoc-post-insert-mode
|
||||
'eldoc-mode))
|
||||
:style toggle :selected (or eldoc-post-insert-mode eldoc-mode)
|
||||
:style toggle :selected (or (bound-and-true-p eldoc-post-insert-mode)
|
||||
(bound-and-true-p eldoc-mode))
|
||||
:help "Display function signatures after typing `SPC' or `('"]
|
||||
["Delimiter Matching" show-paren-mode
|
||||
:style toggle :selected show-paren-mode
|
||||
|
|
|
@ -2134,10 +2134,10 @@ See `font-lock-syntax-table'.")
|
|||
(add-to-list 'auto-mode-alist
|
||||
(cons (purecopy (concat "\\(?:\\."
|
||||
"rb\\|ru\\|rake\\|thor"
|
||||
"\\|jbuilder\\|gemspec"
|
||||
"\\|jbuilder\\|gemspec\\|podspec"
|
||||
"\\|/"
|
||||
"\\(?:Gem\\|Rake\\|Cap\\|Thor"
|
||||
"Vagrant\\|Guard\\)file"
|
||||
"Vagrant\\|Guard\\|Pod\\)file"
|
||||
"\\)\\'")) 'ruby-mode))
|
||||
|
||||
;;;###autoload
|
||||
|
|
|
@ -10509,8 +10509,8 @@ DIFFPT. This function is called via `verilog-diff-function'."
|
|||
|
||||
(defun verilog-diff-auto ()
|
||||
"Expand AUTOs in a temporary buffer and indicate any change.
|
||||
Whitespace differences are ignored to determine identicalness, but
|
||||
once a difference is detected, whitespace differences may be shown.
|
||||
Whitespace is ignored when detecting differences, but once a
|
||||
difference is detected, whitespace differences may be shown.
|
||||
|
||||
To call this from the command line, see \\[verilog-batch-diff-auto].
|
||||
|
||||
|
|
|
@ -55,7 +55,7 @@ are listed in src/term.c; look for the string `keys' in that file.
|
|||
terminal mode as on an X console. If there are differences, you can bet
|
||||
they'll frustrate you after you've forgotten about them.
|
||||
|
||||
For another, the X keysms provide a standard set of names that Emacs knows
|
||||
For another, the X keysyms provide a standard set of names that Emacs knows
|
||||
about. It tries to bind many of them to useful things at startup, before your
|
||||
.emacs is read (so you can override them). In some ways, the X keysym standard
|
||||
is a admittedly poor one; it's incomplete, and not well matched to the set of
|
||||
|
|
|
@ -2803,7 +2803,7 @@ There might be text before point."
|
|||
(t
|
||||
(let ((col (current-column)))
|
||||
(if (or (not (eq (char-syntax (or (char-after pos) ?\s)) ?\())
|
||||
;; Can't be an arg if there's an empty line inbetween.
|
||||
;; Can't be an arg if there's an empty line in between.
|
||||
(save-excursion (re-search-forward "^[ \t]*$" pos t)))
|
||||
;; If the first char was not an open-paren, there's
|
||||
;; a risk that this is really not an argument to the
|
||||
|
|
|
@ -296,7 +296,7 @@
|
|||
|
||||
2012-04-10 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
* url-domsurf.el: New file (bug#1401).
|
||||
* url-domsuf.el: New file (bug#1401).
|
||||
|
||||
* url-cookie.el (url-cookie-two-dot-domains): Remove.
|
||||
(url-cookie-host-can-set-p): Use `url-domsuf-cookie-allowed-p'
|
||||
|
|
|
@ -791,7 +791,7 @@ If LIMIT is non-nil, show no more than this many entries."
|
|||
(apply 'vc-git-command buffer
|
||||
'async files
|
||||
(append
|
||||
'("log" "--no-color")
|
||||
'("log" "--no-color" "--follow")
|
||||
(when shortlog
|
||||
`("--graph" "--decorate" "--date=short"
|
||||
,(format "--pretty=tformat:%s"
|
||||
|
|
|
@ -128,6 +128,9 @@ Returns nil if unable to find this information."
|
|||
"dir"))
|
||||
(buffer-string))))
|
||||
|
||||
(define-obsolete-function-alias 'emacs-bzr-get-version
|
||||
'emacs-repository-get-version "24.4")
|
||||
|
||||
(defun emacs-repository-get-version (&optional dir external)
|
||||
"Try to return as a string the repository revision of the Emacs sources.
|
||||
The format of the returned string is dependent on the VCS in use.
|
||||
|
|
|
@ -2300,7 +2300,7 @@ Currently set only from '\" t in the first line of the source file.")
|
|||
|
||||
;; Process \k escapes BEFORE changing tab width (?):
|
||||
(goto-char from)
|
||||
(woman-mark-horizonal-position)
|
||||
(woman-mark-horizontal-position)
|
||||
|
||||
;; Set buffer-local variables:
|
||||
(setq fill-column woman-fill-column
|
||||
|
@ -3452,7 +3452,7 @@ Format paragraphs upto TO. Supports special chars.
|
|||
Each element has the form (KEY VALUE . INC) -- inc may be nil.
|
||||
Also bound locally in `woman2-roff-buffer'.")
|
||||
|
||||
(defun woman-mark-horizonal-position ()
|
||||
(defun woman-mark-horizontal-position ()
|
||||
"\\kx -- Store current horizontal position in INPUT LINE in register x."
|
||||
(while (re-search-forward "\\\\k\\(.\\)" nil t)
|
||||
(goto-char (match-beginning 0))
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# 00gnulib.m4 serial 2
|
||||
# 00gnulib.m4 serial 3
|
||||
dnl Copyright (C) 2009-2014 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
|
@ -6,7 +6,23 @@ dnl with or without modifications, as long as this notice is preserved.
|
|||
|
||||
dnl This file must be named something that sorts before all other
|
||||
dnl gnulib-provided .m4 files. It is needed until such time as we can
|
||||
dnl assume Autoconf 2.64, with its improved AC_DEFUN_ONCE semantics.
|
||||
dnl assume Autoconf 2.64, with its improved AC_DEFUN_ONCE and
|
||||
dnl m4_divert semantics.
|
||||
|
||||
# Until autoconf 2.63, handling of the diversion stack required m4_init
|
||||
# to be called first; but this does not happen with aclocal. Wrapping
|
||||
# the entire execution in another layer of the diversion stack fixes this.
|
||||
# Worse, prior to autoconf 2.62, m4_wrap depended on the underlying m4
|
||||
# for whether it was FIFO or LIFO; in order to properly balance with
|
||||
# m4_init, we need to undo our push just before anything wrapped within
|
||||
# the m4_init body. The way to ensure this is to wrap both sides of
|
||||
# m4_init with a one-shot macro that does the pop at the right time.
|
||||
m4_ifndef([_m4_divert_diversion],
|
||||
[m4_divert_push([KILL])
|
||||
m4_define([gl_divert_fixup], [m4_divert_pop()m4_define([$0])])
|
||||
m4_define([m4_init],
|
||||
[gl_divert_fixup()]m4_defn([m4_init])[gl_divert_fixup()])])
|
||||
|
||||
|
||||
# AC_DEFUN_ONCE([NAME], VALUE)
|
||||
# ----------------------------
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# gnulib-common.m4 serial 33
|
||||
# gnulib-common.m4 serial 34
|
||||
dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
|
@ -375,3 +375,7 @@ AC_DEFUN([gl_CACHE_VAL_SILENT],
|
|||
AC_CACHE_VAL([$1], [$2])
|
||||
as_echo_n="$saved_as_echo_n"
|
||||
])
|
||||
|
||||
# AS_VAR_COPY was added in autoconf 2.63b
|
||||
m4_define_default([AS_VAR_COPY],
|
||||
[AS_LITERAL_IF([$1[]$2], [$1=$$2], [eval $1=\$$2])])
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* Replacement inntypes.h file for building GNU Emacs on MS-DOS with DJGPP.
|
||||
/* Replacement inttypes.h file for building GNU Emacs on MS-DOS with DJGPP.
|
||||
|
||||
Copyright (C) 2011-2014 Free Software Foundation, Inc.
|
||||
|
||||
|
|
|
@ -3291,7 +3291,7 @@
|
|||
|
||||
* src: Remove directory.
|
||||
|
||||
* src\config.h, src\paths.h: Moved to parent dir, src removed.
|
||||
* src/config.h, src/paths.h: Moved to parent dir, src removed.
|
||||
|
||||
1995-04-09 Geoff Voelker <voelker@cs.washington.edu>
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* Replacement inntypes.h file for building GNU Emacs on Windows with MSVC.
|
||||
/* Replacement inttypes.h file for building GNU Emacs on Windows with MSVC.
|
||||
|
||||
Copyright (C) 2011-2014 Free Software Foundation, Inc.
|
||||
|
||||
|
|
|
@ -1,3 +1,37 @@
|
|||
2014-01-11 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* xdisp.c (try_window_id): Don't use this function's optimizations
|
||||
if overlays in the buffer displayed by the window have changed
|
||||
since last redisplay. (Bug#16347)
|
||||
(message_dolog): Fix indentation.
|
||||
|
||||
2014-01-11 Martin Rudalics <rudalics@gmx.at>
|
||||
|
||||
* frame.c (frame_resize_pixelwise): Fix doc-string.
|
||||
|
||||
2014-01-10 Martin Rudalics <rudalics@gmx.at>
|
||||
|
||||
Fix handling of internal borders (Bug#16348).
|
||||
* dispnew.c (adjust_frame_glyphs_for_window_redisplay): Remove
|
||||
internal border width from pixel width of windows.
|
||||
(change_frame_size_1): Don't return early when frame's pixel
|
||||
size changes - we still have to record the new sizes in the
|
||||
frame structure.
|
||||
* w32fns.c (x_set_tool_bar_lines): Clear internal border width
|
||||
also when toolbar gets larger.
|
||||
* window.c (check_frame_size): Include internal_border_width in
|
||||
check.
|
||||
* xdisp.c (Ftool_bar_height): Fix doc-string typo.
|
||||
* xfns.c (x_set_menu_bar_lines, x_set_tool_bar_lines): In
|
||||
non-toolkit/non-GTK version clear internal border.
|
||||
* xterm.c (x_clear_under_internal_border): New function for
|
||||
non-toolkit/non-GTK version.
|
||||
(x_after_update_window_line): In non-toolkit/non-GTK version
|
||||
don't do that.
|
||||
(handle_one_xevent, x_set_window_size): Call
|
||||
x_clear_under_internal_border in non-toolkit/non-GTK version.
|
||||
* xterm.h (x_clear_under_internal_border): Extern it.
|
||||
|
||||
2014-01-07 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Fix misdisplay of interlaced GIFs with libgif5 (Bug#16372).
|
||||
|
@ -654,7 +688,7 @@
|
|||
* conf_post.h: Include <stdbool.h>.
|
||||
(bool_bf): New type.
|
||||
* dispextern.h (TRACE, PREPARE_FACE_FOR_DISPLAY):
|
||||
* interval.h (RESET_INTERVAL, COPY_INTERVAL_CACHE, MERGE_INTERVAL_CACHE)
|
||||
* intervals.h (RESET_INTERVAL, COPY_INTERVAL_CACHE, MERGE_INTERVAL_CACHE)
|
||||
Surround statement macro with proper 'do { ... } while (false)' brackets.
|
||||
* dispextern.h (IF_DEBUG): Properly parenthesize and convert to void.
|
||||
Args must now be expressions; all callers changed.
|
||||
|
@ -3447,7 +3481,7 @@
|
|||
(Qbool_vector_p): Declare.
|
||||
(CHECK_BOOL_VECTOR, ROUNDUP, BITS_PER_SIZE_T): New macros.
|
||||
(swap16, swap32, swap64): New inline functions.
|
||||
* macfont.c (macfont_shape): Change lint_assume to assume.
|
||||
* macfont.m (macfont_shape): Change lint_assume to assume.
|
||||
* ralloc.c: Rename ROUNDUP to PAGE_ROUNDUP throughout.
|
||||
* xsettings.c (parse_settings): Use new swap16 and
|
||||
swap32 from lisp.h instead of file-specific macros.
|
||||
|
@ -3511,7 +3545,7 @@
|
|||
* process.h, process.c (PROCESS_INLINE):
|
||||
* syntax.h, syntax.c (SYNTAX_INLINE):
|
||||
* systime.h, sysdep.c (SYSTIME_INLINE):
|
||||
* termhooks.h, terminal.h (TERMHOOKS_INLINE):
|
||||
* termhooks.h, terminal.c (TERMHOOKS_INLINE):
|
||||
* window.h, window.c (WINDOW_INLINE):
|
||||
Remove. All uses replaced with INLINE.
|
||||
|
||||
|
@ -3718,7 +3752,7 @@
|
|||
(x_handle_dnd_message):
|
||||
* xsettings.c (xft_settings_event):
|
||||
Use 'const XEvent * const' where appropriate.
|
||||
* xterm.h, gtkutil.h, xsettngs.h: Adjust related prototypes.
|
||||
* xterm.h, gtkutil.h, xsettings.h: Adjust related prototypes.
|
||||
|
||||
2013-09-16 Dmitry Antipov <dmantipov@yandex.ru>
|
||||
|
||||
|
@ -3760,7 +3794,7 @@
|
|||
(Fx_create_frame): Register macfont driver, make a better default font.
|
||||
(Fns_popup_font_panel): Get font from macfont driver, if used.
|
||||
|
||||
* macfont.m, macfont.h, maccuvs.h: New files.
|
||||
* macfont.m, macfont.h, macuvs.h: New files.
|
||||
|
||||
* font.h: Declare syms_of_macfont.
|
||||
|
||||
|
@ -6065,7 +6099,7 @@
|
|||
New unwind-protect flavors to better type-check C callbacks.
|
||||
This also lessens the need to write wrappers for callbacks,
|
||||
and the need for make_save_pointer.
|
||||
* alloca.c (free_save_value):
|
||||
* alloc.c (free_save_value):
|
||||
* atimer.c (run_all_atimers):
|
||||
Now extern.
|
||||
* alloc.c (safe_alloca_unwind):
|
||||
|
@ -6074,13 +6108,13 @@
|
|||
* menu.c (cleanup_popup_menu) [HAVE_NS]:
|
||||
* minibuf.c (choose_minibuf_frame_1):
|
||||
* process.c (make_serial_process_unwind):
|
||||
* xdisp.h (pop_message_unwind):
|
||||
* xdisp.c (pop_message_unwind):
|
||||
* xselect.c (queue_selection_requests_unwind):
|
||||
Remove no-longer-needed wrapper. All uses replaced by the wrappee.
|
||||
* alloca.c (record_xmalloc):
|
||||
* alloc.c (record_xmalloc):
|
||||
Prefer record_unwind_protect_ptr to record_unwind_protect with
|
||||
make_save_pointer.
|
||||
* alloca.c (Fgarbage_collect):
|
||||
* alloc.c (Fgarbage_collect):
|
||||
Prefer record_unwind_protect_void to passing a dummy.
|
||||
* buffer.c (restore_buffer):
|
||||
* window.c (restore_window_configuration):
|
||||
|
@ -6686,8 +6720,8 @@
|
|||
Use emacs_open more consistently when opening files.
|
||||
This handles EINTR more consistently now, and makes it easier
|
||||
to introduce other uniform changes to file descriptor handling.
|
||||
* src/systdio.h: New file.
|
||||
* src/buffer.c (mmap_init):
|
||||
* sysstdio.h: New file.
|
||||
* buffer.c (mmap_init):
|
||||
* cygw32.c (chdir_to_default_directory):
|
||||
* dispnew.c (Fopen_termscript):
|
||||
* emacs.c (Fdaemon_initialized):
|
||||
|
|
|
@ -2400,7 +2400,7 @@
|
|||
* w32term.h (x_char_width, x_char_height): Likewise.
|
||||
* xfns.c (x_char_width, x_char_height): Remove.
|
||||
* w32fns.c (x_char_width, x_char_height): Likewise.
|
||||
* nsfns.c (x_char_width, x_char_height): Likewise.
|
||||
* nsfns.m (x_char_width, x_char_height): Likewise.
|
||||
* frame.c (Fframe_char_width): Use FRAME_COLUMN_WIDTH for
|
||||
all window frames.
|
||||
(Fframe_char_height): Likewise with FRAME_LINE_HEIGHT.
|
||||
|
|
|
@ -15138,8 +15138,8 @@
|
|||
|
||||
1989-06-23 Joseph Arceneaux (jla@apple-gunkies.ai.mit.edu)
|
||||
|
||||
* xfns.c, lisp/term/x-win.el: C routine Fscreen_color_p now lisp
|
||||
function x-color-screen-p in x-win.el.
|
||||
* xfns.c: C routine Fscreen_color_p now lisp
|
||||
function x-color-screen-p in lisp/term/x-win.el.
|
||||
(x_set_cursor_color): New method: first disallow same cursor as
|
||||
background, then if cursor not foreground, use it as cursor
|
||||
foreground.
|
||||
|
|
|
@ -2055,7 +2055,8 @@ adjust_frame_glyphs_for_window_redisplay (struct frame *f)
|
|||
w->left_col = 0;
|
||||
w->pixel_top = 0;
|
||||
w->top_line = 0;
|
||||
w->pixel_width = FRAME_PIXEL_WIDTH (f);
|
||||
w->pixel_width = (FRAME_PIXEL_WIDTH (f)
|
||||
- 2 * FRAME_INTERNAL_BORDER_WIDTH (f));
|
||||
w->total_cols = FRAME_TOTAL_COLS (f);
|
||||
w->pixel_height = FRAME_MENU_BAR_HEIGHT (f);
|
||||
w->total_lines = FRAME_MENU_BAR_LINES (f);
|
||||
|
@ -5515,7 +5516,11 @@ change_frame_size_1 (struct frame *f, int new_width, int new_height,
|
|||
example, fullscreen and remove/add scroll bar. */
|
||||
if (new_text_height == FRAME_TEXT_HEIGHT (f)
|
||||
&& new_text_width == FRAME_TEXT_WIDTH (f)
|
||||
&& new_root_width == old_root_width)
|
||||
&& new_root_width == old_root_width
|
||||
&& (FRAME_PIXEL_HEIGHT (f) ==
|
||||
FRAME_TEXT_TO_PIXEL_HEIGHT (f, new_text_height))
|
||||
&& (FRAME_PIXEL_WIDTH (f) ==
|
||||
FRAME_TEXT_TO_PIXEL_WIDTH (f, new_text_width)))
|
||||
return;
|
||||
|
||||
block_input ();
|
||||
|
|
|
@ -4429,7 +4429,7 @@ where
|
|||
LANGSYS is a symbol specifying a langsys tag of OpenType,
|
||||
GSUB and GPOS, if non-nil, are lists of symbols specifying feature tags.
|
||||
|
||||
If LANGYS is nil, the default langsys is selected.
|
||||
If LANGSYS is nil, the default langsys is selected.
|
||||
|
||||
The features are applied in the order they appear in the list. The
|
||||
symbol `*' means to apply all available features not present in this
|
||||
|
|
13
src/frame.c
13
src/frame.c
|
@ -4709,7 +4709,6 @@ or call the function `tool-bar-mode'. */);
|
|||
|
||||
DEFVAR_KBOARD ("default-minibuffer-frame", Vdefault_minibuffer_frame,
|
||||
doc: /* Minibufferless frames use this frame's minibuffer.
|
||||
|
||||
Emacs cannot create minibufferless frames unless this is set to an
|
||||
appropriate surrogate.
|
||||
|
||||
|
@ -4730,9 +4729,15 @@ automatically. See also `mouse-autoselect-window'. */);
|
|||
focus_follows_mouse = 0;
|
||||
|
||||
DEFVAR_BOOL ("frame-resize-pixelwise", frame_resize_pixelwise,
|
||||
doc: /* Non-nil means frames are resized pixelwise.
|
||||
If this is nil, resizing a frame will round sizes to the frame's
|
||||
current values of `frame-char-height' and `frame-char-width'. */);
|
||||
doc: /* Non-nil means resize frames pixelwise.
|
||||
If this option is nil, resizing a frame rounds its sizes to the frame's
|
||||
current values of `frame-char-height' and `frame-char-width'. If this
|
||||
is non-nil, no rounding occurs, hence frame sizes can increase/decrease
|
||||
by one pixel.
|
||||
|
||||
With some window managers you have to set this to non-nil in order to
|
||||
fully maximize frames. The default of this option is nil. To resize
|
||||
your initial frame pixelwise, set this option in your init file. */);
|
||||
frame_resize_pixelwise = 0;
|
||||
|
||||
staticpro (&Vframe_list);
|
||||
|
|
17
src/w32fns.c
17
src/w32fns.c
|
@ -1713,26 +1713,23 @@ x_set_tool_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval)
|
|||
/* If the tool bar gets smaller, the internal border below it
|
||||
has to be cleared. It was formerly part of the display
|
||||
of the larger tool bar, and updating windows won't clear it. */
|
||||
if (delta < 0)
|
||||
if (FRAME_INTERNAL_BORDER_WIDTH (f) != 0)
|
||||
{
|
||||
int height = FRAME_INTERNAL_BORDER_WIDTH (f);
|
||||
int width = FRAME_PIXEL_WIDTH (f);
|
||||
int y = nlines * unit;
|
||||
HDC hdc = get_frame_dc (f);
|
||||
|
||||
block_input ();
|
||||
{
|
||||
HDC hdc = get_frame_dc (f);
|
||||
w32_clear_area (f, hdc, 0, y, width, height);
|
||||
release_frame_dc (f, hdc);
|
||||
}
|
||||
w32_clear_area (f, hdc, 0, y, width, height);
|
||||
release_frame_dc (f, hdc);
|
||||
unblock_input ();
|
||||
|
||||
if (WINDOWP (f->tool_bar_window))
|
||||
clear_glyph_matrix (XWINDOW (f->tool_bar_window)->current_matrix);
|
||||
}
|
||||
|
||||
run_window_configuration_change_hook (f);
|
||||
if (delta < 0 && WINDOWP (f->tool_bar_window))
|
||||
clear_glyph_matrix (XWINDOW (f->tool_bar_window)->current_matrix);
|
||||
|
||||
run_window_configuration_change_hook (f);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -3155,6 +3155,7 @@ check_frame_size (struct frame *frame, int *width, int *height, bool pixelwise)
|
|||
min_height = 2 * min_height;
|
||||
|
||||
min_height += FRAME_TOP_MARGIN_HEIGHT (frame);
|
||||
min_height += FRAME_INTERNAL_BORDER_WIDTH (frame);
|
||||
|
||||
if (*height < min_height)
|
||||
*height = min_height;
|
||||
|
@ -4047,6 +4048,8 @@ resize_frame_windows (struct frame *f, int size, bool horflag, bool pixelwise)
|
|||
have implicitly given us a zero or negative height. */
|
||||
if (pixelwise)
|
||||
{
|
||||
/* Note: This does not include the size for internal borders
|
||||
since these are not part of the frame's text area. */
|
||||
new_pixel_size = max (horflag
|
||||
? size
|
||||
: (size
|
||||
|
|
21
src/xdisp.c
21
src/xdisp.c
|
@ -9854,7 +9854,7 @@ message_dolog (const char *m, ptrdiff_t nbytes, bool nlflag, bool multibyte)
|
|||
incrementing windows_or_buffers_changed even if *Messages* is
|
||||
shown in some window. So we must manually set
|
||||
windows_or_buffers_changed here to make up for that. */
|
||||
windows_or_buffers_changed = old_windows_or_buffers_changed;
|
||||
windows_or_buffers_changed = old_windows_or_buffers_changed;
|
||||
bset_redisplay (current_buffer);
|
||||
|
||||
set_buffer_internal (oldbuf);
|
||||
|
@ -12109,7 +12109,7 @@ DEFUN ("tool-bar-height", Ftool_bar_height, Stool_bar_height,
|
|||
0, 2, 0,
|
||||
doc: /* Return the number of lines occupied by the tool bar of FRAME.
|
||||
If FRAME is nil or omitted, use the selected frame. Optional argument
|
||||
PIXELWISE non-nil means return the height of the tool bar inpixels. */)
|
||||
PIXELWISE non-nil means return the height of the tool bar in pixels. */)
|
||||
(Lisp_Object frame, Lisp_Object pixelwise)
|
||||
{
|
||||
int height = 0;
|
||||
|
@ -17333,9 +17333,16 @@ row_containing_pos (struct window *w, ptrdiff_t charpos,
|
|||
|
||||
Value is
|
||||
|
||||
1 if display has been updated
|
||||
0 if otherwise unsuccessful
|
||||
>= 1 if successful, i.e. display has been updated
|
||||
specifically:
|
||||
1 means the changes were in front of a newline that precedes
|
||||
the window start, and the whole current matrix was reused
|
||||
2 means the changes were after the last position displayed
|
||||
in the window, and the whole current matrix was reused
|
||||
3 means portions of the current matrix were reused, while
|
||||
some of the screen lines were redrawn
|
||||
-1 if redisplay with same window start is known not to succeed
|
||||
0 if otherwise unsuccessful
|
||||
|
||||
The following steps are performed:
|
||||
|
||||
|
@ -17410,6 +17417,12 @@ try_window_id (struct window *w)
|
|||
if (windows_or_buffers_changed || f->cursor_type_changed)
|
||||
GIVE_UP (2);
|
||||
|
||||
/* This function's optimizations cannot be used if overlays have
|
||||
changed in the buffer displayed by the window, so give up if they
|
||||
have. */
|
||||
if (w->last_overlay_modified != OVERLAY_MODIFF)
|
||||
GIVE_UP (21);
|
||||
|
||||
/* Verify that narrowing has not changed.
|
||||
Also verify that we were not told to prevent redisplay optimizations.
|
||||
It would be nice to further
|
||||
|
|
|
@ -998,6 +998,8 @@ x_set_menu_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval)
|
|||
FRAME_MENU_BAR_LINES (f) = nlines;
|
||||
FRAME_MENU_BAR_HEIGHT (f) = nlines * FRAME_LINE_HEIGHT (f);
|
||||
resize_frame_windows (f, FRAME_TEXT_HEIGHT (f), 0, 1);
|
||||
if (FRAME_X_WINDOW (f))
|
||||
x_clear_under_internal_border (f);
|
||||
|
||||
/* If the menu bar height gets changed, the internal border below
|
||||
the top margin has to be cleared. Also, if the menu bar gets
|
||||
|
@ -1110,8 +1112,11 @@ x_set_tool_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval)
|
|||
|
||||
FRAME_TOOL_BAR_LINES (f) = nlines;
|
||||
FRAME_TOOL_BAR_HEIGHT (f) = nlines * FRAME_LINE_HEIGHT (f);
|
||||
++windows_or_buffers_changed;
|
||||
resize_frame_windows (f, FRAME_TEXT_HEIGHT (f), 0, 1);
|
||||
#if !defined USE_X_TOOLKIT && !defined USE_GTK
|
||||
if (FRAME_X_WINDOW (f))
|
||||
x_clear_under_internal_border (f);
|
||||
#endif
|
||||
adjust_frame_glyphs (f);
|
||||
|
||||
/* We also have to make sure that the internal border at the top of
|
||||
|
|
76
src/xterm.c
76
src/xterm.c
|
@ -593,6 +593,32 @@ XTframe_up_to_date (struct frame *f)
|
|||
}
|
||||
|
||||
|
||||
/* Clear under internal border if any for non-toolkit builds. */
|
||||
|
||||
|
||||
#if !defined USE_X_TOOLKIT && !defined USE_GTK
|
||||
void
|
||||
x_clear_under_internal_border (struct frame *f)
|
||||
{
|
||||
if (FRAME_INTERNAL_BORDER_WIDTH (f) > 0)
|
||||
{
|
||||
Display *display = FRAME_X_DISPLAY (f);
|
||||
Window window = FRAME_X_WINDOW (f);
|
||||
int border = FRAME_INTERNAL_BORDER_WIDTH (f);
|
||||
int width = FRAME_PIXEL_WIDTH (f);
|
||||
int height = FRAME_PIXEL_HEIGHT (f);
|
||||
int margin = FRAME_TOP_MARGIN_HEIGHT (f);
|
||||
|
||||
block_input ();
|
||||
x_clear_area (display, window, 0, 0, border, height);
|
||||
x_clear_area (display, window, 0, margin, width, border);
|
||||
x_clear_area (display, window, width - border, 0, border, height);
|
||||
x_clear_area (display, window, 0, height - border, width, border);
|
||||
unblock_input ();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Draw truncation mark bitmaps, continuation mark bitmaps, overlay
|
||||
arrow bitmaps, or clear the fringes if no bitmaps are required
|
||||
before DESIRED_ROW is made current. This function is called from
|
||||
|
@ -602,38 +628,42 @@ XTframe_up_to_date (struct frame *f)
|
|||
static void
|
||||
x_after_update_window_line (struct window *w, struct glyph_row *desired_row)
|
||||
{
|
||||
struct frame *f;
|
||||
int width, height;
|
||||
|
||||
eassert (w);
|
||||
|
||||
if (!desired_row->mode_line_p && !w->pseudo_window_p)
|
||||
desired_row->redraw_fringe_bitmaps_p = 1;
|
||||
|
||||
#ifdef USE_X_TOOLKIT
|
||||
/* When a window has disappeared, make sure that no rest of
|
||||
full-width rows stays visible in the internal border. Could
|
||||
check here if updated window is the leftmost/rightmost window,
|
||||
but I guess it's not worth doing since vertically split windows
|
||||
are almost never used, internal border is rarely set, and the
|
||||
overhead is very small. */
|
||||
if (windows_or_buffers_changed
|
||||
&& desired_row->full_width_p
|
||||
&& (f = XFRAME (w->frame),
|
||||
width = FRAME_INTERNAL_BORDER_WIDTH (f),
|
||||
width != 0)
|
||||
&& (height = desired_row->visible_height,
|
||||
height > 0))
|
||||
{
|
||||
int y = WINDOW_TO_FRAME_PIXEL_Y (w, max (0, desired_row->y));
|
||||
{
|
||||
struct frame *f;
|
||||
int width, height;
|
||||
|
||||
block_input ();
|
||||
x_clear_area (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
|
||||
0, y, width, height);
|
||||
x_clear_area (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
|
||||
FRAME_PIXEL_WIDTH (f) - width,
|
||||
y, width, height);
|
||||
unblock_input ();
|
||||
}
|
||||
if (windows_or_buffers_changed
|
||||
&& desired_row->full_width_p
|
||||
&& (f = XFRAME (w->frame),
|
||||
width = FRAME_INTERNAL_BORDER_WIDTH (f),
|
||||
width != 0)
|
||||
&& (height = desired_row->visible_height,
|
||||
height > 0))
|
||||
{
|
||||
int y = WINDOW_TO_FRAME_PIXEL_Y (w, max (0, desired_row->y));
|
||||
|
||||
block_input ();
|
||||
x_clear_area (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
|
||||
0, y, width, height);
|
||||
x_clear_area (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
|
||||
FRAME_PIXEL_WIDTH (f) - width,
|
||||
y, width, height);
|
||||
unblock_input ();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -6618,7 +6648,8 @@ handle_one_xevent (struct x_display_info *dpyinfo,
|
|||
|| event->xconfigure.height != FRAME_PIXEL_HEIGHT (f))
|
||||
{
|
||||
change_frame_size (f, width, height, 0, 1, 0, 1);
|
||||
SET_FRAME_GARBAGED (f);
|
||||
x_clear_under_internal_border (f);
|
||||
SET_FRAME_GARBAGED (f);
|
||||
cancel_mouse_face (f);
|
||||
}
|
||||
|
||||
|
@ -8635,6 +8666,9 @@ x_set_window_size (struct frame *f, int change_gravity, int width, int height, b
|
|||
#else /* not USE_GTK */
|
||||
|
||||
x_set_window_size_1 (f, change_gravity, width, height, pixelwise);
|
||||
#if !defined USE_X_TOOLKIT
|
||||
x_clear_under_internal_border (f);
|
||||
#endif
|
||||
|
||||
#endif /* not USE_GTK */
|
||||
|
||||
|
|
|
@ -1049,6 +1049,10 @@ extern void x_session_close (void);
|
|||
|
||||
extern Lisp_Object Qx_gtk_map_stock;
|
||||
|
||||
#if !defined USE_X_TOOLKIT && !defined USE_GTK
|
||||
extern void x_clear_under_internal_border (struct frame *f);
|
||||
#endif
|
||||
|
||||
/* Is the frame embedded into another application? */
|
||||
|
||||
#define FRAME_X_EMBEDDED_P(f) (FRAME_X_OUTPUT(f)->explicit_parent != 0)
|
||||
|
|
|
@ -44,8 +44,8 @@
|
|||
|
||||
2013-12-12 Nathan Trapuzzano <nbtrap@nbtrap.com>
|
||||
|
||||
* automated/python-test.el (python-indent-block-enders-1): Rename
|
||||
from python-indent-block-enders.
|
||||
* automated/python-tests.el (python-indent-block-enders-1):
|
||||
Rename from python-indent-block-enders.
|
||||
(python-indent-block-enders-2): New test.
|
||||
|
||||
2013-12-08 Dmitry Gutov <dgutov@yandex.ru>
|
||||
|
@ -131,9 +131,8 @@
|
|||
|
||||
2013-11-20 Bozhidar Batsov <bozhidar@batsov.com>
|
||||
|
||||
* test/automated/ruby-mode-tests.el (ruby-exit!-font-lock):
|
||||
* automated/ruby-mode-tests.el (ruby-exit!-font-lock):
|
||||
Add a failing test for Bug#15874.
|
||||
* test/automated/ruby-mode-tests.el
|
||||
(ruby--insert-coding-comment-ruby-style)
|
||||
(ruby--insert-coding-comment-emacs-style)
|
||||
(ruby--insert-coding-comment-custom-style):
|
||||
|
@ -353,7 +352,7 @@
|
|||
|
||||
2013-10-17 Barry O'Reilly <gundaetiapo@gmail.com>
|
||||
|
||||
* test/automated/timer-tests.el: New file. Tests that (sit-for 0)
|
||||
* automated/timer-tests.el: New file. Tests that (sit-for 0)
|
||||
allows another timer to run.
|
||||
|
||||
2013-10-14 Dmitry Gutov <dgutov@yandex.ru>
|
||||
|
@ -449,7 +448,7 @@
|
|||
|
||||
2013-09-22 Daniel Colascione <dancol@dancol.org>
|
||||
|
||||
* automated/data-test.el:
|
||||
* automated/data-tests.el:
|
||||
(bool-vector-count-matches-all-0-nil)
|
||||
(bool-vector-count-matches-all-0-t)
|
||||
(bool-vector-count-matches-1-il, bool-vector-count-matches-1-t)
|
||||
|
@ -523,8 +522,8 @@
|
|||
|
||||
2013-08-14 Daniel Hackney <dan@haxney.org>
|
||||
|
||||
* package-test.el: Remove tar-package-building functions. Tar file
|
||||
used for testing is included in the repository.
|
||||
* automated/package-test.el: Remove tar-package-building functions.
|
||||
Tar file used for testing is included in the repository.
|
||||
(package-test-install-texinfo, package-test-cleanup-built-files):
|
||||
Remove.
|
||||
|
||||
|
@ -772,7 +771,7 @@
|
|||
|
||||
2013-05-26 Aidan Gauland <aidalgol@amuri.net>
|
||||
|
||||
* tests/eshell.el: Rewrite tests using ERT.
|
||||
* eshell.el: Rewrite tests using ERT.
|
||||
|
||||
2013-05-25 Leo Liu <sdl.web@gmail.com>
|
||||
|
||||
|
@ -802,7 +801,7 @@
|
|||
|
||||
2013-04-01 Masatake YAMATO <yamato@redhat.com>
|
||||
|
||||
* automated/imenu-tests.el: New file. (Bug#14112)
|
||||
* automated/imenu-test.el: New file. (Bug#14112)
|
||||
|
||||
2013-04-19 Fabián Ezequiel Gallina <fgallina@gnu.org>
|
||||
|
||||
|
@ -1161,7 +1160,7 @@
|
|||
* automated/newsticker-tests.el
|
||||
(newsticker--group-manage-orphan-feeds): Use fset instead of flet.
|
||||
|
||||
* trunk/test/automated/newsticker-tests.el
|
||||
* automated/newsticker-tests.el
|
||||
(newsticker--group-manage-orphan-feeds): Prevent updating
|
||||
newsticker treeview. Fixed bug#9763.
|
||||
|
||||
|
|
|
@ -688,7 +688,7 @@ TWindowList = record
|
|||
NoSound;
|
||||
RestoreTerminalClearCRT;
|
||||
WriteLn (StdErr, 'You''re trying to kill me. Since I have break checking turned off,');
|
||||
WriteLn (StdErr, 'I''m not dying, but I''ll do you a favour and terminate now.');
|
||||
WriteLn (StdErr, 'I''m not dying, but I''ll do you a favor and terminate now.');
|
||||
Halt (3)
|
||||
end;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue