[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 52c91122ee: Merge from origin/emacs-28
From: |
Stefan Kangas |
Subject: |
master 52c91122ee: Merge from origin/emacs-28 |
Date: |
Sat, 2 Jul 2022 03:48:50 -0400 (EDT) |
branch: master
commit 52c91122eecb0f679de46d539fc85b8e28599fe1
Merge: 9dc0fdfdc1 1c3d107cb5
Author: Stefan Kangas <stefan@marxist.se>
Commit: Stefan Kangas <stefan@marxist.se>
Merge from origin/emacs-28
1c3d107cb5 Fix "C-u C-x =" for SPC
7e33618bbc ; * src/fns.c (Frequire): Fix a typo in the doc string. (...
6908309827 Doc fixes: don't refer to some obsolete items
dc3cb749f3 Remove obsolete cust-print from elisp index
9ffbbddf8e * admin/make-tarball.txt: Minor clarifications.
f5421104e9 Fix external image conversion on MS-Windows
6f22631a63 * doc/emacs/buffers.texi (Indirect Buffers): Mention modif...
# Conflicts:
# doc/emacs/buffers.texi
# lisp/emacs-lisp/nadvice.el
# lisp/image/image-converter.el
---
admin/make-tarball.txt | 34 +++++++++++++++++++++++-----------
admin/notes/multi-tty | 2 +-
doc/emacs/buffers.texi | 13 +++++++++++--
doc/lispref/edebug.texi | 1 -
lisp/chistory.el | 4 ++--
lisp/descr-text.el | 1 +
lisp/emacs-lisp/nadvice.el | 4 ++--
lisp/image/image-converter.el | 40 ++++++++++++++++++++++------------------
lisp/vc/diff-mode.el | 2 +-
src/fns.c | 2 +-
10 files changed, 64 insertions(+), 39 deletions(-)
diff --git a/admin/make-tarball.txt b/admin/make-tarball.txt
index 98001e24e7..6990f27bfa 100644
--- a/admin/make-tarball.txt
+++ b/admin/make-tarball.txt
@@ -15,8 +15,8 @@ Steps to take before starting on the first pretest in any
release sequence:
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.)
- Commit cus-edit.el if changed.
+ 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.
You can use 'gnupload --delete' (see below for more gnupload details).
@@ -24,8 +24,8 @@ Steps to take before starting on the first pretest in any
release sequence:
General steps (for each step, check for possible errors):
-1. git pull # fetch from the repository
- git status # check for locally modified files
+1. git pull # fetch from the repository
+ git status # check for locally modified files
Ensure that you have a clean, unmodified state.
If you switched in-place from another branch to the release branch,
@@ -49,6 +49,9 @@ General steps (for each step, check for possible errors):
files will end up in the tarball. Otherwise, the *.eln files
might not build correctly on the user's system.
+ ./autogen.sh
+ ./configure --with-native-compilation && make
+
For a release (as opposed to pretest), 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
@@ -284,7 +287,8 @@ General steps (for each step, check for possible errors):
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. Check they build.
+ Download them and check the signatures and SHA1/SHA256 checksums.
+ Check they build.
11. Send an announcement to: emacs-devel, and bcc: info-gnu-emacs@gnu.org.
For a pretest, also bcc: platform-testers@gnu.org.
@@ -302,12 +306,20 @@ General steps (for each step, check for possible errors):
To create the included SHA1 and SHA256 checksums, run:
- sha1sum emacs-NEW.tar.xz
- sha256sum emacs-NEW.tar.xz
+ sha1sum emacs-NEW.tar.xz
+ sha256sum emacs-NEW.tar.xz
+
+ You can optionally sign the announcement email, probably 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.)
12. After a release, update the Emacs pages as described below.
-13. Bump the Emacs version on the release branch.
+13. 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.
+
If the released version was XX.Y, use 'set-version' from
admin/admin.el to bump the version on the release branch to
XX.Y.50. Commit the changes.
@@ -315,8 +327,8 @@ General steps (for each step, check for possible errors):
UPDATING THE EMACS WEB PAGES AFTER A RELEASE
As soon as possible after a release, the Emacs web pages at
-https://www.gnu.org/software/emacs/ should be updated. (See
-admin/notes/www for general information.)
+https://www.gnu.org/software/emacs/ should be updated.
+(See admin/notes/www for general information.)
The pages to update are:
@@ -332,7 +344,7 @@ looks like this:
<div class="release-banner">
<div class="container">
- <h2><em>Emacs 27.1 is out</em>, download it <a
href="download.html">here</a>!</h2>
+ <h2><em>Emacs 28.1 is out</em>, download it <a
href="download.html">here</a>!</h2>
</div>
</div>
diff --git a/admin/notes/multi-tty b/admin/notes/multi-tty
index 9b3f1606a1..84bc1b77d4 100644
--- a/admin/notes/multi-tty
+++ b/admin/notes/multi-tty
@@ -474,7 +474,7 @@ THINGS TO DO
definition.
Exceptions found so far: x-select-text and
- x-selection-value (old name: x-cut-buffer-or-selection-value).
+ x-selection-value.
** Have a look at fatal_error_hook.
diff --git a/doc/emacs/buffers.texi b/doc/emacs/buffers.texi
index 94e9d2760e..120c957ff8 100644
--- a/doc/emacs/buffers.texi
+++ b/doc/emacs/buffers.texi
@@ -616,10 +616,11 @@ select it in another window
(@code{clone-indirect-buffer-other-window}).
The text of the indirect buffer is always identical to the text of its
base buffer; changes made by editing either one are visible immediately
-in the other. But in all other respects, the indirect buffer and its
+in the other. ``Text'' here includes both the characters and their text
+properties. But in all other respects, the indirect buffer and its
base buffer are completely separate. They can have different names,
different values of point, different narrowing, different markers,
-different major modes, and different local variables.
+different overlays, different major modes, and different local variables.
An indirect buffer cannot visit a file, but its base buffer can. If
you try to save the indirect buffer, that actually works by saving the
@@ -649,6 +650,14 @@ both using the minibuffer.
When this hook runs, the newly created indirect buffer is the current
buffer.
+Note: When a modification is made to the text of a buffer, the
+modification hooks are run only in the base buffer, because most of
+the functions on those hooks are not prepared to work correctly in
+indirect buffers. So if you need a modification hook function in an
+indirect buffer, you need to manually add that function to the hook
+@emph{in the base buffer} and then make the function operate in the
+desired indirect buffer.
+
@node Buffer Convenience
@section Convenience Features and Customization of Buffer Handling
diff --git a/doc/lispref/edebug.texi b/doc/lispref/edebug.texi
index 622578bcf1..56f7b7bdfa 100644
--- a/doc/lispref/edebug.texi
+++ b/doc/lispref/edebug.texi
@@ -841,7 +841,6 @@ you continue execution, and recreated next time it is
needed.
@cindex printing (Edebug)
@cindex printing circular structures
-@pindex cust-print
If an expression in your program produces a value containing circular
list structure, you may get an error when Edebug attempts to print it.
diff --git a/lisp/chistory.el b/lisp/chistory.el
index dd0f499743..33b2142211 100644
--- a/lisp/chistory.el
+++ b/lisp/chistory.el
@@ -165,11 +165,11 @@ The buffer for that command is the previous current
buffer."
"Examine commands from variable `command-history' in a buffer.
The number of commands listed is controlled by `list-command-history-max'.
The command history is filtered by `list-command-history-filter' if non-nil.
-Use \\<command-history-map>\\[command-history-repeat] to repeat the command on
the current line.
+Use \\<command-history-mode-map>\\[command-history-repeat] to repeat the
command on the current line.
Otherwise much like Emacs-Lisp Mode except that there is no self-insertion
and digits provide prefix arguments. Tab does not indent.
-\\{command-history-map}
+\\{command-history-mode-map}
This command always recompiles the Command History listing
and runs the normal hook `command-history-hook'."
diff --git a/lisp/descr-text.el b/lisp/descr-text.el
index 0f01ad676a..16971aa661 100644
--- a/lisp/descr-text.el
+++ b/lisp/descr-text.el
@@ -701,6 +701,7 @@ The character information includes:
(looking-at-p "[ \t]+$")))
'trailing-whitespace)
((and nobreak-char-display char
+ (> char 127)
(eq (get-char-code-property char
'general-category) 'Zs))
'nobreak-space)
((and nobreak-char-display char
diff --git a/lisp/emacs-lisp/nadvice.el b/lisp/emacs-lisp/nadvice.el
index 00c9e5438b..2d5a1b5e77 100644
--- a/lisp/emacs-lisp/nadvice.el
+++ b/lisp/emacs-lisp/nadvice.el
@@ -313,7 +313,7 @@ different, but `function-equal' will hopefully ignore those
differences.")
(defmacro add-function (how place function &optional props)
;; TODO:
;; - maybe let `how' specify some kind of predicate and use it
- ;; to implement things like mode-local or eieio-defmethod.
+ ;; to implement things like mode-local or cl-defmethod.
;; Of course, that only makes sense if the predicates of all advices can
;; be combined and made more efficient.
;; :before is like a normal add-hook on a normal hook.
@@ -352,7 +352,7 @@ is also interactive. There are 3 cases:
(declare
;;(indent 2)
(debug (form [&or symbolp ("local" form) ("var" sexp) gv-place]
- form &optional form)))
+ form &optional form)))
`(advice--add-function ,how (gv-ref ,(advice--normalize-place place))
,function ,props))
diff --git a/lisp/image/image-converter.el b/lisp/image/image-converter.el
index 9440c623f9..9ce46f01a3 100644
--- a/lisp/image/image-converter.el
+++ b/lisp/image/image-converter.el
@@ -244,20 +244,22 @@ Only suffixes that map to `image-mode' are returned."
(cadr (split-string (symbol-name image-format) "/"))))
(defun image-converter--convert-magick (type source image-format)
- (let ((command (image-converter--value type :command)))
+ (let ((command (image-converter--value type :command))
+ (coding-system-for-read 'no-conversion))
(unless (zerop (if image-format
;; We have the image data in SOURCE.
(progn
(insert source)
- (apply #'call-process-region (point-min) (point-max)
- (car command) t t nil
- (append
- (cdr command)
- (list (format "%s:-"
- (image-converter--mime-type
- image-format))
+ (let ((coding-system-for-write 'no-conversion))
+ (apply #'call-process-region (point-min) (point-max)
+ (car command) t t nil
+ (append
+ (cdr command)
+ (list (format "%s:-"
+ (image-converter--mime-type
+ image-format))
(concat image-convert-to-format
- ":-")))))
+ ":-"))))))
;; SOURCE is a file name.
(apply #'call-process (car command)
nil t nil
@@ -272,18 +274,20 @@ Only suffixes that map to `image-mode' are returned."
(cl-defmethod image-converter--convert ((type (eql 'ffmpeg)) source
image-format)
"Convert using ffmpeg."
- (let ((command (image-converter--value type :command)))
+ (let ((command (image-converter--value type :command))
+ (coding-system-for-read 'no-conversion))
(unless (zerop (if image-format
(progn
(insert source)
- (apply #'call-process-region
- (point-min) (point-max) (car command)
- t '(t nil) nil
- (append
- (cdr command)
- (list "-i" "-"
- "-c:v" image-convert-to-format
- "-f" "image2pipe" "-"))))
+ (let ((coding-system-for-write 'no-conversion))
+ (apply #'call-process-region
+ (point-min) (point-max) (car command)
+ t '(t nil) nil
+ (append
+ (cdr command)
+ (list "-i" "-"
+ "-c:v" image-convert-to-format
+ "-f" "image2pipe" "-")))))
(apply #'call-process
(car command)
nil '(t nil) nil
diff --git a/lisp/vc/diff-mode.el b/lisp/vc/diff-mode.el
index 3f3e503a3f..30ba4153a9 100644
--- a/lisp/vc/diff-mode.el
+++ b/lisp/vc/diff-mode.el
@@ -2074,7 +2074,7 @@ For use in `add-log-current-defun-function'."
(re-search-forward "^[^ ]" nil t))
(pcase-let ((`(,buf ,_line-offset ,pos ,src ,dst ,switched)
(ignore-errors ;Signals errors in place of prompting.
- ;; Use `noprompt' since this is used in which-func-mode
+ ;; Use `noprompt' since this is used in which-function-mode
;; and such.
(diff-find-source-location nil nil 'noprompt))))
(when buf
diff --git a/src/fns.c b/src/fns.c
index 7553a09446..f30b2f6fb3 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -3073,7 +3073,7 @@ dynamic module files, in that order; but the function
will not try to
load the file without any suffix. See `get-load-suffixes' for the
complete list of suffixes.
-To find the file, this function searches that directories in `load-path'.
+To find the file, this function searches the directories in `load-path'.
If the optional third argument NOERROR is non-nil, then, if
the file is not found, the function returns nil instead of signaling