Merge from origin/emacs-26

a87ce5c4b4 * src/lisp.h (GCALIGNED): Clarify comment (Bug#29040).
8a31e9993f ; etc/NEWS: Add cpp-message-min-time-interval.  (Bug#28961)
ac0bb9a192 Improve the doc of eshell-cmpl-* custom variables (Bug#25069)
36400c7dc9 Fix mouse-scrollbar offset on GNUstep and old macOS (bug#2...
04bc1410c2 Merge from Gnulib
6b08ad5263 Fix alignment portability problems
a9f8706fa8 Fix completion of colon after CSS property (Bug#29056)
9031dec527 ; * src/alloc.c (sweep_symbols): Fix last change.
fdd3dcfa4e * src/alloc.c (sweep_symbols): Tweak last change
27964af438 In frame parameters documentation mention desktop saving/r...
1bd4e7c243 ; Fix typo in ChangeLog.3
4182a60d31 Don't have frameset save the 'client' parameter (Bug#29067)
9d31a97092 ; Spelling fixes
460a25f212 Handle generic variables in cl-defgeneric Edebug spec
dc0a25c2f9 Give a more sensible message if file-attributes fails (Bug...
8453423c7c Avoid wrong value from file-attributes on Linux kernel bef...
70621e2571 Fix customization of debugger-print-function (Bug#29077)

# Conflicts:
#	etc/NEWS
This commit is contained in:
Paul Eggert 2017-11-02 21:02:12 -07:00
commit aa75424672
27 changed files with 174 additions and 133 deletions

View file

@ -7523,11 +7523,11 @@
2016-02-23 Jan Tatarik <jan.tatarik@gmail.com>
Don't bug out on localised dates in gnus-icalendar
Don't bug out on localized dates in gnus-icalendar
* lisp/gnus/gnus-icalendar.el
(gnus-icalendar-event:org-timestamp): Don't bug out on
localised dates.
localized dates.
2016-02-23 Drew Adams <drew.adams@oracle.com>
@ -26654,7 +26654,7 @@
Introduce new macros to cover Emacs's new names in cl-lib.el
This also eliminates `mapcan' warnings in XEmacs.
* lisp/progmodes/cc-defs.el (c--mapcan-status): New variable to
characterise [X]Emacs versions.
characterize [X]Emacs versions.
(top-level): Require either 'cl or 'cl-lib, depending on
c--mapcan-status.
Change this back to cc-external-require from an eval-when-compile

View file

@ -4336,8 +4336,8 @@
* lisp/progmodes/cc-mode.el (c-parse-quotes-before-change)
(c-parse-quotes-after-change): Rewrite the functions, simplifying
considerably, and removing unnecessary optimisations. Invalidate two caches
after manipulating text properties.
considerably, and removing unnecessary optimizations.
Invalidate two caches after manipulating text properties.
2017-09-03 Alan Mackenzie <acm@muc.de>
@ -7462,7 +7462,7 @@
The error happened when there was a comma inside template delimiters.
* lisp/progmodes/cc-fonts.el (c-get-fontification-context): In "for"
statements, recognise template delimiters containing "," and "&".
statements, recognize template delimiters containing "," and "&".
2017-07-27 Michael Albinus <michael.albinus@gmx.de>
@ -17907,7 +17907,7 @@
* src/casefiddle.c (struct casing_context, prepare_casing_context): Add
titlecase_char_table member. Its set to the titlecase Unicode
property table if capitalisation has been requested.
property table if capitalization has been requested.
(case_character): Make use of the titlecase_char_table to title-case
initial characters when capitalising.
@ -17923,7 +17923,7 @@
the logic easier. This commit introduces no functionality changes.
* src/casefiddle.c (struct casing_context, prepare_casing_context): New
sturcture for saving casing context and function to initialise it.
structure for saving casing context and function to initialize it.
(case_character): New function which cases character base on provided
context.
(do_casify_integer, do_casify_multibyte_string,
@ -21210,7 +21210,7 @@
2017-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
Minor redisplay optimisations
Minor redisplay optimizations
* src/frame.c (Ficonify_frame): No need to redisplay everything.
@ -24018,9 +24018,9 @@
2017-01-26 Lars Ingebrigtsen <larsi@gnus.org>
(message-do-fcc): Modernise the code slightly.
(message-do-fcc): Modernize the code slightly.
* lisp/gnus/message.el (message-do-fcc): Modernise the code slightly.
* lisp/gnus/message.el (message-do-fcc): Modernize the code slightly.
2017-01-26 Lars Ingebrigtsen <larsi@gnus.org>
@ -26014,7 +26014,7 @@
2016-12-30 Alan Mackenzie <acm@muc.de>
CC Mode: Fix the fontification of a spuriously recognised enum member.
CC Mode: Fix the fontification of a spuriously recognized enum member.
The "enum" was in an argument list, but triggered the fontification of a
following identifier in the function block as though it were in an enum
@ -26130,7 +26130,7 @@
Partially correct fontification of "(b*3)", and the like, in C++ Mode
This problem is caused by the fundamental ambiguity in C++ between
argument declarations and initialisation clauses.
argument declarations and initialization clauses.
* lisp/progmodes/cc-fonts.el (c-font-lock-declarations): If we have an open
paren preceded by an arithmetic operator, we give this the context nil, not
@ -27358,7 +27358,7 @@
2016-12-13 Reuben Thomas <rrt@sc3d.org>
Generalise over-specific documentation
Generalize over-specific documentation
* lisp/textmodes/ispell.el (ispell-personal-dictionary): Rather than
document precise personal wordlist filenames for only two supported
@ -32608,7 +32608,7 @@
Fix compatibility with macOS 10.12 pmset (bug#24537)
* lisp/battery.el (battery-pmset): Recognise and ignore battery id if
* lisp/battery.el (battery-pmset): Recognize and ignore battery id if
present in output.
2016-09-30 Paul Eggert <eggert@cs.ucla.edu>
@ -33284,7 +33284,7 @@
2016-09-12 Michal Nazarewicz <mina86@mina86.com>
Fix compiler thinking width and height may be unitialised in frame.c
Fix compiler thinking width and height may be unitialized in frame.c
This fixes the following warning:
@ -33300,7 +33300,7 @@
2016-09-12 Michal Nazarewicz <mina86@mina86.com>
Fix compiler thinking tmpdir may be unitialised in emacsclient
Fix compiler thinking tmpdir may be unitialized in emacsclient
This fixes the following warning:
@ -34473,7 +34473,7 @@
template declaration.
(c-inside-bracelist-p): Call c-looking-at-or-maybe-in-bracelist in place of
much inline code.
(c-looking-at-inexpr-block): Amend so that it won't wrongly recognise an
(c-looking-at-inexpr-block): Amend so that it won't wrongly recognize an
initialization starting "({" as an in-expression block, by checking for
semicolons, as opposed to commas, separating elements inside it.
(c-guess-continued-construct): (CASE B-2): Recognize a brace-list-open by
@ -35939,7 +35939,7 @@
* doc/misc/ses.texi (Printer functions): Split the node into 5
sub-nodes + add some extra documentation.
(Various kinds of printer functions): Make an itemisation to
(Various kinds of printer functions): Make an itemization to
disintguish better the 3 types of printers, give an example of
lambda printer definition.
(Standard printer functions): Add documentation for ses-prin1
@ -36049,7 +36049,7 @@
Fix [[:cc:]]*literal regex failing to match literal (bug#24020)
The regex engine tries to optimise Kleene star by avoiding backtracking
The regex engine tries to optimize Kleene star by avoiding backtracking
when it can detect that stars operand cannot match what follows it in
the pattern.
@ -36063,7 +36063,7 @@
engine knows whatever would be put back into the string cannot possibly
match literal digit one so no backtracking will be attempted.
In the regexes of the form [[:CC:]]*X, the optimisation can be applied
In the regexes of the form [[:CC:]]*X, the optimization can be applied
if the character class CC does not match character X. In the above
example, this holds because digit one is not in alpha character class.
@ -36072,7 +36072,7 @@
that character classes do not match multibyte characters. For example,
it would incorrectly conclude that [[:alpha:]] doesnt match ‘ż’.
This, in turn, led to the aforementioned Kleene star optimisation being
This, in turn, led to the aforementioned Kleene star optimization being
incorrectly applied in patterns such as [[:graph:]]*☠’ (which should
match ‘☠’ but doesnt as can be tested by executing
(string-match-p "[[:graph:]]*☠" "☠")
@ -44436,7 +44436,7 @@
bd58c13 Improve documentation of focus-related hooks
00a4720 Further improve doc string of 'disable-point-adjustment'
c582def Further adaptions in file-notify-tests.el for w32notify
a1585e1 Don't bug out on localised dates in gnus-icalendar
a1585e1 Don't bug out on localized dates in gnus-icalendar
2016-03-03 John Wiegley <johnw@newartisans.com>
@ -44957,10 +44957,10 @@
2016-02-25 Jan Tatarik <jan.tatarik@gmail.com>
Don't use (localised) week days in dates
Don't use (localized) week days in dates
* lisp/gnus/gnus-icalendar.el
(gnus-icalendar-event:org-timestamp): Don't use (localised)
(gnus-icalendar-event:org-timestamp): Don't use (localized)
week days in the dates, because that messes up things later.
2016-02-25 Thierry Volpiatto <thierry.volpiatto@gmail.com>
@ -47224,7 +47224,7 @@
2016-02-08 Michal Nazarewicz <mina86@mina86.com>
Optimise point in message header check
Optimize point in message header check
* lisp/gnus/message.el (message-point-in-header-p): Replace two unbound
regular expression matches with a single bound string match thus
@ -48169,7 +48169,7 @@
* src/gnutls.c (Fgnutls_mark_process): New function.
* src/process.c (send_process): Don't write to GnuTLS sockets that
haven't been initialised yed.
haven't been initialized yed.
* src/process.h: New slot gnutls_wait_p.
@ -48668,7 +48668,7 @@
that as the same name can be used for different locations in different
SES sheets ; 2) use `local-variable-if-set-p' rather than `boundp' and
`local-variable-p' to check if cell name is already in use in this
sheet or needs initialisation.
sheet or needs initialization.
(ses-relocate-all): Cell value relocation : 1) like for name
relocation use the `ses-cell' property rather than comparing actual
name to corresponding standard name. 2) Correct bug introduced in

View file

@ -3,19 +3,19 @@ Distribution Build Scripts for Windows
The scripts are used to build the binary distribution zip files for windows.
File System Organisation
File System Organization
------------------------
They are relatively strict about the file system organisation. In
They are relatively strict about the file system organization. In
general, they should work across several more than just the version of
Emacs they come with, as the dependencies of Emacs change relatively slowly.
The file system needs to be organised like so:
The file system needs to be organized like so:
~/emacs-build/git
Contains a checkout of the Emacs git repository, organised according
Contains a checkout of the Emacs git repository, organized according
to branches, with git worktree
~/emacs-build/git/emacs-$branch

View file

@ -61,7 +61,7 @@ def extract_deps():
mingw-w64-x86_64-lcms2'''.split()
# Get a list of all dependencies needed for packages mentioned above.
# Run `pactree -lu' for each elment of $PKG_REQ
# Run `pactree -lu' for each element of $PKG_REQ.
pkgs = set()
for x in PKG_REQ:
pkgs.update(
@ -125,7 +125,7 @@ def gather_source(deps):
## mpc, termcap, xpm -- has x86_64, and i686 versions
## This needs to have been run first at the same time as the
## system was udpated.
## system was updated.
os.mkdir("emacs-src")
os.chdir("emacs-src")

View file

@ -2,7 +2,7 @@
# Attempt to guess a canonical system name.
# Copyright 1992-2017 Free Software Foundation, Inc.
timestamp='2017-09-26'
timestamp='2017-11-01'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@ -479,13 +479,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
#endif
#if defined (host_mips) && defined (MIPSEB)
#if defined (SYSTYPE_SYSV)
printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
printf ("mips-mips-risco0s%ssysv\\n", argv[1]); exit (0);
#endif
#if defined (SYSTYPE_SVR4)
printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);
#endif
#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);
#endif
#endif
exit (-1);
@ -608,7 +608,7 @@ EOF
*:AIX:*:*)
echo rs6000-ibm-aix
exit ;;
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
echo romp-ibm-bsd4.4
exit ;;
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
@ -629,8 +629,8 @@ EOF
9000/[34678]??:HP-UX:*:*)
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
case "${UNAME_MACHINE}" in
9000/31? ) HP_ARCH=m68000 ;;
9000/[34]?? ) HP_ARCH=m68k ;;
9000/31?) HP_ARCH=m68000 ;;
9000/[34]??) HP_ARCH=m68k ;;
9000/[678][0-9][0-9])
if [ -x /usr/bin/getconf ]; then
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
@ -743,7 +743,7 @@ EOF
{ echo "$SYSTEM_NAME"; exit; }
echo unknown-hitachi-hiuxwe2
exit ;;
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
echo hppa1.1-hp-bsd
exit ;;
9000/8??:4.3bsd:*:*)
@ -752,7 +752,7 @@ EOF
*9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
echo hppa1.0-hp-mpeix
exit ;;
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
echo hppa1.1-hp-osf
exit ;;
hp8??:OSF1:*:*)
@ -1072,7 +1072,7 @@ EOF
i*86:*DOS:*:*)
echo ${UNAME_MACHINE}-pc-msdosdjgpp
exit ;;
i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
i*86:*:4.*:*)
UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}

10
build-aux/config.sub vendored
View file

@ -2,7 +2,7 @@
# Configuration validation subroutine script.
# Copyright 1992-2017 Free Software Foundation, Inc.
timestamp='2017-09-26'
timestamp='2017-11-01'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@ -640,7 +640,7 @@ case $basic_machine in
basic_machine=rs6000-bull
os=-bosx
;;
dpx2* | dpx2*-bull)
dpx2*)
basic_machine=m68k-bull
os=-sysv3
;;
@ -902,7 +902,7 @@ case $basic_machine in
basic_machine=v70-nec
os=-sysv
;;
next | m*-next )
next | m*-next)
basic_machine=m68k-next
case $os in
-nextstep* )
@ -1492,7 +1492,7 @@ case $os in
-nova*)
os=-rtmk-nova
;;
-ns2 )
-ns2)
os=-nextstep2
;;
-nsk*)
@ -1694,7 +1694,7 @@ case $basic_machine in
m88k-omron*)
os=-luna
;;
*-next )
*-next)
os=-nextstep
;;
*-sequent)

View file

@ -1210,6 +1210,13 @@ terminal supports colors, the parameters @code{foreground-color},
@code{display-type} are also meaningful. If the terminal supports
frame transparency, the parameter @code{alpha} is also meaningful.
By default, frame parameters are saved and restored by the desktop
library functions (@pxref{Desktop Save Mode}) when the variable
@code{desktop-restore-frames} is non-@code{nil}. It's the
responsibility of applications that their parameters are included in
@code{frameset-persistent-filter-alist} to avoid that they get
meaningless or even harmful values in restored sessions.
@menu
* Parameter Access:: How to change a frame's parameters.
* Initial Parameters:: Specifying frame parameters when you make a frame.

View file

@ -668,7 +668,7 @@ close_emacs_globals (ptrdiff_t num_symbols)
"extern\n"
"#endif\n"
"struct {\n"
" struct Lisp_Symbol alignas (GCALIGNMENT) s;\n"
" struct Lisp_Symbol GCALIGNED s;\n"
"} lispsym[%td];\n"),
num_symbols);
}

View file

@ -33,6 +33,8 @@ _GL_INLINE_HEADER_BEGIN
extern "C" {
#endif
#include "verify.h"
/* Resolution of timespec timestamps (in units per second), and log
base 10 of the resolution. */
@ -67,23 +69,29 @@ make_timespec (time_t s, long int ns)
any platform of interest to the GNU project, since all such
platforms have 32-bit int or wider.
Replacing "(int) (a.tv_nsec - b.tv_nsec)" with something like
Replacing "a.tv_nsec - b.tv_nsec" with something like
"a.tv_nsec < b.tv_nsec ? -1 : a.tv_nsec > b.tv_nsec" would cause
this function to work in some cases where the above assumption is
violated, but not in all cases (e.g., a.tv_sec==1, a.tv_nsec==-2,
b.tv_sec==0, b.tv_nsec==999999999) and is arguably not worth the
extra instructions. Using a subtraction has the advantage of
detecting some invalid cases on platforms that detect integer
overflow.
The (int) cast avoids a gcc -Wconversion warning. */
overflow. */
_GL_TIMESPEC_INLINE int _GL_ATTRIBUTE_PURE
timespec_cmp (struct timespec a, struct timespec b)
{
return (a.tv_sec < b.tv_sec ? -1
: a.tv_sec > b.tv_sec ? 1
: (int) (a.tv_nsec - b.tv_nsec));
if (a.tv_sec < b.tv_sec)
return -1;
if (a.tv_sec > b.tv_sec)
return 1;
/* Pacify gcc -Wstrict-overflow (bleeding-edge circa 2017-10-02). See:
http://lists.gnu.org/archive/html/bug-gnulib/2017-10/msg00006.html */
assume (-1 <= a.tv_nsec && a.tv_nsec <= 2 * TIMESPEC_RESOLUTION);
assume (-1 <= b.tv_nsec && b.tv_nsec <= 2 * TIMESPEC_RESOLUTION);
return a.tv_nsec - b.tv_nsec;
}
/* Return -1, 0, 1, depending on the sign of A. A.tv_nsec must be

View file

@ -134,9 +134,8 @@
/* The definition of _GL_WARN_ON_USE is copied here. */
/* Get getopt(), optarg, optind, opterr, optopt.
But avoid namespace pollution on glibc systems. */
#if @GNULIB_UNISTD_H_GETOPT@ && !defined __GLIBC__ && !defined _GL_SYSTEM_GETOPT
/* Get getopt(), optarg, optind, opterr, optopt. */
#if @GNULIB_UNISTD_H_GETOPT@ && !defined _GL_SYSTEM_GETOPT
# include <getopt-cdefs.h>
# include <getopt-pfx-core.h>
#endif

View file

@ -23666,7 +23666,7 @@
2013-05-28 Alan Mackenzie <acm@muc.de>
Handle "capitalised keywords" correctly.
Handle "capitalized keywords" correctly.
* progmodes/cc-mode.el (c-after-change): Bind case-fold-search to nil.
2013-05-28 Aidan Gauland <aidalgol@amuri.net>

View file

@ -2033,7 +2033,7 @@
(uniquify-get-proposed-name): Arguments changed, callers changed.
(uniquify-rationalize-conflicting-sublist): Explicitly reset the
uniquify-possibly-resolvable flag, which is no more bound locally.
(uniquify-rename-buffer): Do not set the old unrationalised-buffer
(uniquify-rename-buffer): Do not set the old unrationalized-buffer
flag, which does not exist any more.
2001-07-23 Eli Zaretskii <eliz@is.elta.co.il>

View file

@ -206,7 +206,8 @@ DEFAULT-BODY, if present, is used as the body of a default method.
\(fn NAME ARGS [DOC-STRING] [OPTIONS-AND-METHODS...] &rest DEFAULT-BODY)"
(declare (indent 2) (doc-string 3)
(debug
(&define name cl-lambda-list lambda-doc
(&define [&or name ("setf" name :name setf)] listp
lambda-doc
[&rest [&or
("declare" &rest sexp)
(":argument-precedence-order" &rest sexp)

View file

@ -51,8 +51,9 @@ the middle is discarded, and just the beginning and end are displayed."
(defcustom debugger-print-function #'cl-prin1
"Function used to print values in the debugger backtraces."
:type 'function
:options '(cl-prin1 prin1)
:type '(choice (const cl-prin1)
(const prin1)
function)
:version "26.1")
(defcustom debugger-bury-or-kill 'bury

View file

@ -136,75 +136,70 @@ to writing a completion function."
:type '(repeat (cons string regexp))
:group 'eshell-cmpl)
(defun eshell-cmpl--custom-variable-docstring (pcomplete-var)
"Generate the docstring of a variable derived from a pcomplete-* variable."
(format "%s\n\nIts value is assigned to `%s' locally after eshell starts."
(documentation-property pcomplete-var
'variable-documentation t)
(symbol-name pcomplete-var)))
(defcustom eshell-cmpl-file-ignore "~\\'"
(documentation-property 'pcomplete-file-ignore
'variable-documentation)
(eshell-cmpl--custom-variable-docstring 'pcomplete-file-ignore)
:type (get 'pcomplete-file-ignore 'custom-type)
:group 'eshell-cmpl)
(defcustom eshell-cmpl-dir-ignore "\\`\\(\\.\\.?\\|CVS\\)/\\'"
(documentation-property 'pcomplete-dir-ignore
'variable-documentation)
(eshell-cmpl--custom-variable-docstring 'pcomplete-dir-ignore)
:type (get 'pcomplete-dir-ignore 'custom-type)
:group 'eshell-cmpl)
(defcustom eshell-cmpl-ignore-case (eshell-under-windows-p)
(documentation-property 'pcomplete-ignore-case
'variable-documentation)
(eshell-cmpl--custom-variable-docstring 'pcomplete-ignore-case)
:type (get 'pcomplete-ignore-case 'custom-type)
:group 'eshell-cmpl)
(defcustom eshell-cmpl-autolist nil
(documentation-property 'pcomplete-autolist
'variable-documentation)
(eshell-cmpl--custom-variable-docstring 'pcomplete-autolist)
:type (get 'pcomplete-autolist 'custom-type)
:group 'eshell-cmpl)
(defcustom eshell-cmpl-suffix-list (list ?/ ?:)
(documentation-property 'pcomplete-suffix-list
'variable-documentation)
(eshell-cmpl--custom-variable-docstring 'pcomplete-suffix-list)
:type (get 'pcomplete-suffix-list 'custom-type)
:group 'pcomplete)
(defcustom eshell-cmpl-recexact nil
(documentation-property 'pcomplete-recexact
'variable-documentation)
(eshell-cmpl--custom-variable-docstring 'pcomplete-recexact)
:type (get 'pcomplete-recexact 'custom-type)
:group 'eshell-cmpl)
(defcustom eshell-cmpl-man-function 'man
(documentation-property 'pcomplete-man-function
'variable-documentation)
(eshell-cmpl--custom-variable-docstring 'pcomplete-man-function)
:type (get 'pcomplete-man-function 'custom-type)
:group 'eshell-cmpl)
(defcustom eshell-cmpl-compare-entry-function 'file-newer-than-file-p
(documentation-property 'pcomplete-compare-entry-function
'variable-documentation)
(eshell-cmpl--custom-variable-docstring 'pcomplete-compare-entry-function)
:type (get 'pcomplete-compare-entry-function 'custom-type)
:group 'eshell-cmpl)
(defcustom eshell-cmpl-expand-before-complete nil
(documentation-property 'pcomplete-expand-before-complete
'variable-documentation)
(eshell-cmpl--custom-variable-docstring 'pcomplete-expand-before-complete)
:type (get 'pcomplete-expand-before-complete 'custom-type)
:group 'eshell-cmpl)
(defcustom eshell-cmpl-cycle-completions t
(documentation-property 'pcomplete-cycle-completions
'variable-documentation)
(eshell-cmpl--custom-variable-docstring 'pcomplete-cycle-completions)
:type (get 'pcomplete-cycle-completions 'custom-type)
:group 'eshell-cmpl)
(defcustom eshell-cmpl-cycle-cutoff-length 5
(documentation-property 'pcomplete-cycle-cutoff-length
'variable-documentation)
(eshell-cmpl--custom-variable-docstring 'pcomplete-cycle-cutoff-length)
:type (get 'pcomplete-cycle-cutoff-length 'custom-type)
:group 'eshell-cmpl)
(defcustom eshell-cmpl-restore-window-delay 1
(documentation-property 'pcomplete-restore-window-delay
'variable-documentation)
(eshell-cmpl--custom-variable-docstring 'pcomplete-restore-window-delay)
:type (get 'pcomplete-restore-window-delay 'custom-type)
:group 'eshell-cmpl)
@ -212,15 +207,13 @@ to writing a completion function."
(function
(lambda ()
(pcomplete-here (eshell-complete-commands-list))))
(documentation-property 'pcomplete-command-completion-function
'variable-documentation)
(eshell-cmpl--custom-variable-docstring 'pcomplete-command-completion-function)
:type (get 'pcomplete-command-completion-function 'custom-type)
:group 'eshell-cmpl)
(defcustom eshell-cmpl-command-name-function
'eshell-completion-command-name
(documentation-property 'pcomplete-command-name-function
'variable-documentation)
(eshell-cmpl--custom-variable-docstring 'pcomplete-command-name-function)
:type (get 'pcomplete-command-name-function 'custom-type)
:group 'eshell-cmpl)
@ -231,13 +224,12 @@ to writing a completion function."
(pcomplete-dirs-or-entries
(cdr (assoc (funcall eshell-cmpl-command-name-function)
eshell-command-completions-alist)))))))
(documentation-property 'pcomplete-default-completion-function
'variable-documentation)
(eshell-cmpl--custom-variable-docstring 'pcomplete-default-completion-function)
:type (get 'pcomplete-default-completion-function 'custom-type)
:group 'eshell-cmpl)
(defcustom eshell-cmpl-use-paring t
(documentation-property 'pcomplete-use-paring 'variable-documentation)
(eshell-cmpl--custom-variable-docstring 'pcomplete-use-paring)
:type (get 'pcomplete-use-paring 'custom-type)
:group 'eshell-cmpl)

View file

@ -446,6 +446,10 @@ DO NOT MODIFY. See `frameset-filter-alist' for a full description.")
(buffer-list . :never)
(buffer-predicate . :never)
(buried-buffer-list . :never)
;; Don't save the 'client' parameter to avoid that a subsequent
;; `save-buffers-kill-terminal' in a non-client session barks at
;; the user (Bug#29067).
(client . :never)
(delete-before . :never)
(font . frameset-filter-font-param)
(foreground-color . frameset-filter-sanitize-color)

View file

@ -527,8 +527,10 @@ Creates the directory if necessary and makes sure:
(w32 (eq system-type 'windows-nt))
(unsafe (cond
((not (eq t (car attrs)))
(format "it is a %s" (if (stringp (car attrs))
"symlink" "file")))
(if (null attrs) "its attributes can't be checked"
(format "it is a %s"
(if (stringp (car attrs))
"symlink" "file"))))
((and w32 (zerop uid)) ; on FAT32?
(display-warning
'server

View file

@ -1375,6 +1375,7 @@ tags, classes and IDs."
:exit-function
,(lambda (string status)
(and (eq status 'finished)
(eolp)
prop-table
(test-completion string prop-table)
(not (and sel-table

View file

@ -39,7 +39,7 @@ They must also be covered by `url-handler-regexp'."
(defun url-tramp-convert-url-to-tramp (url)
"Convert URL to a Tramp file name.
If URL contains a password, it will be added to the `password-data' cache.
In case URL is not convertable, nil is returned."
In case URL is not convertible, nil is returned."
(let* ((obj (url-generic-parse-url (and (stringp url) url)))
(port
(and (natnump (url-portspec obj))
@ -57,7 +57,7 @@ In case URL is not convertable, nil is returned."
(defun url-tramp-convert-tramp-to-url (file)
"Convert FILE, a Tramp file name, to a URL.
In case FILE is not convertable, nil is returned."
In case FILE is not convertible, nil is returned."
(let* ((obj (ignore-errors (tramp-dissect-file-name file)))
(port
(and (stringp (tramp-file-name-port obj))

View file

@ -16581,7 +16581,7 @@
(characterIndexForPoint:): Adjust return type depending on GNUstep
version.
(mouseDown:): delta is CGFloat.
(updateFrameSize): Remove unised variable f.
(updateFrameSize): Remove unused variable f.
(initFrameFromEmacs): Move toggleButton inside NS_IMPL_COCOA.
Cast float to EmacsCGFloat.
(windowWillUseStandardFrame:defaultFrame:): Set maximized_height
@ -16593,7 +16593,7 @@
(setPosition:portion:whole:): por is CGFloat.
(getMouseMotionPart:window:x:y:): Add F suffix to float.
(mouseDown:): Use CGFloat.
(mouseDragged:): Remove unised variable edge.
(mouseDragged:): Remove unused variable edge.
(EmacsDocument): Implement for NS_IMPL_GNUSTEP.
* nsterm.h (EmacsCGFloat): Typedef for OSX and GNUstep when the size

View file

@ -621,6 +621,12 @@ buffer_memory_full (ptrdiff_t nbytes)
#endif
}
/* A common multiple of the positive integers A and B. Ideally this
would be the least common multiple, but there's no way to do that
as a constant expression in C, so do the best that we can easily do. */
#define COMMON_MULTIPLE(a, b) \
((a) % (b) == 0 ? (a) : (b) % (a) == 0 ? (b) : (a) * (b))
#ifndef XMALLOC_OVERRUN_CHECK
#define XMALLOC_OVERRUN_CHECK_OVERHEAD 0
#else
@ -7024,10 +7030,16 @@ sweep_symbols (void)
{
if (!sym->s.gcmarkbit)
{
if (sym->s.redirect == SYMBOL_LOCALIZED
/* Already freed? */
&& !EQ (sym->s.function, Vdead))
xfree (SYMBOL_BLV (&sym->s));
if (sym->s.redirect == SYMBOL_LOCALIZED)
{
xfree (SYMBOL_BLV (&sym->s));
/* At every GC we sweep all symbol_blocks and rebuild the
symbol_free_list, so those symbols which stayed unused
between the two will be re-swept.
So we have to make sure we don't re-free this blv next
time we sweep this symbol_block (bug#29066). */
sym->s.redirect = SYMBOL_PLAINVAL;
}
sym->s.next = symbol_free_list;
symbol_free_list = &sym->s;
symbol_free_list->function = Vdead;

View file

@ -61,7 +61,7 @@ struct buffer *all_buffers;
Setting the default value also goes through the alist of buffers
and stores into each buffer that does not say it has a local value. */
struct buffer alignas (GCALIGNMENT) buffer_defaults;
struct buffer GCALIGNED buffer_defaults;
/* This structure marks which slots in a buffer have corresponding
default values in buffer_defaults.
@ -84,7 +84,7 @@ struct buffer buffer_local_flags;
/* This structure holds the names of symbols whose values may be
buffer-local. It is indexed and accessed in the same way as the above. */
struct buffer alignas (GCALIGNMENT) buffer_local_symbols;
struct buffer GCALIGNED buffer_local_symbols;
/* Return the symbol of the per-buffer variable at offset OFFSET in
the buffer structure. */

View file

@ -953,7 +953,14 @@ file_attributes (int fd, char const *name,
{
record_unwind_protect_int (close_file_unwind, namefd);
if (fstat (namefd, &s) != 0)
err = errno;
{
err = errno;
/* The Linux kernel before version 3.6 does not support
fstat on O_PATH file descriptors. Handle this error like
missing support for O_PATH. */
if (err == EBADF)
err = EINVAL;
}
else
{
err = 0;

View file

@ -228,14 +228,12 @@ extern bool suppress_checking EXTERNALLY_VISIBLE;
USE_LSB_TAG not only requires the least 3 bits of pointers returned by
malloc to be 0 but also needs to be able to impose a mult-of-8 alignment
on the few static Lisp_Objects used: lispsym, all the defsubr, and
the two special buffers buffer_defaults and buffer_local_symbols. */
on the few static Lisp_Objects used, all of which are aligned via
the GCALIGN macro defined below. */
enum Lisp_Bits
{
/* 2**GCTYPEBITS. This must be a macro that expands to a literal
integer constant, for MSVC. */
#define GCALIGNMENT 8
GCALIGNMENT = 1 << GCTYPEBITS,
/* Number of bits in a Lisp_Object value, not counting the tag. */
VALBITS = EMACS_INT_WIDTH - GCTYPEBITS,
@ -247,10 +245,6 @@ enum Lisp_Bits
FIXNUM_BITS = VALBITS + 1
};
#if GCALIGNMENT != 1 << GCTYPEBITS
# error "GCALIGNMENT and GCTYPEBITS are inconsistent"
#endif
/* The maximum value that can be stored in a EMACS_INT, assuming all
bits other than the type bits contribute to a nonnegative signed value.
This can be used in #if, e.g., '#if USE_LSB_TAG' below expands to an
@ -277,18 +271,16 @@ DEFINE_GDB_SYMBOL_END (VALMASK)
error !;
#endif
/* Declare an object to have an address that is a multiple of
GCALIGNMENT. This is a no-op if the object's natural alignment is
already a multiple of GCALIGNMENT. alignas is not suitable here,
as it fails if the object's natural alignment exceeds GCALIGNMENT. */
#ifdef HAVE_STRUCT_ATTRIBUTE_ALIGNED
# define GCALIGNED __attribute__ ((aligned (GCALIGNMENT)))
#else
# define GCALIGNED /* empty */
#endif
/* A common multiple of the positive integers A and B. Ideally this
would be the least common multiple, but there's no way to do that
as a constant expression in C, so do the best that we can easily do. */
#define COMMON_MULTIPLE(a, b) \
((a) % (b) == 0 ? (a) : (b) % (a) == 0 ? (b) : (a) * (b))
/* Some operations are so commonly executed that they are implemented
as macros, not functions, because otherwise runtime performance would
suffer too much when compiling with GCC without optimization.
@ -2946,7 +2938,7 @@ CHECK_NUMBER_CDR (Lisp_Object x)
#ifdef _MSC_VER
#define DEFUN(lname, fnname, sname, minargs, maxargs, intspec, doc) \
Lisp_Object fnname DEFUN_ARGS_ ## maxargs ; \
static struct Lisp_Subr alignas (GCALIGNMENT) sname = \
static struct Lisp_Subr GCALIGNED sname = \
{ { (PVEC_SUBR << PSEUDOVECTOR_AREA_BITS) \
| (sizeof (struct Lisp_Subr) / sizeof (EMACS_INT)) }, \
{ (Lisp_Object (__cdecl *)(void))fnname }, \
@ -2954,7 +2946,7 @@ CHECK_NUMBER_CDR (Lisp_Object x)
Lisp_Object fnname
#else /* not _MSC_VER */
#define DEFUN(lname, fnname, sname, minargs, maxargs, intspec, doc) \
static struct Lisp_Subr alignas (GCALIGNMENT) sname = \
static struct Lisp_Subr GCALIGNED sname = \
{ { PVEC_SUBR << PSEUDOVECTOR_AREA_BITS }, \
{ .a ## maxargs = fnname }, \
minargs, maxargs, lname, intspec, 0}; \

View file

@ -8912,10 +8912,20 @@ - (void)mouseDown: (NSEvent *)e
}
last_mouse_offset = kloc;
if (part != NSScrollerKnob)
/* this is a slot click on GNUstep: go straight there */
/* if knob, tell emacs a location offset by knob pos
(to indicate top of handle) */
if (part == NSScrollerKnob)
pos = (loc - last_mouse_offset);
else
/* else this is a slot click on GNUstep: go straight there */
pos = loc;
/* If there are buttons in the scroller area, we need to
recalculate pos as emacs expects the scroller slot to take up
the entire available length. */
if (length != pixel_length)
pos = pos * pixel_length / length;
/* send a fake mouse-up to super to preempt modal -trackKnob: mode */
fake_event = [NSEvent mouseEventWithType: NSEventTypeLeftMouseUp
location: [e locationInWindow]
@ -8980,6 +8990,13 @@ - (void)mouseDragged: (NSEvent *)e
}
pos = (loc - last_mouse_offset);
/* If there are buttons in the scroller area, we need to
recalculate pos as emacs expects the scroller slot to take up
the entire available length. */
if (length != pixel_length)
pos = pos * pixel_length / length;
[self sendScrollEventAtLoc: pos fromEvent: e];
}

View file

@ -26,9 +26,7 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
#include "coding.h"
#include "syssignal.h"
#define THREAD_ALIGNMENT COMMON_MULTIPLE (alignof (max_align_t), GCALIGNMENT)
static struct thread_state alignas (THREAD_ALIGNMENT) main_thread;
static struct thread_state GCALIGNED main_thread;
struct thread_state *current_thread = &main_thread;

View file

@ -75,7 +75,7 @@ <H5 ID="fracas">
protocol studies:
<UL>
<LI> <A HREF="/curriculum/pot-abstracts.html#R03:FODAIBEAvsDistributed-IJSC96">
<i>Comparison between distributed and centralised demand
<i>Comparison between distributed and centralized demand
assignment TDMA satellite access schemes</i></A>
<LI><A HREF="/curriculum/pot-abstracts.html#R07:FODAIBEAvsCFRA-IJSC97">
@ -225,7 +225,7 @@ <H4 ID="links">
decoding. I keep a <A HREF="codes.html">mirror</A> of this page.
<DT>Forward error correcting codes by Phil Karn
<DD>Phil Karn's optimised really <A HREF="http://www.ka9q.net/code/fec/">free
<DD>Phil Karn's optimized really <A HREF="http://www.ka9q.net/code/fec/">free
codes</A>.
</DL>