Merge from emacs-24; up to 2014-05-04T21:18:30Z!eggert@cs.ucla.edu

This commit is contained in:
Paul Eggert 2014-05-04 12:37:56 -07:00
commit 3e9fa60a5c
46 changed files with 1235 additions and 970 deletions

View file

@ -1,3 +1,15 @@
2014-05-04 Paul Eggert <eggert@cs.ucla.edu>
Require ImageMagick >= 6.3.5, due to PixelSetMagickColor (Bug#17339).
* configure.ac (IMAGEMAGICK_MODULE): Bump prereq from 6.2.8 to 6.3.5.
A more-complicated fix would be to remove uses of PixelSetMagickColor,
introduced in ImageMagick 6.3.5 (Sept. 2007).
2014-05-04 Glenn Morris <rgm@gnu.org>
* configure.ac (LIBPNG): Consult libpng-config for the precise
form of "-lpng" to use. (Bug#17339)
2014-05-03 Glenn Morris <rgm@gnu.org>
* autogen.sh: If all else fails, try using pkg-config to find pkg.m4.

View file

@ -5,6 +5,11 @@ Instructions to create pretest or release tarballs. -*- coding: utf-8 -*-
Steps to take before starting on the first pretest in any release sequence:
0. The release branch (e.g. emacs-24) should already have been made
and you should use it for all that follows. Diffs from this
branch should be going to the emacs-diffs mailing list (see
admin/notes/bzr section on bzr-email plugin).
1. Decide on versions of automake and autoconf, and ensure you will
have them available for the duration of the release process.
@ -14,17 +19,15 @@ Steps to take before starting on the first pretest in any release sequence:
when preparing the first pretest for a major Emacs release.)
Commit cus-edit.el if changed.
3. Remove any old pretests from ftp://alpha.gnu.org/gnu/emacs/pretest.
You can use `gnupload --delete' (see below for more gnupload details).
General steps (for each step, check for possible errors):
1. `bzr update' (for a bound branch), or `bzr pull'.
bzr status # check for locally modified files
2. Bootstrap to make 100% sure all elc files are up-to-date, and to
make sure that the later tagged version will bootstrap, should it be
necessary to check it out.
3. Regenerate the etc/AUTHORS file:
2. Regenerate the etc/AUTHORS file:
M-: (require 'authors) RET
M-x authors RET
@ -39,7 +42,7 @@ General steps (for each step, check for possible errors):
authors-ambiguous-files or authors-aliases, and repeat.
Commit any fixes to ChangeLogs or authors.el.
4. Set the version number (M-x load-file RET admin/admin.el RET, then
3. Set the version number (M-x load-file RET admin/admin.el RET, then
M-x set-version RET). For a release, add released ChangeLog
entries (M-x add-release-logs RET).
@ -54,31 +57,37 @@ General steps (for each step, check for possible errors):
emacs-XX.Y-rc1.tar. If all goes well in the following week, you
can simply rename the file and use it for the actual release.
5. autoreconf -i -I m4 --force
4. autoreconf -i -I m4 --force
make bootstrap
make -C etc/refcards
make -C etc/refcards clean
6. Copy lisp/loaddefs.el to lisp/ldefs-boot.el.
5. Copy lisp/loaddefs.el to lisp/ldefs-boot.el.
Commit etc/AUTHORS, lisp/ldefs-boot.el, and the files changed
by M-x set-version.
by M-x set-version. Use a commit log message that bzrmerge.el
will ignore (eg "Bump version...").
For a release, also commit the ChangeLog files in all directories.
7. ./make-dist --snapshot --no-compress
If someone else made a commit between step 1 and now,
you need to repeat from step 4 onwards. (You can commit the files
from step 2 and 3 earlier to reduce the chance of this.)
Check the contents of the new tar with
admin/diff-tar-files against an older tar file. Some old pretest
tarballs may be found at <ftp://alpha.gnu.org/gnu/emacs/pretest>;
old release tarballs are at <ftp://ftp.gnu.org/pub/gnu/emacs/>.
6. ./make-dist --snapshot --no-compress
Check the contents of the new tar with admin/diff-tar-files
against the previous release (if this is the first pretest) or the
previous pretest. If you did not make the previous pretest
yourself, find it at <ftp://alpha.gnu.org/gnu/emacs/pretest>.
Releases are of course at <ftp://ftp.gnu.org/pub/gnu/emacs/>.
If this is the first pretest of a major release, just comparing
with the previous release may overlook many new files. You can try
something like `find . | sort' in a clean bzr tree, and compare the
results against the new tar contents.
8. tar -xf emacs-NEW.tar; cd emacs-NEW
7. tar -xf emacs-NEW.tar; cd emacs-NEW
./configure --prefix=/tmp/emacs && make && make install
Use `script' or M-x compile to save the compilation log in
compile-NEW.log and compare it against an old one. The easiest way
@ -87,25 +96,21 @@ General steps (for each step, check for possible errors):
M-x ediff. Especially check that Info files aren't built, and that
no autotools (autoconf etc) run.
9. cd EMACS_ROOT_DIR && bzr tag TAG
8. cd EMACS_ROOT_DIR && bzr tag TAG
TAG is emacs-XX.Y.ZZ for a pretest, emacs-XX.Y for a release.
Shortly before the release, cut the version branch also, and open
a Savannah support request asking for commits to the new branch to
be sent to the emacs-diffs mailing list (by default, the list
normally only gets commits to the trunk).
10. Decide what compression schemes to offer.
9. Decide what compression schemes to offer.
For a release, at least gz and xz:
gzip --best -c emacs-NEW.tar > emacs-NEW.tar.gz
xz -c emacs-NEW.tar > emacs-NEW.tar.xz
For pretests, just xz is probably fine (saves bandwidth).
Now you should upload the files to the GNU ftp server. In order to
do that, you must be registered as an Emacs maintainer and have your
GPG key acknowledged by the ftp people. For instructions, see
http://www.gnu.org/prep/maintain/html_node/Automated-Upload-Registration.html
The simplest method is to use the gnulib <http://www.gnu.org/s/gnulib/>
script "build-aux/gnupload" to upload each FILE, like this:
The simplest method to upload is to use the gnulib
<http://www.gnu.org/s/gnulib/> script "build-aux/gnupload":
For a pretest:
gnupload [--user your@gpg.key.email] --to alpha.gnu.org:emacs/pretest \
@ -136,19 +141,21 @@ General steps (for each step, check for possible errors):
For a pretest, place the files in /incoming/alpha instead, so that
they appear on ftp://alpha.gnu.org/.
11. After five minutes, verify that the files are visible at
10. After five minutes, verify that the files are visible at
ftp://alpha.gnu.org/gnu/emacs/pretest/ for a pretest, or
ftp://ftp.gnu.org/gnu/emacs/ for a release.
Download them and check the signatures. Check they build.
12. For a pretest, announce it on emacs-devel and info-gnu-emacs@gnu.org.
Probably should also include the platform-testers list:
https://lists.gnu.org/mailman/listinfo/platform-testers
For a release, also announce it on info-gnu@gnu.org. (Probably
bcc the info- addresses to make it less likely that people will
followup on those lists.)
11. Send an announcement to: emacs-devel, and bcc: info-gnu-emacs@gnu.org.
For a pretest, also bcc: platform-testers@gnu.org.
(The reason for using bcc: is to make it less likely that people
will followup on the wrong list.)
See the info-gnu-emacs mailing list archives for the form
of past announcements. The first pretest announcement, and the
release announcement, should have more detail.
13. For a release, update the Emacs homepage in the web repository.
Also add the new NEWS file as NEWS.xx.y.
Maybe regenerate the html manuals, update the FAQ, etc, etc.
12. For a release, update the Emacs homepage in the web repository.
Also update history.html, and add the new NEWS file as NEWS.xx.y.
Regenerate the html manuals (use make-manuals from admin.el).
If there are new manuals, add appropriate index pages.

View file

@ -2175,11 +2175,9 @@ fi
HAVE_IMAGEMAGICK=no
if test "${HAVE_X11}" = "yes" || test "${HAVE_NS}" = "yes" || test "${HAVE_W32}" = "yes"; then
if test "${with_imagemagick}" != "no"; then
## 6.2.8 is the earliest version known to work, but earlier versions
## might work - let us know if you find one.
## 6.0.7 does not work. See bug#7955.
## 6.3.5 is the earliest version known to work; see Bug#17339.
## 6.8.2 makes Emacs crash; see Bug#13867.
IMAGEMAGICK_MODULE="Wand >= 6.2.8 Wand != 6.8.2"
IMAGEMAGICK_MODULE="Wand >= 6.3.5 Wand != 6.8.2"
EMACS_CHECK_MODULES([IMAGEMAGICK], [$IMAGEMAGICK_MODULE])
AC_SUBST(IMAGEMAGICK_CFLAGS)
AC_SUBST(IMAGEMAGICK_LIBS)
@ -3051,8 +3049,15 @@ elif test "${HAVE_X11}" = "yes" || test "${HAVE_W32}" = "yes"; then
fi
if test "${HAVE_PNG}" = "yes"; then
AC_DEFINE(HAVE_PNG, 1, [Define to 1 if you have the png library (-lpng).])
LIBPNG="-lpng -lz -lm"
AC_DEFINE(HAVE_PNG, 1, [Define to 1 if you have the png library.])
dnl Some systems, eg NetBSD 6, only provide eg "libpng16", not "libpng".
lpng=`libpng-config --libs 2> /dev/null`
case $lpng in
-l*) : ;;
*) lpng="-lpng" ;;
esac
LIBPNG="$lpng -lz -lm"
AC_CHECK_DECL(png_longjmp,
[],
@ -4908,7 +4913,7 @@ echo " Does Emacs use -lXpm? ${HAVE_XPM}"
echo " Does Emacs use -ljpeg? ${HAVE_JPEG}"
echo " Does Emacs use -ltiff? ${HAVE_TIFF}"
echo " Does Emacs use a gif library? ${HAVE_GIF} $LIBGIF"
echo " Does Emacs use -lpng? ${HAVE_PNG}"
echo " Does Emacs use a png library? ${HAVE_PNG} $LIBPNG"
echo " Does Emacs use -lrsvg-2? ${HAVE_RSVG}"
echo " Does Emacs use imagemagick? ${HAVE_IMAGEMAGICK}"

View file

@ -1,3 +1,10 @@
2014-05-04 Eli Zaretskii <eliz@gnu.org>
* trouble.texi (Lossage, DEL Does Not Delete, Stuck Recursive)
(Screen Garbled, Text Garbled, After a Crash, Emergency Escape)
(Bug Criteria, Understanding Bug Reporting, Checklist, Service):
Improve indexing.
2014-05-04 Leo Liu <sdl.web@gmail.com>
* cal-xtra.texi (Non-Gregorian Diary): Document new features for

View file

@ -135,6 +135,7 @@ facility.
@node Lossage
@section Dealing with Emacs Trouble
@cindex troubleshooting Emacs
This section describes how to recognize and deal with situations in
which Emacs does not work as you expect, such as keyboard code mixups,
@ -158,6 +159,7 @@ Emacs.
@subsection If @key{DEL} Fails to Delete
@cindex @key{DEL} vs @key{BACKSPACE}
@cindex @key{BACKSPACE} vs @key{DEL}
@cindex @key{DEL} does not delete
Every keyboard has a large key, usually labeled @key{BACKSPACE},
which is ordinarily used to erase the last character that you typed.
@ -212,6 +214,8 @@ Customization}.
@node Stuck Recursive
@subsection Recursive Editing Levels
@cindex stuck in recursive editing
@cindex recursive editing, cannot exit
Recursive editing levels are important and useful features of Emacs, but
they can seem like malfunctions if you do not understand them.
@ -225,6 +229,9 @@ top-level}. @xref{Recursive Edit}.
@node Screen Garbled
@subsection Garbage on the Screen
@cindex garbled display
@cindex display, incorrect
@cindex screen display, wrong
If the text on a text terminal looks wrong, the first thing to do is
see whether it is wrong in the buffer. Type @kbd{C-l} to redisplay
@ -242,6 +249,8 @@ bug in Emacs that appears for certain terminal types.
@node Text Garbled
@subsection Garbage in the Text
@cindex garbled text
@cindex buffer text garbled
If @kbd{C-l} shows that the text is wrong, first type @kbd{C-h l} to
see what commands you typed to produce the observed results. Then try
@ -348,6 +357,7 @@ enable them by running the shell command @samp{ulimit -c unlimited}
@node After a Crash
@subsection Recovery After a Crash
@cindex recovering crashed session
If Emacs or the computer crashes, you can recover the files you were
editing at the time of the crash from their auto-save files. To do
@ -394,6 +404,7 @@ not make a backup of its old contents.
@node Emergency Escape
@subsection Emergency Escape
@cindex emergency escape
On text terminals, the @dfn{emergency escape} feature suspends Emacs
immediately if you type @kbd{C-g} a second time before Emacs can
@ -528,6 +539,8 @@ not feel obliged to read this list before reporting a bug.
@node Bug Criteria
@subsection When Is There a Bug
@cindex bug criteria
@cindex what constitutes an Emacs bug
If Emacs accesses an invalid memory location (``segmentation
fault''), or exits with an operating system error message that
@ -580,6 +593,8 @@ with the manual, one of them must be wrong; that is a bug.
@node Understanding Bug Reporting
@subsection Understanding Bug Reporting
@cindex bug reporting
@cindex report an Emacs bug, how to
@findex emacs-version
When you decide that there is a bug, it is important to report it
@ -636,8 +651,8 @@ separate bug report for each.
@node Checklist
@subsection Checklist for Bug Reports
@cindex reporting bugs
@cindex checklist before reporting a bug
@cindex bug reporting, checklist
Before reporting a bug, first try to see if the problem has already
been reported (@pxref{Known Problems}).
@ -1192,6 +1207,9 @@ file in the Emacs distribution.
@node Service
@section How To Get Help with GNU Emacs
@cindex help in using Emacs
@cindex help-gnu-emacs mailing list
@cindex gnu.emacs.help newsgroup
If you need help installing, using or changing GNU Emacs, there are two
ways to find it:

