mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-06-14 04:21:24 +00:00
Merge from savannah/emacs-31
916572f6e0Fix the Android build3801c09ae2Don't resurrect invisible child frames when rebuilding pa...e4350c538fImprove progress-reporter state to remove hard coded leng...30df8657fb(tex-main-file): Add forgotten safety predicate (bug#81099)35a82765bfFix bug in latexenc when AUCTeX is loadede9d1367a32paren.el: Fix part of bug#81035fd1b5cd890; * test/lisp/files-tests.el (w32-downcase-file-names): D...79391d3e19; * lisp/mouse.el (send-to--resolve-handler): Fix last ch...eb1de3f585; Avoid rebuilding Emacs Lisp Intro when building release...f26f2a832c; Avoid byte-compilation warning in mouse.elcf325876faAdapt Tramp version84556123eb; * admin/make-tarball.txt: Update.8f5b786cacCheck buffer-local value in tramp-local-environment-varia...
This commit is contained in:
commit
7ffbf45886
13 changed files with 81 additions and 56 deletions
|
|
@ -13,29 +13,22 @@ Preparations:
|
|||
|
||||
Steps to take before starting on the first pretest in any release sequence:
|
||||
|
||||
0. The release branch (e.g. emacs-28) should already have been made
|
||||
0. The release branch (e.g. emacs-31) 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.
|
||||
|
||||
1. Decide on versions of m4 and autoconf, and ensure you will
|
||||
have them available for the duration of the release process.
|
||||
|
||||
2. Consider increasing the value of the variable
|
||||
'customize-changed-options-previous-release' in cus-edit.el to
|
||||
refer to a newer version of Emacs. (This is now done when cutting
|
||||
the release branch, see admin/release-branch.txt, but it can't
|
||||
hurt to double check its value.) Commit cus-edit.el if changed.
|
||||
|
||||
3. Remove any old pretests from <https://alpha.gnu.org/gnu/emacs/pretest>.
|
||||
2. Remove any old pretests from <https://alpha.gnu.org/gnu/emacs/pretest>.
|
||||
You can use 'gnupload --delete' (see below for more gnupload details).
|
||||
(We currently don't bother with this.)
|
||||
|
||||
4. Check that all new Lisp libraries belong to sensible packages.
|
||||
3. Check that all new Lisp libraries belong to sensible packages.
|
||||
Run "make -C lisp finder-data" and check the diff of the generated
|
||||
file against the previously released Emacs version to see what has
|
||||
changed.
|
||||
|
||||
5. If this is an emergency release without a prior pretest, inform the
|
||||
4. If this is an emergency release without a prior pretest, inform the
|
||||
maintainers of the bundled packages which are developed separately
|
||||
to make sure they install adjustments required for an official
|
||||
release. Currently, these packages include:
|
||||
|
|
@ -70,7 +63,7 @@ General steps (for each step, check for possible errors):
|
|||
"M-x emacs-news-delete-temporary-markers" command to delete any
|
||||
left-over "---" and "+++" markers from etc/NEWS, as well as the
|
||||
"Temporary note" section at the beginning of that file, and commit
|
||||
etc/NEWS if it was modified. For a bug fix release (e.g. 28.2),
|
||||
etc/NEWS if it was modified. For a bug fix release (e.g. 31.2),
|
||||
delete any empty headlines too.
|
||||
|
||||
2. Regenerate the versioned ChangeLog.N and etc/AUTHORS files.
|
||||
|
|
@ -268,30 +261,33 @@ General steps (for each step, check for possible errors):
|
|||
9. You can now tag the release/pretest and push it together with the
|
||||
last commit:
|
||||
|
||||
cd EMACS_ROOT_DIR && git tag -a TAG -m "Emacs TAG"
|
||||
cd EMACS_ROOT_DIR && git tag -s TAG -m "Emacs STR"
|
||||
git push
|
||||
git push --tags
|
||||
|
||||
Here TAG is emacs-XX.Y.ZZ for a pretest, emacs-XX.Y for a release.
|
||||
For a release, if you are producing a release candidate first, use
|
||||
emacs-XX.Y-rcN (N = 1, 2, ...) when you tar the RC, and add the
|
||||
actual release tag later, when the official release tarball is
|
||||
uploaded to ftp.gnu.org. When adding a tag later, it is safer to
|
||||
use the SHA1 of the last commit which went into the release
|
||||
For STR see below. For a release, if you are producing a release
|
||||
candidate first, use emacs-XX.Y-rcN (N = 1, 2, ...) when you tar the
|
||||
RC, and add the actual release tag later, when the official release
|
||||
tarball is uploaded to ftp.gnu.org. When adding a tag later, it is
|
||||
safer to use the SHA1 of the last commit which went into the release
|
||||
tarball, in case there were some intervening commits since then:
|
||||
|
||||
git tag -a TAG -m "Emacs TAG" SHA1
|
||||
git tag -s TAG -m "Emacs TAG STR" SHA1
|
||||
git push --tags
|
||||
|
||||
In the past, we were not always consistent with the annotation
|
||||
(i.e. -m "Emacs TAG"). The preferred format is like this for a
|
||||
pretest, release candidate and final release:
|
||||
|
||||
git tag -a emacs-28.0.90 -m "Emacs 28.0.90 pretest"
|
||||
git tag -a emacs-28.1-rc1 -m "Emacs 28.1 RC1"
|
||||
git tag -a emacs-28.1 -m "Emacs 28.1 release"
|
||||
git tag -s emacs-31.0.90 -m "Emacs 31.0.90 pretest"
|
||||
git tag -s emacs-31.1-rc1 -m "Emacs 31.1 RC1"
|
||||
git tag -s emacs-31.1 -m "Emacs 31.1 release"
|
||||
|
||||
10. Decide what compression schemes to offer.
|
||||
10. Merge the release branch to master, checking you skip the right
|
||||
commits.
|
||||
|
||||
11. Decide what compression schemes to offer.
|
||||
For a release, at least gz and xz:
|
||||
gzip --best --no-name -c emacs-NEW.tar > emacs-NEW.tar.gz
|
||||
xz -c emacs-NEW.tar > emacs-NEW.tar.xz
|
||||
|
|
@ -300,7 +296,9 @@ General steps (for each step, check for possible errors):
|
|||
Now you should upload the files to the GNU FTP server; your
|
||||
GPG key must already be accepted as described above.
|
||||
The simplest method of uploading is with the gnulib
|
||||
<https://www.gnu.org/s/gnulib/> script "build-aux/gnupload":
|
||||
<https://www.gnu.org/s/gnulib/> script "build-aux/gnupload"
|
||||
(/usr/share/gnulib/build-aux/gnupload on Debian and its derivatives
|
||||
with the 'gnulib' and 'ncftp' packages installed):
|
||||
|
||||
For a pretest or release candidate:
|
||||
gnupload [--user your@gpg.key.email] --to alpha.gnu.org:emacs/pretest \
|
||||
|
|
@ -333,14 +331,14 @@ General steps (for each step, check for possible errors):
|
|||
For a pretest, place the files in /incoming/alpha instead, so that
|
||||
they appear on <https://alpha.gnu.org/>.
|
||||
|
||||
11. After five minutes, verify that the files are visible at
|
||||
12. After five minutes, verify that the files are visible at
|
||||
<https://alpha.gnu.org/gnu/emacs/pretest/> for a pretest, or
|
||||
<https://ftp.gnu.org/gnu/emacs/> for a release.
|
||||
|
||||
Download them and check the signatures and SHA1/SHA256 checksums.
|
||||
Check they build (./configure --with-native-compilation).
|
||||
|
||||
12. Send an announcement to: emacs-devel, and bcc: info-gnu-emacs@gnu.org.
|
||||
13. Send an announcement to: emacs-devel, and bcc: info-gnu-emacs@gnu.org.
|
||||
For a pretest, also bcc: platform-testers@gnu.org.
|
||||
For a release, also bcc: info-gnu@gnu.org.
|
||||
(The reason for using bcc: is to make it less likely that people
|
||||
|
|
@ -354,19 +352,19 @@ General steps (for each step, check for possible errors):
|
|||
because replies that invariably are not announcements also get
|
||||
sent out as if they were.)
|
||||
|
||||
To create the included SHA1 and SHA256 checksums, run:
|
||||
To create the included SHA256 and SHA512 checksums, run:
|
||||
|
||||
sha1sum emacs-NEW.tar.xz
|
||||
sha256sum emacs-NEW.tar.xz
|
||||
sha512sum emacs-NEW.tar.xz
|
||||
|
||||
You can optionally sign the announcement email using
|
||||
the same PGP key that you used for signing the tarball.
|
||||
(Use e.g. `M-x mml-secure-message-sign' in `message-mode' to sign
|
||||
an email.)
|
||||
|
||||
13. After a release, update the Emacs pages as described below.
|
||||
14. After a release, update the Emacs pages as described below.
|
||||
|
||||
14. After a release, bump the Emacs version on the release branch.
|
||||
15. After a release, bump the Emacs version on the release branch.
|
||||
There is no need to bump the version after a pretest; the version
|
||||
is bumped before the next pretest or release instead.
|
||||
|
||||
|
|
@ -396,7 +394,7 @@ like this:
|
|||
|
||||
<div class="release-banner">
|
||||
<div class="container">
|
||||
<h2><em>Emacs 28.1 is out</em>, download it <a href="download.html">here</a>!</h2>
|
||||
<h2><em>Emacs 31.1 is out</em>, download it <a href="download.html">here</a>!</h2>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -5240,12 +5240,14 @@ if test "${with_native_compilation}" != "no"; then
|
|||
else
|
||||
libgccjit_not_found_err
|
||||
fi])
|
||||
AC_CHECK_HEADERS([libgccjit.h], [],
|
||||
# `libgcc_not_found' may set `with_native_compilation' to `no'.
|
||||
AS_IF([test "$with_native_compilation" != "no"],
|
||||
[AC_CHECK_HEADERS([libgccjit.h], [],
|
||||
[if test "${with_native_compilation}" = "default"; then
|
||||
libgccjit_dev_not_found
|
||||
else
|
||||
libgccjit_dev_not_found_err
|
||||
fi])
|
||||
fi])])
|
||||
if test "${with_native_compilation}" != "no"; then
|
||||
# Check if libgccjit really works.
|
||||
AC_RUN_IFELSE([libgccjit_smoke_test], [],
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
@c In the Tramp GIT, the version number and the bug report address
|
||||
@c are auto-frobbed from configure.ac.
|
||||
@set trampver 2.8.2-pre
|
||||
@set trampver 2.8.2
|
||||
@set trampurl https://www.gnu.org/software/tramp/
|
||||
@set tramp-bug-report-address tramp-devel@@gnu.org
|
||||
@set emacsver 28.1
|
||||
|
|
|
|||
|
|
@ -157,7 +157,8 @@ coding system names is determined from `latex-inputenc-coding-alist'."
|
|||
nil t)
|
||||
(match-string 2)
|
||||
(or (and (bound-and-true-p TeX-master)
|
||||
(stringp TeX-master))
|
||||
(stringp TeX-master)
|
||||
TeX-master)
|
||||
(bound-and-true-p tex-main-file)))))
|
||||
(dolist (ext `("" ,(if (boundp 'TeX-default-extension)
|
||||
(concat "." TeX-default-extension)
|
||||
|
|
|
|||
|
|
@ -539,6 +539,7 @@ Some context functions add menu items below the separator."
|
|||
(cdr mode))))
|
||||
menu)
|
||||
|
||||
(autoload 'send-to--resolve-handler "send-to")
|
||||
(defun context-menu-send-to (menu _click)
|
||||
"Add a \"Send to...\" context MENU entry on supported platforms."
|
||||
(run-hooks 'activate-menubar-hook 'menu-bar-update-hook)
|
||||
|
|
|
|||
|
|
@ -5478,7 +5478,9 @@ should be set connection-local.")
|
|||
"Return non-nil if ARG exists in default `process-environment'.
|
||||
Tramp does not propagate local environment variables in remote
|
||||
processes."
|
||||
(member arg (default-toplevel-value 'process-environment)))
|
||||
(or (ignore-error void-variable
|
||||
(member arg (buffer-local-toplevel-value 'process-environment)))
|
||||
(member arg (default-toplevel-value 'process-environment))))
|
||||
|
||||
(defun tramp-handle-make-process (&rest args)
|
||||
"An alternative `make-process' implementation for Tramp files."
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
;; Maintainer: Michael Albinus <michael.albinus@gmx.de>
|
||||
;; Keywords: comm, processes
|
||||
;; Package: tramp
|
||||
;; Version: 2.8.2-pre
|
||||
;; Version: 2.8.2
|
||||
;; Package-Requires: ((emacs "28.1"))
|
||||
;; Package-Type: multi
|
||||
;; URL: https://www.gnu.org/software/tramp/
|
||||
|
|
@ -40,7 +40,7 @@
|
|||
;; ./configure" to change them.
|
||||
|
||||
;;;###tramp-autoload
|
||||
(defconst tramp-version "2.8.2-pre"
|
||||
(defconst tramp-version "2.8.2"
|
||||
"This version of Tramp.")
|
||||
|
||||
;;;###tramp-autoload
|
||||
|
|
@ -76,7 +76,7 @@
|
|||
;; Check for Emacs version.
|
||||
(let ((x (if (not (string-version-lessp emacs-version "28.1"))
|
||||
"ok"
|
||||
(format "Tramp 2.8.2-pre is not fit for %s"
|
||||
(format "Tramp 2.8.2 is not fit for %s"
|
||||
(replace-regexp-in-string "\n" "" (emacs-version))))))
|
||||
(unless (string-equal "ok" x) (error "%s" x)))
|
||||
|
||||
|
|
@ -109,7 +109,8 @@
|
|||
("2.5.2.28.1" . "28.1") ("2.5.3.28.2" . "28.2") ("2.5.4" . "28.3")
|
||||
("2.6.0.29.1" . "29.1") ("2.6.2.29.2" . "29.2") ("2.6.3-pre" . "29.3")
|
||||
("2.6.3" . "29.4")
|
||||
("2.7.1.30.1" . "30.1") ("2.7.3.30.2" . "30.2")))
|
||||
("2.7.1.30.1" . "30.1") ("2.7.3.30.2" . "30.2")
|
||||
("2.8.2" . "31.1")))
|
||||
|
||||
(add-hook 'tramp-unload-hook
|
||||
(lambda ()
|
||||
|
|
|
|||
|
|
@ -272,9 +272,14 @@ It is the default value of `show-paren-data-function'."
|
|||
(save-restriction
|
||||
;; Determine the range within which to look for a match.
|
||||
(when blink-matching-paren-distance
|
||||
(let ((beg (max (point-min)
|
||||
(- (point) blink-matching-paren-distance))))
|
||||
;; `syntax-propertize' can't widen so make sure it won't
|
||||
;; need to (bug#81035).
|
||||
(syntax-propertize beg)
|
||||
(narrow-to-region
|
||||
(max (point-min) (- (point) blink-matching-paren-distance))
|
||||
(min (point-max) (+ (point) blink-matching-paren-distance))))
|
||||
beg
|
||||
(min (point-max) (+ (point) blink-matching-paren-distance)))))
|
||||
;; Scan across one sexp within that range.
|
||||
;; Errors or nil mean there is a mismatch.
|
||||
(condition-case ()
|
||||
|
|
|
|||
12
lisp/subr.el
12
lisp/subr.el
|
|
@ -7125,8 +7125,7 @@ REPORTER is the result of a call to `make-progress-reporter'.
|
|||
STATE can be one of:
|
||||
- A float representing the percentage complete in the range 0.0-1.0
|
||||
for a numeric reporter.
|
||||
- An integer representing the index which cycles through the range 0-3
|
||||
for a pulsing reporter.
|
||||
- A monotonically increasing integer for a pulsing reporter.
|
||||
- The symbol `done' to indicate that the progress reporter is complete.")
|
||||
|
||||
(defsubst progress-reporter-update (reporter &optional value suffix)
|
||||
|
|
@ -7141,7 +7140,7 @@ MIN-VALUE and MAX-VALUE.
|
|||
Optional argument SUFFIX is a string to be displayed after REPORTER's
|
||||
main message and progress text. If REPORTER is a non-numerical
|
||||
reporter, then VALUE should be nil, or a string to use instead of
|
||||
SUFFIX. SUFFIX is considered obsolete and may be removed in the future.
|
||||
SUFFIX.
|
||||
|
||||
See `progress-reporter-update-functions' for the list of functions
|
||||
called on each update.
|
||||
|
|
@ -7252,8 +7251,9 @@ area is busy with something else."
|
|||
(message "%s" text)))
|
||||
((pred integerp)
|
||||
(let ((message-log-max nil)
|
||||
(pulse-char (aref progress-reporter--pulse-characters
|
||||
state)))
|
||||
(pulse-char
|
||||
(aref progress-reporter--pulse-characters
|
||||
(mod state (length progress-reporter--pulse-characters)))))
|
||||
(message "%s %s" text pulse-char)))
|
||||
('done
|
||||
(message "%sdone" text))))))
|
||||
|
|
@ -7305,7 +7305,7 @@ area is busy with something else."
|
|||
(if suffix
|
||||
(aset parameters 6 suffix)
|
||||
(setq suffix (or (aref parameters 6) "")))
|
||||
(let ((index (mod (1+ (car reporter)) 4)))
|
||||
(let ((index (1+ (car reporter))))
|
||||
(setcar reporter index)
|
||||
(run-hook-with-args 'progress-reporter-update-functions
|
||||
reporter
|
||||
|
|
|
|||
|
|
@ -282,7 +282,9 @@ REPORTER and STATE are the same as in
|
|||
((pred floatp)
|
||||
(system-taskbar--progress state))
|
||||
((pred integerp)
|
||||
(system-taskbar--progress (/ (1+ state) 4.0)))
|
||||
;; This won't show 0.0 to indicate work in process until done.
|
||||
(system-taskbar--progress
|
||||
(/ (1+ (mod state 5)) 5.0)))
|
||||
('done
|
||||
(system-taskbar--progress nil)))))
|
||||
|
||||
|
|
|
|||
|
|
@ -89,6 +89,7 @@ The command `tex-file' runs TeX on the file specified by `tex-main-file'
|
|||
if the variable is non-nil."
|
||||
:type '(choice (const :tag "None" nil)
|
||||
file)
|
||||
:safe (lambda (x) (or (stringp x) (null x)))
|
||||
:group 'tex-file)
|
||||
|
||||
;;;###autoload
|
||||
|
|
|
|||
|
|
@ -369,7 +369,7 @@ possibly_non_vc_files="
|
|||
) || exit
|
||||
|
||||
if [ $with_info = yes ]; then
|
||||
info_files="info/dir $(echo info/*.info info/*.txt info/*.jpg)" || exit
|
||||
info_files="info/dir $(echo info/*.info info/*.txt info/*.jpg info/*.png)" || exit
|
||||
else
|
||||
info_files=
|
||||
fi
|
||||
|
|
|
|||
16
src/nsterm.m
16
src/nsterm.m
|
|
@ -1651,8 +1651,13 @@ -(void)remove
|
|||
unblock_input ();
|
||||
}
|
||||
|
||||
/* Making a frame invisible seems to break the parent->child
|
||||
relationship, so reinstate it. */
|
||||
/* A child window cannot remain attached while hidden. Per Apple's
|
||||
documentation, "Calling orderOut(_:) on a child window causes the
|
||||
window to be removed from its parent window before being removed"
|
||||
(https://developer.apple.com/documentation/appkit/nswindow/orderout(_:)),
|
||||
and ns_make_frame_invisible hides the frame with -orderOut:. The
|
||||
parent->child relationship is therefore broken while invisible, so
|
||||
reinstate it now that we are making the frame visible again. */
|
||||
if ([window parentWindow] == nil && FRAME_PARENT_FRAME (f) != NULL)
|
||||
{
|
||||
block_input ();
|
||||
|
|
@ -9979,6 +9984,13 @@ - (void)setParentChildRelationships
|
|||
[ourView toggleFullScreen:self];
|
||||
#endif
|
||||
|
||||
/* -addChildWindow: also orders the child window onto the screen, so
|
||||
attaching a child frame Emacs considers invisible is what
|
||||
resurrects a dismissed completion popup (corfu, company-box, ...)
|
||||
when relationships are rebuilt. Only attach a visible child; a
|
||||
hidden one is re-attached by ns_make_frame_visible when it is
|
||||
shown again. */
|
||||
if (FRAME_VISIBLE_P (ourFrame))
|
||||
[parentWindow addChildWindow:self
|
||||
ordered:NSWindowAbove];
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue