diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2017-11-02 21:02:12 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2017-11-02 21:02:12 -0700 |
commit | aa7542467238b06ed056054965ba444595b85453 (patch) | |
tree | 3071c15ff777ef5727ccd254d9ddbf513a06c0cc | |
parent | 5fcfdf433d74e8ecb35f86fdc071ce11ca0b0364 (diff) | |
parent | a87ce5c4b41ca8146c764b1186a6162c069b1933 (diff) | |
download | emacs-aa7542467238b06ed056054965ba444595b85453.tar.gz |
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
-rw-r--r-- | ChangeLog.2 | 6 | ||||
-rw-r--r-- | ChangeLog.3 | 50 | ||||
-rw-r--r-- | admin/nt/dist-build/README-scripts | 8 | ||||
-rwxr-xr-x | admin/nt/dist-build/build-dep-zips.py | 4 | ||||
-rwxr-xr-x | build-aux/config.guess | 20 | ||||
-rwxr-xr-x | build-aux/config.sub | 10 | ||||
-rw-r--r-- | doc/lispref/frames.texi | 7 | ||||
-rw-r--r-- | lib-src/make-docfile.c | 2 | ||||
-rw-r--r-- | lib/timespec.h | 22 | ||||
-rw-r--r-- | lib/unistd.in.h | 5 | ||||
-rw-r--r-- | lisp/ChangeLog.17 | 2 | ||||
-rw-r--r-- | lisp/ChangeLog.9 | 2 | ||||
-rw-r--r-- | lisp/emacs-lisp/cl-generic.el | 3 | ||||
-rw-r--r-- | lisp/emacs-lisp/debug.el | 5 | ||||
-rw-r--r-- | lisp/eshell/em-cmpl.el | 54 | ||||
-rw-r--r-- | lisp/frameset.el | 4 | ||||
-rw-r--r-- | lisp/server.el | 6 | ||||
-rw-r--r-- | lisp/textmodes/css-mode.el | 1 | ||||
-rw-r--r-- | lisp/url/url-tramp.el | 4 | ||||
-rw-r--r-- | src/ChangeLog.13 | 4 | ||||
-rw-r--r-- | src/alloc.c | 20 | ||||
-rw-r--r-- | src/buffer.c | 4 | ||||
-rw-r--r-- | src/dired.c | 9 | ||||
-rw-r--r-- | src/lisp.h | 26 | ||||
-rw-r--r-- | src/nsterm.m | 21 | ||||
-rw-r--r-- | src/thread.c | 4 | ||||
-rw-r--r-- | test/manual/etags/html-src/software.html | 4 |
27 files changed, 174 insertions, 133 deletions
diff --git a/ChangeLog.2 b/ChangeLog.2 index a412d3b5f2d..cab30d82a59 100644 --- a/ChangeLog.2 +++ b/ChangeLog.2 @@ -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 diff --git a/ChangeLog.3 b/ChangeLog.3 index 2d7f3bbf3a2..940379cf60a 100644 --- a/ChangeLog.3 +++ b/ChangeLog.3 @@ -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. It’s 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 star’s 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:]] doesn’t 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 doesn’t 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 diff --git a/admin/nt/dist-build/README-scripts b/admin/nt/dist-build/README-scripts index a20099e4eb6..1c62a866724 100644 --- a/admin/nt/dist-build/README-scripts +++ b/admin/nt/dist-build/README-scripts @@ -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 diff --git a/admin/nt/dist-build/build-dep-zips.py b/admin/nt/dist-build/build-dep-zips.py index 33bc4b586c9..9573bf3abcc 100755 --- a/admin/nt/dist-build/build-dep-zips.py +++ b/admin/nt/dist-build/build-dep-zips.py @@ -61,7 +61,7 @@ mingw-w64-x86_64-xpm-nox 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") diff --git a/build-aux/config.guess b/build-aux/config.guess index ba1c1439a9f..2773ac4f5ed 100755 --- a/build-aux/config.guess +++ b/build-aux/config.guess @@ -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} diff --git a/build-aux/config.sub b/build-aux/config.sub index c6950fd68ab..bbad4c45e5d 100755 --- a/build-aux/config.sub +++ b/build-aux/config.sub @@ -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) diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi index 5ea7125882f..a146061c771 100644 --- a/doc/lispref/frames.texi +++ b/doc/lispref/frames.texi @@ -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. diff --git a/lib-src/make-docfile.c b/lib-src/make-docfile.c index 69c7f37a17a..0ea3f7b6b6a 100644 --- a/lib-src/make-docfile.c +++ b/lib-src/make-docfile.c @@ -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); } diff --git a/lib/timespec.h b/lib/timespec.h index 3831301578e..cc34067374f 100644 --- a/lib/timespec.h +++ b/lib/timespec.h @@ -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 diff --git a/lib/unistd.in.h b/lib/unistd.in.h index c1dd07ff8cd..ca8090a3526 100644 --- a/lib/unistd.in.h +++ b/lib/unistd.in.h @@ -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 diff --git a/lisp/ChangeLog.17 b/lisp/ChangeLog.17 index 1bd882f0a22..bb3375be9a6 100644 --- a/lisp/ChangeLog.17 +++ b/lisp/ChangeLog.17 @@ -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> diff --git a/lisp/ChangeLog.9 b/lisp/ChangeLog.9 index 376589ff909..16e0a88052b 100644 --- a/lisp/ChangeLog.9 +++ b/lisp/ChangeLog.9 @@ -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> diff --git a/lisp/emacs-lisp/cl-generic.el b/lisp/emacs-lisp/cl-generic.el index 62befd4742a..00278996792 100644 --- a/lisp/emacs-lisp/cl-generic.el +++ b/lisp/emacs-lisp/cl-generic.el @@ -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) diff --git a/lisp/emacs-lisp/debug.el b/lisp/emacs-lisp/debug.el index 53b8db81321..1ebbc0e0086 100644 --- a/lisp/emacs-lisp/debug.el +++ b/lisp/emacs-lisp/debug.el @@ -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 diff --git a/lisp/eshell/em-cmpl.el b/lisp/eshell/em-cmpl.el index c64c2df3427..89826bebb76 100644 --- a/lisp/eshell/em-cmpl.el +++ b/lisp/eshell/em-cmpl.el @@ -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) diff --git a/lisp/frameset.el b/lisp/frameset.el index d826f7fcdce..16940f814a9 100644 --- a/lisp/frameset.el +++ b/lisp/frameset.el @@ -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) diff --git a/lisp/server.el b/lisp/server.el index 4c591a5ee7c..0e225f723ea 100644 --- a/lisp/server.el +++ b/lisp/server.el @@ -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 diff --git a/lisp/textmodes/css-mode.el b/lisp/textmodes/css-mode.el index e74efdc7a13..93ca36b08aa 100644 --- a/lisp/textmodes/css-mode.el +++ b/lisp/textmodes/css-mode.el @@ -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 diff --git a/lisp/url/url-tramp.el b/lisp/url/url-tramp.el index 0b07bd0d1aa..f4149ddb967 100644 --- a/lisp/url/url-tramp.el +++ b/lisp/url/url-tramp.el @@ -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)) diff --git a/src/ChangeLog.13 b/src/ChangeLog.13 index e252acfbdb1..9f3fdee210a 100644 --- a/src/ChangeLog.13 +++ b/src/ChangeLog.13 @@ -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 diff --git a/src/alloc.c b/src/alloc.c index 11afdfd7cc0..0fc79fe68ac 100644 --- a/src/alloc.c +++ b/src/alloc.c @@ -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; diff --git a/src/buffer.c b/src/buffer.c index 9635733fcff..15735a298ad 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -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. */ diff --git a/src/dired.c b/src/dired.c index 28d1cffb44c..239b1acd1fb 100644 --- a/src/dired.c +++ b/src/dired.c @@ -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; diff --git a/src/lisp.h b/src/lisp.h index 43b3ec618f0..a71ba22618e 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -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}; \ diff --git a/src/nsterm.m b/src/nsterm.m index a382e5f7130..5c29f039e51 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -8912,10 +8912,20 @@ not_in_argv (NSString *arg) } 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 @@ not_in_argv (NSString *arg) } 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]; } diff --git a/src/thread.c b/src/thread.c index 7a670ba410b..03f5b31855e 100644 --- a/src/thread.c +++ b/src/thread.c @@ -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; diff --git a/test/manual/etags/html-src/software.html b/test/manual/etags/html-src/software.html index 7a85b9ab5e6..9c4f0dde8ea 100644 --- a/test/manual/etags/html-src/software.html +++ b/test/manual/etags/html-src/software.html @@ -75,7 +75,7 @@ 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 @@ if that happens so I can update this page. 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> |