View file

@ -1,3 +1,15 @@
2014-05-04 Stephen Berman <stephen.berman@gmx.net>
* todo-mode.texi: Update, improve exposition, add cross
references, fix typos.
(Inserting New Items, Editing Item Headers and Text): Rewrite to
document new user interface.
2014-05-04 Glenn Morris <rgm@gnu.org>
* autotype.texi (Skeleton Language):
* message.texi (Header Commands): Replace `iff'.
2014-05-02 Paul Eggert <eggert@cs.ucla.edu>
* vhdl-mode.texi: Add "@documentencoding UTF-8",

View file

@ -241,10 +241,10 @@ put at these places. Point is left at first @code{_} where nothing is wrapped.
Indent line according to major mode. When following element is @code{_}, and
there is a interregion that will be wrapped here, indent that interregion.
@item @code{&}
Logical and. Iff preceding element moved point, i.e., usually inserted
Logical and. If preceding element moved point, i.e., usually inserted
something, do following element.
@item @code{|}
Logical xor. Iff preceding element didn't move point, i.e., usually inserted
Logical xor. If preceding element didn't move point, i.e., usually inserted
nothing, do following element.
@item @code{-@var{number}}
Delete preceding number characters. Depends on value of

View file

@ -748,9 +748,8 @@ by the @code{message-cross-post-note-function} variable.
@item C-c C-f t
@kindex C-c C-f t
@findex message-reduce-to-to-cc
Replace contents of @samp{To} header with contents of @samp{Cc} or
@samp{Bcc} header. (Iff @samp{Cc} header is not present, @samp{Bcc}
header will be used instead.)
Replace contents of @samp{To} header with contents of @samp{Cc}
header (or the @samp{Bcc} header, if there is no @samp{Cc} header).
@item C-c C-f w
@kindex C-c C-f w

View file

@ -611,7 +611,7 @@ Emacs Lisp. It is an LALR parser suitable for complex languages.
@c LocalWords: deffn deffnx defun defvar destructor's dfn diff dir
@c LocalWords: doc docstring EDE EIEIO elisp emacsman emph enum
@c LocalWords: eq Exp EXPANDFULL expression fn foo func funcall
@c LocalWords: ia ids iff ifinfo imenu imenus init int isearch itemx java kbd
@c LocalWords: ia ids ifinfo imenu imenus init int isearch itemx java kbd
@c LocalWords: keymap keywordtable lang languagemode lexer lexing Ludlam
@c LocalWords: menubar metaparent metaparents min minibuffer Misc mode's
@c LocalWords: multitable NAvigaTOR noindent nomedian nonterm noselect

File diff suppressed because it is too large Load diff

View file

@ -1,3 +1,8 @@
2014-05-04 Paul Eggert <eggert@cs.ucla.edu>
Handle systems without WCONTINUED consistently. (Bug#15110, 17339)
* emacsclient.c (WCONTINUED): Move to ../src/syswait.h.
2014-04-30 Glenn Morris <rgm@gnu.org>
* Makefile.in ($(DESTDIR)${archlibdir}):

View file

@ -65,10 +65,6 @@ char *w32_getenv (char *);
# define CLOSE_SOCKET close
# define INITIALIZE()
# ifndef WCONTINUED
# define WCONTINUED 8
# endif
#define egetenv(VAR) getenv(VAR)
#endif /* !WINDOWSNT */

View file

@ -1,3 +1,97 @@
2014-05-04 Eli Zaretskii <eliz@gnu.org>
* mail/rmailsum.el (rmail-new-summary-1): Fix a typo in a comment.
2014-05-04 Stefan Monnier <monnier@iro.umontreal.ca>
* vc/ediff-diff.el (ediff-set-fine-diff-properties-in-one-buffer):
Use nil rather than `default' for the "default" appearance (bug#17388).
* vc/ediff-util.el (ediff-inferior-compare-regions)
(ediff-toggle-autorefine, ediff-unselect-difference): Don't use
a misleading `default' value when it's really a boolean.
* vc/ediff-init.el (ediff-set-overlay-face): Don't set help-echo if the
overlay is not visible.
2014-05-04 Stephen Berman <stephen.berman@gmx.net>
* calendar/todo-mode.el (todo-edit-file): Use display-warning.
(todo-menu): Uncomment and update.
2014-05-04 Stephen Berman <stephen.berman@gmx.net>
* calendar/todo-mode.el: Reimplement item editing to have the same
basic user interface as item insertion, and make small UI and
larger internal improvements to the latter.
(todo-insert-item): Add reference to the Todo mode user manual to
the documentation string.
(todo-insert-item--basic): Rename from todo-basic-insert-item and
adjust all callers. Change signature to combine diary and
nonmarking arguments. Incorporate functionality of deleted item
copying command and add error checking. Remove detailed
descriptions of the arguments from the documentation string, since
this is treated in the Todo mode user manual.
(todo-copy-item, todo-edit-multiline-item)
(todo-edit-done-item-comment, todo-edit-item-header)
(todo-edit-item-time, todo-edit-item-date-from-calendar)
(todo-edit-item-date-to-today, todo-edit-item-date-day-name)
(todo-edit-item-date-year, todo-edit-item-date-month)
(todo-edit-item-date-day, todo-edit-item-diary-nonmarking):
Remove.
(todo-edit-item): Reimplement as wrapper command for
todo-edit-item--next-key and make it distinguish done and not done
todo items.
(todo-edit-item--text): New function, replacing old command
todo-edit-item and incorporating deleted commands
todo-edit-multiline-item and todo-edit-done-item-comment.
(todo-edit-item--header): Rename from todo-basic-edit-item-header.
Use only numeric value of prefix argument. Remove detailed
descriptions of the arguments from the documentation string, since
this is treated in the Todo mode user manual.
(todo-edit-item--diary-inclusion): New function, replacing old
command todo-edit-item-diary-inclusion and incorporating and fixing
functionality of deleted command todo-edit-item-diary-nonmarking,
making sure to remove todo-nondiary-marker when adding
diary-nonmarking-symbol.
(todo-edit-category-diary-inclusion): Make sure to delete
diary-nonmarking-symbol when adding todo-nondiary-marker.
(todo-edit-category-diary-nonmarking): Fix indentation.
(todo-insert-item--parameters): Group diary and nonmarking
parameters together.
(todo-insert-item--apply-args): Adjust to signature of
todo-insert-item--basic and incorporate copy parameter.
Make small code improvements.
(todo-insert-item--next-param): Improve prompt and adjust it to
new parameter grouping. Remove obsolete code.
(todo-edit-item--param-key-alist)
(todo-edit-item--date-param-key-alist)
(todo-edit-done-item--param-key-alist): New defconsts.
(todo-edit-item--prompt): New variable.
(todo-edit-item--next-key): New function.
(todo-key-bindings-t): Bind "e" to todo-edit-item. Remove
bindings of deleted commands.
2014-05-04 Leo Liu <sdl.web@gmail.com>
* emacs-lisp/cl-macs.el (cl-deftype): Fix indentation.
2014-05-04 Glenn Morris <rgm@gnu.org>
* allout-widgets.el (allout-widgets-tally)
(allout-decorate-item-guides):
* menu-bar.el (menu-bar-positive-p):
* minibuffer.el (completion-pcm-complete-word-inserts-delimiters):
* progmodes/gdb-mi.el (gdbmi-same-start, gdbmi-is-number):
* progmodes/js.el (js--inside-param-list-p)
(js--inside-dojo-class-list-p, js--forward-destructuring-spec):
* progmodes/prolog.el (region-exists-p):
* progmodes/verilog-mode.el (verilog-scan-cache-ok-p):
* textmodes/reftex-parse.el (reftex-using-biblatex-p):
Doc fixes (replace `iff').
2014-05-04 Stefan Monnier <monnier@iro.umontreal.ca>
* mpc.el (mpc-volume-mouse-set): Don't burp at the boundaries.
2014-05-04 Leo Liu <sdl.web@gmail.com>
Support Chinese diary entries in calendar and diary. (Bug#17393)

View file

@ -266,7 +266,7 @@ decreases as obsolete widgets are garbage collected."
(defvar allout-widgets-tally nil
"Hash-table of existing allout widgets, for debugging.
Table is maintained iff `allout-widgets-maintain-tally' is non-nil.
Table is maintained only if `allout-widgets-maintain-tally' is non-nil.
The table contents will be out of sync if any widgets are created
or deleted while this variable is nil.")
@ -1852,7 +1852,7 @@ In their absence, the current guide column flags are used.
Optional PARENT-WIDGET is the widget for the item's parent item.
Optional HAS-SUCCESSOR is true iff the item is followed by a sibling.
Optional HAS-SUCCESSOR is true if the item is followed by a sibling.
We also hide the header-prefix string.

File diff suppressed because it is too large Load diff

View file

@ -1,3 +1,11 @@
2014-05-01 Glenn Morris <rgm@gnu.org>
* ede.el (ede-project-directories, ede-check-project-directory):
* semantic/ia-sb.el (semantic-ia-sb-show-doc):
* semantic/tag.el (semantic-tag-in-buffer-p):
* semantic/bovine/c.el (semantic-tag-abstract-p):
Doc fixes (replace `iff').
2014-04-01 Glenn Morris <rgm@gnu.org>
* ede/emacs.el (ede-emacs-version): Update AC_INIT regexp. (Bug#17160)

View file

@ -100,7 +100,7 @@ target willing to take the file. 'never means never perform the check."
If the value is t, EDE may search in any directory.
If the value is a function, EDE calls that function with one
argument, the directory name; the function should return t iff
argument, the directory name; the function should return t if
EDE should look for project files in the directory.
Otherwise, the value should be a list of fully-expanded directory
@ -704,7 +704,7 @@ Otherwise, create a new project for DIR."
"Check if DIR should be in `ede-project-directories'.
If it is not, try asking the user if it should be added; if so,
add it and save `ede-project-directories' via Customize.
Return nil iff DIR should not be in `ede-project-directories'."
Return nil if DIR should not be in `ede-project-directories'."
(setq dir (directory-file-name (expand-file-name dir))) ; strip trailing /
(or (eq ede-project-directories t)
(and (functionp ede-project-directories)

View file

@ -1594,7 +1594,7 @@ Optional PARENT and COLOR as specified with
"Return non-nil if TAG is considered abstract.
PARENT is tag's parent.
In C, a method is abstract if it is `virtual', which is already
handled. A class is abstract iff its destructor is virtual."
handled. A class is abstract only if its destructor is virtual."
(cond
((eq (semantic-tag-class tag) 'type)
(require 'semantic/find)

View file

@ -1,7 +1,6 @@
;;; semantic/ia-sb.el --- Speedbar analysis display interactor
;;; Copyright (C) 2002-2004, 2006, 2008-2014 Free Software Foundation,
;;; Inc.
;;; Copyright (C) 2002-2004, 2006, 2008-2014 Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Keywords: syntax
@ -139,7 +138,7 @@ DIRECTORY is the current directory, which is ignored, and ZERO is 0."
)))
(defmethod semantic-ia-sb-show-doc ((context semantic-analyze-context))
"Show documentation about CONTEXT iff CONTEXT points at a complete symbol."
"Show documentation about CONTEXT if CONTEXT points at a complete symbol."
(let ((sym (car (reverse (oref context prefix))))
(doc nil))
(when (semantic-tag-p sym)

View file

@ -172,7 +172,7 @@ That function is for internal use only."
(semantic--tag-set-overlay tag (vector start end)))))
(defun semantic-tag-in-buffer-p (tag)
"Return the buffer TAG resides in IFF tag is already in a buffer.
"Return the buffer TAG resides in, if tag is already in a buffer.
If a tag is not in a buffer, return nil."
(let ((o (semantic-tag-overlay tag)))
;; TAG is currently linked to a buffer, return it.

View file

@ -2928,7 +2928,7 @@ The function's arguments should be treated as immutable.
(defmacro cl-deftype (name arglist &rest body)
"Define NAME as a new data type.
The type name can then be used in `cl-typecase', `cl-check-type', etc."
(declare (debug cl-defmacro) (doc-string 3))
(declare (debug cl-defmacro) (doc-string 3) (indent 2))
`(cl-eval-when (compile load eval)
(put ',name 'cl-deftype-handler
(cl-function (lambda (&cl-defs '('*) ,@arglist) ,@body)))))

View file

@ -1,3 +1,7 @@
2014-05-04 Glenn Morris <rgm@gnu.org>
* gnus-registry.el (gnus-registry-install-p): Doc fix.
2014-05-02 Katsumi Yamaoka <yamaoka@jpl.org>
* gnus-art.el (gnus-mime-inline-part): Redisplay a button so as to show

View file

@ -1125,9 +1125,9 @@ only the last one's marks are returned."
(add-hook 'gnus-registry-unload-hook 'gnus-registry-unload-hook)
(defun gnus-registry-install-p ()
"If the registry is not already enabled, and `gnus-registry-install' is t,
the registry is enabled. If `gnus-registry-install' is `ask',
the user is asked first. Returns non-nil iff the registry is enabled."
"Return non-nil if the registry is enabled (and maybe enable it first).
If the registry is not already enabled, then if `gnus-registry-install'
is `ask', ask the user; or if `gnus-registry-install' is non-nil, enable it."
(interactive)
(unless gnus-registry-enabled
(when (if (eq gnus-registry-install 'ask)

View file

@ -473,8 +473,8 @@ message."
(widen)
(goto-char (point-min))
(while (>= total msgnum)
;; Go back to the Rmail buffer so
;; so FUNCTION and rmail-get-summary can see its local vars.
;; Go back to the Rmail buffer so FUNCTION and
;; rmail-get-summary can see its local vars.
(with-current-buffer main-buffer
;; First test whether to include this message.
(if (or (null function)

View file

@ -922,7 +922,7 @@ by \"Save Options\" in Custom buffers.")
(selected-frame)))
(defun menu-bar-positive-p (val)
"Return non-nil iff VAL is a positive number."
"Return non-nil if VAL is a positive number."
(and (numberp val)
(> val 0)))

View file

@ -2773,7 +2773,7 @@ expression (not containing character ranges like `a-z')."
(defcustom completion-pcm-complete-word-inserts-delimiters nil
"Treat the SPC or - inserted by `minibuffer-complete-word' as delimiters.
Those chars are treated as delimiters iff this variable is non-nil.
Those chars are treated as delimiters if this variable is non-nil.
I.e. if non-nil, M-x SPC will just insert a \"-\" in the minibuffer, whereas
if nil, it will list all possible commands in *Completions* because none of
the commands start with a \"-\" or a SPC."

View file

@ -1811,9 +1811,14 @@ A value of t means the main playlist.")
(char-after (posn-point posn))))
'(?◁ ?<))
(- mpc-volume-step) mpc-volume-step))
(newvol (+ (string-to-number (cdr (assq 'volume mpc-status))) diff)))
(mpc-proc-cmd (list "setvol" newvol) 'mpc-status-refresh)
(message "Set MPD volume to %s%%" newvol)))
(curvol (string-to-number (cdr (assq 'volume mpc-status))))
(newvol (max 0 (min 100 (+ curvol diff)))))
(if (= newvol curvol)
(progn
(message "MPD volume already at %s%%" newvol)
(ding))
(mpc-proc-cmd (list "setvol" newvol) 'mpc-status-refresh)
(message "Set MPD volume to %s%%" newvol))))
(defun mpc-volume-widget (vol &optional size)
(unless size (setq size 12.5))

View file

@ -1979,7 +1979,7 @@ OFFSET is the position in STR at which the comparison takes place."
(string-equal match (substring str offset (+ offset match-length))))))
(defun gdbmi-same-start (str offset match)
"Return non-nil iff STR and MATCH are equal up to the end of either strings.
"Return non-nil if STR and MATCH are equal up to the end of either strings.
OFFSET is the position in STR at which the comparison takes place."
(let* ((str-length (- (length str) offset))
(match-length (length match))
@ -1989,7 +1989,7 @@ OFFSET is the position in STR at which the comparison takes place."
(substring match 0 compare-length)))))
(defun gdbmi-is-number (character)
"Return non-nil iff CHARACTER is a numerical character between 0 and 9."
"Return non-nil if CHARACTER is a numerical character between 0 and 9."
(and (>= character ?0)
(<= character ?9)))

View file

@ -1302,7 +1302,7 @@ LIMIT defaults to point."
(up-list -1)))
(defun js--inside-param-list-p ()
"Return non-nil iff point is in a function parameter list."
"Return non-nil if point is in a function parameter list."
(ignore-errors
(save-excursion
(js--up-nearby-list)
@ -1313,7 +1313,7 @@ LIMIT defaults to point."
(looking-at "function"))))))))
(defun js--inside-dojo-class-list-p ()
"Return non-nil iff point is in a Dojo multiple-inheritance class block."
"Return non-nil if point is in a Dojo multiple-inheritance class block."
(ignore-errors
(save-excursion
(js--up-nearby-list)
@ -1352,7 +1352,7 @@ REGEXPS, but only if FRAMEWORK is in `js-enabled-frameworks'."
(defun js--forward-destructuring-spec (&optional func)
"Move forward over a JavaScript destructuring spec.
If FUNC is supplied, call it with no arguments before every
variable name in the spec. Return true iff this was actually a
variable name in the spec. Return true if this was actually a
spec. FUNC must preserve the match data."
(pcase (char-after)
(?\[

View file

@ -3228,7 +3228,7 @@ PREFIX is the prefix of the search regexp."
(unless (fboundp 'region-exists-p)
(defun region-exists-p ()
"Non-nil iff the mark is set. Lobotomized version for Emacsen that do not provide their own."
"Non-nil if the mark is set. Lobotomized version for Emacsen that do not provide their own."
(mark)))

View file

@ -2361,7 +2361,7 @@ the value thus obtained, and the result is used instead."
;; I commented this out because nobody calls it -- rms.
;;(defun sh-abbrevs (ancestor &rest list)
;; "Iff it isn't, define the current shell as abbrev table and fill that.
;; "If it isn't, define the current shell as abbrev table and fill that.
;;Abbrev table will inherit all abbrevs from ANCESTOR, which is either an abbrev
;;table or a list of (NAME1 EXPANSION1 ...). In addition it will define abbrevs
;;according to the remaining arguments NAMEi EXPANSIONi ...

View file

@ -3160,7 +3160,7 @@ and `verilog-scan'.")
(setq verilog-scan-cache-tick nil))
(defun verilog-scan-cache-ok-p ()
"Return t iff the scan cache is up to date."
"Return t if the scan cache is up to date."
(or (and verilog-scan-cache-preserving
(eq verilog-scan-cache-preserving (current-buffer))
verilog-scan-cache-tick)

View file

@ -357,7 +357,7 @@ of master file."
docstruct))
(defun reftex-using-biblatex-p ()
"Return non-nil iff we are using biblatex rather than bibtex."
"Return non-nil if we are using biblatex rather than bibtex."
(if (boundp 'TeX-active-styles)
;; the sophisticated AUCTeX way
(member "biblatex" TeX-active-styles)

View file

@ -1,3 +1,7 @@
2014-05-04 Glenn Morris <rgm@gnu.org>
* url-parse.el (url-generic-parse-url): Doc fix (replace `iff').
2014-04-01 Michael Albinus <michael.albinus@gmx.de>
* url-tramp.el: New file.

View file

@ -125,7 +125,7 @@ TARGET is the fragment identifier component (used to refer to a
ATTRIBUTES is nil; this slot originally stored the attribute and
value alists for IMAP URIs, but this feature was removed
since it conflicts with RFC 3986.
FULLNESS is non-nil iff the hierarchical sequence component of
FULLNESS is non-nil if the hierarchical sequence component of
the URL starts with two slashes, \"//\".
The parser follows RFC 3986, except that it also tries to handle

View file

@ -818,10 +818,9 @@ one optional arguments, diff-number to refine.")
n &optional default)
(let ((fine-diff-vector (ediff-get-fine-diff-vector n buf-type))
(face (if default
'default
nil
(ediff-get-symbol-from-alist
buf-type ediff-fine-diff-face-alist)
)))
buf-type ediff-fine-diff-face-alist))))
(mapc (lambda (overl)
(ediff-set-overlay-face overl face))
fine-diff-vector)))

View file

@ -807,7 +807,7 @@ TYPE-OF-EMACS is either 'xemacs or 'emacs."
(defun ediff-set-overlay-face (extent face)
(ediff-overlay-put extent 'face face)
(ediff-overlay-put extent 'help-echo 'ediff-region-help-echo))
(ediff-overlay-put extent 'help-echo (if face 'ediff-region-help-echo)))
(defun ediff-region-help-echo (extent-or-window &optional overlay _point)
(unless overlay

View file

@ -958,7 +958,7 @@ On a dumb terminal, switches between ASCII highlighting and no highlighting."
(message "Auto-refining is OFF")
(setq ediff-auto-refine 'off))
(t ;; nix 'em
(ediff-set-fine-diff-properties ediff-current-difference 'default)
(ediff-set-fine-diff-properties ediff-current-difference t)
(message "Refinements are HIDDEN")
(setq ediff-auto-refine 'nix))
))
@ -2973,7 +2973,7 @@ Hit \\[ediff-recenter] to reset the windows afterward."
))
;; unhighlight fine diffs
(ediff-set-fine-diff-properties ediff-current-difference 'default)
(ediff-set-fine-diff-properties ediff-current-difference t)
(run-hooks 'ediff-unselect-hook))))
@ -3492,7 +3492,7 @@ Ediff Control Panel to restore highlighting."
(if (ediff-valid-difference-p ediff-current-difference)
(progn
(ediff-set-fine-diff-properties ediff-current-difference 'default)
(ediff-set-fine-diff-properties ediff-current-difference t)
(ediff-unhighlight-diff)))
(ediff-paint-background-regions 'unhighlight)

View file

@ -1,3 +1,54 @@
2014-05-04 Paul Eggert <eggert@cs.ucla.edu>
Revert recent libpng changes (Bug#17339).
* Makefile.in (PNG_CFLAGS): Remove; all uses removed.
* image.c [HAVE_LIBPNG_PNG_H]: Include <libpng/png.h>, not <png.h>.
2014-05-03 Paul Eggert <eggert@cs.ucla.edu>
Handle systems without WCONTINUED consistently. (Bug#15110, 17339)
* process.c (handle_child_signal): Remove WCONTINUED ifdef,
because WCONTINUED is always defined now.
* syswait.h (WCONTINUED): Move here from ../lib-src/emacsclient.c.
2014-05-03 Eli Zaretskii <eliz@gnu.org>
* buffer.c (overlay_strings): Fix the wording of the commentary.
2014-05-02 Paul Eggert <eggert@cs.ucla.edu>
Consult libpng-config more consistently (Bug#17339).
* Makefile.in (PNG_CFLAGS): New var.
(ALL_CFLAGS): Use it.
* image.c [HAVE_PNG]: Don't worry about <libpng/png.h>, as
CFLAGS now handles this.
2014-05-01 Glenn Morris <rgm@gnu.org>
* floatfns.c (Fisnan):
* profiler.c (Fprofiler_cpu_running_p): Doc fix (replace `iff').
2014-05-01 Eli Zaretskii <eliz@gnu.org>
* term.c (tty_menu_activate): A better initialization for cursor
coordinates.
2014-05-01 Stefan Monnier <monnier@iro.umontreal.ca>
* intervals.c: Tighten assertions.
(create_root_interval): Make sure the interval is not empty.
(intervals_equal): Use booleans.
(rotate_right, rotate_left): Check LENGTHs rather than TOTAL_LENGTH.
(balance_an_interval): Sanity check LENGTHs and TOTAL_LENGTHs.
(balance_possible_root_interval): Simplify and use booleans.
(split_interval_right, split_interval_left): Check LENGTH, and remove
now redundant assertion.
(adjust_intervals_for_insertion): Remove now redundant assertions.
(delete_node, interval_deletion_adjustment)
(adjust_intervals_for_deletion, merge_interval_right)
(merge_interval_left): Check LENGTH rather than TOTAL_LENGTH.
(reproduce_interval): Make sure the interval is not empty.
2014-04-30 Paul Eggert <eggert@cs.ucla.edu>
* term.c (tty_menu_activate): Don't assume row and col are initialized.

View file

@ -3328,17 +3328,18 @@ record_overlay_string (struct sortstrlist *ssl, Lisp_Object str,
}
}
/* Return the concatenation of the strings associated with overlays that
begin or end at POS, ignoring overlays that are specific to a window
other than W. The strings are concatenated in the appropriate order:
shorter overlays nest inside longer ones, and higher priority inside
lower. Normally all of the after-strings come first, but zero-sized
overlays have their after-strings ride along with the before-strings
because it would look strange to print them inside-out.
/* Concatenate the strings associated with overlays that begin or end
at POS, ignoring overlays that are specific to windows other than W.
The strings are concatenated in the appropriate order: shorter
overlays nest inside longer ones, and higher priority inside lower.
Normally all of the after-strings come first, but zero-sized
overlays have their after-strings ride along with the
before-strings because it would look strange to print them
inside-out.
Returns the string length, and stores the contents indirectly through
PSTR, if that variable is non-null. The string may be overwritten by
subsequent calls. */
Returns the concatenated string's length, and return the pointer to
that string via PSTR, if that variable is non-NULL. The storage of
the concatenated strings may be overwritten by subsequent calls. */
ptrdiff_t
overlay_strings (ptrdiff_t pos, struct window *w, unsigned char **pstr)

View file

@ -1,7 +1,6 @@
/* Primitive operations on floating point for GNU Emacs Lisp interpreter.
Copyright (C) 1988, 1993-1994, 1999, 2001-2014 Free Software Foundation,
Inc.
Copyright (C) 1988, 1993-1994, 1999, 2001-2014 Free Software Foundation, Inc.
Author: Wolfgang Rupprecht
(according to ack.texi)
@ -142,7 +141,7 @@ DEFUN ("tan", Ftan, Stan, 1, 1, 0,
}
DEFUN ("isnan", Fisnan, Sisnan, 1, 1, 0,
doc: /* Return non nil iff argument X is a NaN. */)
doc: /* Return non nil if argument X is a NaN. */)
(Lisp_Object x)
{
CHECK_FLOAT (x);

View file

@ -110,13 +110,14 @@ create_root_interval (Lisp_Object parent)
set_string_intervals (parent, new);
new->position = 0;
}
eassert (LENGTH (new) > 0);
set_interval_object (new, parent);
return new;
}
/* Make the interval TARGET have exactly the properties of SOURCE */
/* Make the interval TARGET have exactly the properties of SOURCE. */
void
copy_properties (register INTERVAL source, register INTERVAL target)
@ -176,10 +177,10 @@ intervals_equal (INTERVAL i0, INTERVAL i1)
Lisp_Object i1_cdr, i1_val;
if (DEFAULT_INTERVAL_P (i0) && DEFAULT_INTERVAL_P (i1))
return 1;
return true;
if (DEFAULT_INTERVAL_P (i0) || DEFAULT_INTERVAL_P (i1))
return 0;
return false;
i0_cdr = i0->plist;
i1_cdr = i1->plist;
@ -188,31 +189,31 @@ intervals_equal (INTERVAL i0, INTERVAL i1)
i0_sym = XCAR (i0_cdr);
i0_cdr = XCDR (i0_cdr);
if (!CONSP (i0_cdr))
return 0;
return false;
i1_val = i1->plist;
while (CONSP (i1_val) && !EQ (XCAR (i1_val), i0_sym))
{
i1_val = XCDR (i1_val);
if (!CONSP (i1_val))
return 0;
return false;
i1_val = XCDR (i1_val);
}
/* i0 has something i1 doesn't. */
if (EQ (i1_val, Qnil))
return 0;
return false;
/* i0 and i1 both have sym, but it has different values in each. */
if (!CONSP (i1_val)
|| (i1_val = XCDR (i1_val), !CONSP (i1_val))
|| !EQ (XCAR (i1_val), XCAR (i0_cdr)))
return 0;
return false;
i0_cdr = XCDR (i0_cdr);
i1_cdr = XCDR (i1_cdr);
if (!CONSP (i1_cdr))
return 0;
return false;
i1_cdr = XCDR (i1_cdr);
}
@ -339,10 +340,8 @@ rotate_right (INTERVAL A)
ptrdiff_t old_total = A->total_length;
eassert (old_total > 0);
eassert (old_total
> TOTAL_LENGTH (B) + TOTAL_LENGTH (A->right));
eassert (TOTAL_LENGTH (B)
> TOTAL_LENGTH (B->left) + TOTAL_LENGTH (c));
eassert (LENGTH (A) > 0);
eassert (LENGTH (B) > 0);
/* Deal with any Parent of A; make it point to B. */
if (! ROOT_INTERVAL_P (A))
@ -366,9 +365,11 @@ rotate_right (INTERVAL A)
/* A's total length is decreased by the length of B and its left child. */
A->total_length -= B->total_length - TOTAL_LENGTH (c);
eassert (TOTAL_LENGTH (A) > 0);
eassert (LENGTH (A) > 0);
/* B must have the same total length of A. */
B->total_length = old_total;
eassert (LENGTH (B) > 0);
return B;
}
@ -390,10 +391,8 @@ rotate_left (INTERVAL A)
ptrdiff_t old_total = A->total_length;
eassert (old_total > 0);
eassert (old_total
> TOTAL_LENGTH (B) + TOTAL_LENGTH (A->left));
eassert (TOTAL_LENGTH (B)
> TOTAL_LENGTH (B->right) + TOTAL_LENGTH (c));
eassert (LENGTH (A) > 0);
eassert (LENGTH (B) > 0);
/* Deal with any parent of A; make it point to B. */
if (! ROOT_INTERVAL_P (A))
@ -417,9 +416,11 @@ rotate_left (INTERVAL A)
/* A's total length is decreased by the length of B and its right child. */
A->total_length -= B->total_length - TOTAL_LENGTH (c);
eassert (TOTAL_LENGTH (A) > 0);
eassert (LENGTH (A) > 0);
/* B must have the same total length of A. */
B->total_length = old_total;
eassert (LENGTH (B) > 0);
return B;
}
@ -432,6 +433,9 @@ balance_an_interval (INTERVAL i)
{
register ptrdiff_t old_diff, new_diff;
eassert (LENGTH (i) > 0);
eassert (TOTAL_LENGTH (i) >= LENGTH (i));
while (1)
{
old_diff = LEFT_TOTAL_LENGTH (i) - RIGHT_TOTAL_LENGTH (i);
@ -468,16 +472,16 @@ static INTERVAL
balance_possible_root_interval (INTERVAL interval)
{
Lisp_Object parent;
bool have_parent = 0;
if (!INTERVAL_HAS_OBJECT (interval) && !INTERVAL_HAS_PARENT (interval))
return interval;
bool have_parent = false;
if (INTERVAL_HAS_OBJECT (interval))
{
have_parent = 1;
have_parent = true;
GET_INTERVAL_OBJECT (parent, interval);
}
else if (!INTERVAL_HAS_PARENT (interval))
return interval;
interval = balance_an_interval (interval);
if (have_parent)
@ -553,7 +557,7 @@ split_interval_right (INTERVAL interval, ptrdiff_t offset)
{
set_interval_right (interval, new);
new->total_length = new_length;
eassert (TOTAL_LENGTH (new) >= 0);
eassert (LENGTH (new) > 0);
}
else
{
@ -562,7 +566,6 @@ split_interval_right (INTERVAL interval, ptrdiff_t offset)
set_interval_parent (interval->right, new);
set_interval_right (interval, new);
new->total_length = new_length + new->right->total_length;
eassert (TOTAL_LENGTH (new) >= 0);
balance_an_interval (new);
}
@ -598,7 +601,7 @@ split_interval_left (INTERVAL interval, ptrdiff_t offset)
{
set_interval_left (interval, new);
new->total_length = new_length;
eassert (TOTAL_LENGTH (new) >= 0);
eassert (LENGTH (new) > 0);
}
else
{
@ -607,7 +610,6 @@ split_interval_left (INTERVAL interval, ptrdiff_t offset)
set_interval_parent (new->left, new);
set_interval_left (interval, new);
new->total_length = new_length + new->left->total_length;
eassert (TOTAL_LENGTH (new) >= 0);
balance_an_interval (new);
}
@ -791,12 +793,12 @@ update_interval (register INTERVAL i, ptrdiff_t pos)
{
if (pos < i->position)
{
/* Move left. */
/* Move left. */
if (pos >= i->position - TOTAL_LENGTH (i->left))
{
i->left->position = i->position - TOTAL_LENGTH (i->left)
+ LEFT_TOTAL_LENGTH (i->left);
i = i->left; /* Move to the left child */
i = i->left; /* Move to the left child. */
}
else if (NULL_PARENT (i))
error ("Point before start of properties");
@ -806,12 +808,12 @@ update_interval (register INTERVAL i, ptrdiff_t pos)
}
else if (pos >= INTERVAL_LAST_POS (i))
{
/* Move right. */
/* Move right. */
if (pos < INTERVAL_LAST_POS (i) + TOTAL_LENGTH (i->right))
{
i->right->position = INTERVAL_LAST_POS (i)
+ LEFT_TOTAL_LENGTH (i->right);
i = i->right; /* Move to the right child */
i = i->right; /* Move to the right child. */
}
else if (NULL_PARENT (i))
error ("Point %"pD"d after end of properties", pos);
@ -958,7 +960,6 @@ adjust_intervals_for_insertion (INTERVAL tree,
for (temp = prev ? prev : i; temp; temp = INTERVAL_PARENT_OR_NULL (temp))
{
temp->total_length += length;
eassert (TOTAL_LENGTH (temp) >= 0);
temp = balance_possible_root_interval (temp);
}
@ -1014,7 +1015,6 @@ adjust_intervals_for_insertion (INTERVAL tree,
for (temp = i; temp; temp = INTERVAL_PARENT_OR_NULL (temp))
{
temp->total_length += length;
eassert (TOTAL_LENGTH (temp) >= 0);
temp = balance_possible_root_interval (temp);
}
}
@ -1216,9 +1216,10 @@ delete_node (register INTERVAL i)
this = this->left;
this->total_length += migrate_amt;
}
eassert (TOTAL_LENGTH (this) >= 0);
set_interval_left (this, migrate);
set_interval_parent (migrate, this);
eassert (LENGTH (this) > 0);
eassert (LENGTH (i->right) > 0);
return i->right;
}
@ -1298,7 +1299,7 @@ interval_deletion_adjustment (register INTERVAL tree, register ptrdiff_t from,
relative_position,
amount);
tree->total_length -= subtract;
eassert (TOTAL_LENGTH (tree) >= 0);
eassert (LENGTH (tree) > 0);
return subtract;
}
/* Right branch. */
@ -1313,7 +1314,7 @@ interval_deletion_adjustment (register INTERVAL tree, register ptrdiff_t from,
relative_position,
amount);
tree->total_length -= subtract;
eassert (TOTAL_LENGTH (tree) >= 0);
eassert (LENGTH (tree) > 0);
return subtract;
}
/* Here -- this node. */
@ -1328,7 +1329,7 @@ interval_deletion_adjustment (register INTERVAL tree, register ptrdiff_t from,
amount = my_amount;
tree->total_length -= amount;
eassert (TOTAL_LENGTH (tree) >= 0);
eassert (LENGTH (tree) >= 0);
if (LENGTH (tree) == 0)
delete_interval (tree);
@ -1370,7 +1371,7 @@ adjust_intervals_for_deletion (struct buffer *buffer,
if (ONLY_INTERVAL_P (tree))
{
tree->total_length -= length;
eassert (TOTAL_LENGTH (tree) >= 0);
eassert (LENGTH (tree) > 0);
return;
}
@ -1430,12 +1431,12 @@ merge_interval_right (register INTERVAL i)
while (! NULL_LEFT_CHILD (successor))
{
successor->total_length += absorb;
eassert (TOTAL_LENGTH (successor) >= 0);
eassert (LENGTH (successor) > 0);
successor = successor->left;
}
successor->total_length += absorb;
eassert (TOTAL_LENGTH (successor) >= 0);
eassert (LENGTH (successor) > 0);
delete_interval (i);
return successor;
}
@ -1457,7 +1458,7 @@ merge_interval_right (register INTERVAL i)
successor = INTERVAL_PARENT (successor);
successor->total_length -= absorb;
eassert (TOTAL_LENGTH (successor) >= 0);
eassert (LENGTH (successor) > 0);
}
/* This must be the rightmost or last interval and cannot
@ -1486,12 +1487,12 @@ merge_interval_left (register INTERVAL i)
while (! NULL_RIGHT_CHILD (predecessor))
{
predecessor->total_length += absorb;
eassert (TOTAL_LENGTH (predecessor) >= 0);
eassert (LENGTH (predecessor) > 0);
predecessor = predecessor->right;
}
predecessor->total_length += absorb;
eassert (TOTAL_LENGTH (predecessor) >= 0);
eassert (LENGTH (predecessor) > 0);
delete_interval (i);
return predecessor;
}
@ -1513,7 +1514,7 @@ merge_interval_left (register INTERVAL i)
predecessor = INTERVAL_PARENT (predecessor);
predecessor->total_length -= absorb;
eassert (TOTAL_LENGTH (predecessor) >= 0);
eassert (LENGTH (predecessor) > 0);
}
/* This must be the leftmost or first interval and cannot
@ -1528,6 +1529,8 @@ reproduce_interval (INTERVAL source)
{
register INTERVAL target = make_interval ();
eassert (LENGTH (source) > 0);
target->total_length = source->total_length;
target->position = source->position;
@ -1538,6 +1541,7 @@ reproduce_interval (INTERVAL source)
if (! NULL_RIGHT_CHILD (source))
set_interval_right (target, reproduce_tree (source->right, target));
eassert (LENGTH (target) > 0);
return target;
}
@ -1766,7 +1770,7 @@ lookup_char_property (Lisp_Object plist, Lisp_Object prop, bool textprop)
if (! NILP (fallback))
return fallback;
/* Check for alternative properties */
/* Check for alternative properties. */
tail = Fassq (prop, Vchar_property_alias_alist);
if (! NILP (tail))
{
@ -2434,7 +2438,7 @@ set_intervals_multibyte_1 (INTERVAL i, bool multi_flag,
end, end_byte);
}
/* Rounding to char boundaries can theoretically ake this interval
/* Rounding to char boundaries can theoretically make this interval
spurious. If so, delete one child, and copy its property list
to this interval. */
if (LEFT_TOTAL_LENGTH (i) + RIGHT_TOTAL_LENGTH (i) >= TOTAL_LENGTH (i))

View file

@ -6226,11 +6226,7 @@ handle_child_signal (int sig)
int status;
if (p->alive
#ifndef WCONTINUED
&& child_status_changed (p->pid, &status, WUNTRACED))
#else
&& child_status_changed (p->pid, &status, WUNTRACED | WCONTINUED))
#endif
&& child_status_changed (p->pid, &status, WUNTRACED | WCONTINUED))
{
/* Change the status of the process that was found. */
p->tick = ++process_tick;

View file

@ -384,7 +384,7 @@ Return non-nil if the profiler was running. */)
DEFUN ("profiler-cpu-running-p",
Fprofiler_cpu_running_p, Sprofiler_cpu_running_p,
0, 0, 0,
doc: /* Return non-nil iff cpu profiler is running. */)
doc: /* Return non-nil if cpu profiler is running. */)
(void)
{
return profiler_cpu_running ? Qt : Qnil;

View file

@ -29,6 +29,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <sys/wait.h>
#endif /* !HAVE_SYS_WAIT_H */
#ifndef WCONTINUED
#define WCONTINUED 8
#endif
#ifndef WCOREDUMP /* not POSIX */
#define WCOREDUMP(status) ((status) & 0x80)
#endif

View file

@ -3267,7 +3267,10 @@ tty_menu_activate (tty_menu *menu, int *pane, int *selidx,
/* Turn off the cursor. Otherwise it shows through the menu
panes, which is ugly. */
col = cursorX (tty);
row = cursorY (tty);
tty_hide_cursor (tty);
if (buffers_num_deleted)
menu->text[0][7] = ' ';
onepane = menu->count == 1 && menu->submenu[0];
@ -3405,8 +3408,6 @@ tty_menu_activate (tty_menu *menu, int *pane, int *selidx,
col = cursorX (tty);
row = cursorY (tty);
}
else
row = -1;
/* Display the help-echo message for the currently-selected menu
item. */
@ -3418,8 +3419,7 @@ tty_menu_activate (tty_menu *menu, int *pane, int *selidx,
/* Move the cursor to the beginning of the current menu
item, so that screen readers and other accessibility aids
know where the active region is. */
if (0 <= row)
cursor_to (sf, row, col);
cursor_to (sf, row, col);
tty_hide_cursor (tty);
fflush (tty->output);
prev_menu_help_message = menu_help_message;