Merge from origin/emacs-29

4767f5eaee Better fix for bug#65156
dd1d8414b3 Fix insert-file-contents with pipes and /dev/stdin
50649a6d1a ; * etc/PROBLEMS: Fix wording.
f0dda682ff ; * etc/NEWS.28: Add deletion of levents.el.
f4acae842c Fix bug#65042
e1874c4e8b * configure.ac (HAVE_TREE_SITTER): Set NEED_DYNLIB=yes (b...
ef8838c3a5 * etc/NEWS: Mention tramp-show-ad-hoc-proxies.
495bee253f * test/lisp/net/tramp-tests.el (tramp-test42-utf8): Skip ...
de1effd73b ; Fix last change
7c7966862b * test/lisp/net/tramp-tests.el (tramp-test10-write-region...
16205e8db6 ; Improve help-echo in package.el
a95e700698 ; Filter packages available for upgrade via menu bar
adff72dd1d Fix reverting Rmail buffers
This commit is contained in:
Eli Zaretskii 2023-08-12 13:42:14 -04:00
commit b289f0769f
13 changed files with 113 additions and 749 deletions

View file

@ -4078,6 +4078,7 @@ if test "${with_tree_sitter}" != "no"; then
[HAVE_TREE_SITTER=yes], [HAVE_TREE_SITTER=no])
if test "${HAVE_TREE_SITTER}" = yes; then
AC_DEFINE(HAVE_TREE_SITTER, 1, [Define if using tree-sitter.])
NEED_DYNLIB=yes
else
EMACS_CHECK_MODULES([TREE_SITTER], [tree-sitter >= 0.6.3],
[HAVE_TREE_SITTER=yes], [HAVE_TREE_SITTER=no])

View file

@ -3150,7 +3150,7 @@ declared obsolete.
This was a compatibility kludge which is no longer needed.
** Some libraries obsolete since Emacs 23 have been removed:
ledit.el, lmenu.el, lucid.el and old-whitespace.el.
ledit.el, levents.el, lmenu.el, lucid.el and old-whitespace.el.
** Some functions and variables obsolete since Emacs 23 have been removed:
'GOLD-map', 'advertised-xscheme-send-previous-expression',

File diff suppressed because it is too large Load diff

View file

@ -516,7 +516,7 @@ directory copy is ineffective.
This is due to an arbitrary limit in certain versions of awk.
The solution is to use gawk (GNU awk).
*** Saving, via EasyPG, a file encrypted with GnuPG hangs
*** Saving a file encrypted with GnuPG via EasyPG hangs
This is known to happen with GnuPG v2.4.1. The only known workaround
is to downgrade to a version of GnuPG older than 2.4.1 (or, in the

View file

@ -1036,7 +1036,7 @@ exec_0 (char *name, struct exec_tracee *tracee,
}
/* Add a directory separator if necessary. */
if (!link_size || buffer1[link_size - 1] != '/')
buffer1[link_size] = '/', link_size++;

View file

@ -40,4 +40,3 @@ struct mipsel_regs
};
#endif /* _MIPSEL_USER_H_ */

View file

@ -1356,7 +1356,7 @@ else if (EmacsWindow.this.isMapped)
if (on)
view.showOnScreenKeyboard ();
else
view.hideOnScreenKeyboard ();
view.hideOnScreenKeyboard ();
}
});
}

View file

@ -3088,18 +3088,36 @@ either a full name or nil, and EMAIL is a valid email address."
"--"
("Filter Packages"
["Filter by Archive" package-menu-filter-by-archive :help "Filter packages by archive"]
["Filter by Description" package-menu-filter-by-description :help "Filter packages by description"]
["Filter by Keyword" package-menu-filter-by-keyword :help "Filter packages by keyword"]
["Filter by Name" package-menu-filter-by-name :help "Filter packages by name"]
["Filter by Archive" package-menu-filter-by-archive
:help
"Prompt for archive(s), display only packages from those archives"]
["Filter by Description" package-menu-filter-by-description
:help
"Prompt for regexp, display only packages with matching description"]
["Filter by Keyword" package-menu-filter-by-keyword
:help
"Prompt for keyword(s), display only packages with matching keywords"]
["Filter by Name" package-menu-filter-by-name
:help
"Prompt for regexp, display only packages whose names match the regexp"]
["Filter by Name or Description" package-menu-filter-by-name-or-description
:help "Filter packages by name or description"]
["Filter by Status" package-menu-filter-by-status :help "Filter packages by status"]
["Filter by Version" package-menu-filter-by-version :help "Filter packages by version"]
["Filter Marked" package-menu-filter-marked :help "Filter packages marked for upgrade"]
["Clear Filter" package-menu-clear-filter :help "Clear package list filter"])
:help
"Prompt for regexp, display only packages whose name or description matches"]
["Filter by Status" package-menu-filter-by-status
:help
"Prompt for status(es), display only packages with those statuses"]
["Filter by Upgrades available" package-menu-filter-upgradable
:help "Display only installed packages for which upgrades are available"]
["Filter by Version" package-menu-filter-by-version
:help
"Prompt for version and comparison operator, display only packages of matching versions"]
["Filter Marked" package-menu-filter-marked
:help "Display only packages marked for installation or deletion"]
["Clear Filter" package-menu-clear-filter
:help "Clear package list filtering, display the entire list again"])
["Hide by Regexp" package-menu-hide-package :help "Hide all packages matching a regexp"]
["Hide by Regexp" package-menu-hide-package
:help "Toggle visibility of obsolete and unwanted packages"]
["Display Older Versions" package-menu-toggle-hiding
:style toggle :selected (not package-menu--hide-packages)
:help "Display package even if a newer version is already installed"]
@ -4295,7 +4313,7 @@ STATUS can be a single status, a string, or a list of strings.
If STATUS is nil or the empty string, show all packages.
When called interactively, prompt for STATUS. To specify
several possible status values, type them seperated by commas."
several possible status values, type them separated by commas."
(interactive (list (completing-read "Filter by status: "
'("avail-obso"
"available"

View file

@ -6762,7 +6762,10 @@ This function binds `revert-buffer-in-progress-p' non-nil while it operates.
This function calls the function that `revert-buffer-function' specifies
to do the work, with arguments IGNORE-AUTO and NOCONFIRM.
The default function runs the hooks `before-revert-hook' and
`after-revert-hook'
`after-revert-hook'.
Return value is whatever `revert-buffer-function' returns. For historical
reasons, that return value is non-nil when `revert-buffer-function'
succeeds in its job and returns non-nil.
Reverting a buffer will try to preserve markers in the buffer,
but it cannot always preserve all of them. For better results,
@ -6779,17 +6782,20 @@ preserve markers and overlays, at the price of being slower."
(revert-buffer-preserve-modes preserve-modes)
(state (and (boundp 'read-only-mode--state)
(list read-only-mode--state))))
(funcall (or revert-buffer-function #'revert-buffer--default)
ignore-auto noconfirm)
(when state
(setq buffer-read-only (car state))
(setq-local read-only-mode--state (car state)))))
;; Return whatever 'revert-buffer-function' returns.
(prog1 (funcall (or revert-buffer-function #'revert-buffer--default)
ignore-auto noconfirm)
(when state
(setq buffer-read-only (car state))
(setq-local read-only-mode--state (car state))))))
(defun revert-buffer--default (ignore-auto noconfirm)
"Default function for `revert-buffer'.
The arguments IGNORE-AUTO and NOCONFIRM are as described for `revert-buffer'.
Runs the hooks `before-revert-hook' and `after-revert-hook' at the
start and end.
The function returns non-nil if it reverts the buffer; signals
an error if the buffer is not associated with a file.
Calls `revert-buffer-insert-file-contents-function' to reread the
contents of the visited file, with two arguments: the first is the file

View file

@ -1328,14 +1328,17 @@ fill_background_by_face (struct frame *f, struct face *face, int x, int y,
int width, int height)
{
cairo_t *cr = pgtk_begin_cr_clip (f);
double r, g, b, a;
cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
cairo_rectangle (cr, x, y, width, height);
cairo_clip (cr);
double r = ((face->background >> 16) & 0xff) / 255.0;
double g = ((face->background >> 8) & 0xff) / 255.0;
double b = ((face->background >> 0) & 0xff) / 255.0;
cairo_set_source_rgb (cr, r, g, b);
r = ((face->background >> 16) & 0xff) / 255.0;
g = ((face->background >> 8) & 0xff) / 255.0;
b = ((face->background >> 0) & 0xff) / 255.0;
a = f->alpha_background;
cairo_set_source_rgba (cr, r, g, b, a);
cairo_paint (cr);
if (face->stipple != 0)
@ -1343,10 +1346,10 @@ fill_background_by_face (struct frame *f, struct face *face, int x, int y,
cairo_pattern_t *mask
= FRAME_DISPLAY_INFO (f)->bitmaps[face->stipple - 1].pattern;
double r = ((face->foreground >> 16) & 0xff) / 255.0;
double g = ((face->foreground >> 8) & 0xff) / 255.0;
double b = ((face->foreground >> 0) & 0xff) / 255.0;
cairo_set_source_rgb (cr, r, g, b);
r = ((face->foreground >> 16) & 0xff) / 255.0;
g = ((face->foreground >> 8) & 0xff) / 255.0;
b = ((face->foreground >> 0) & 0xff) / 255.0;
cairo_set_source_rgba (cr, r, g, b, a);
cairo_mask (cr, mask);
}

View file

@ -1804,7 +1804,7 @@ sfntfont_desc_to_entity (struct sfnt_font_desc *desc, int instance)
AREF (vector, 3));
FONT_SET_STYLE (entity, FONT_SLANT_INDEX,
AREF (vector, 4));
ASET (entity, FONT_ADSTYLE_INDEX, AREF (vector, 1));
ASET (entity, FONT_ADSTYLE_INDEX, AREF (vector, 1));
}
else
{
@ -3192,7 +3192,7 @@ sfntfont_open (struct frame *f, Lisp_Object font_entity,
AREF (tem, 3));
FONT_SET_STYLE (font_object, FONT_SLANT_INDEX,
AREF (tem, 4));
ASET (font_object, FONT_ADSTYLE_INDEX, Qnil);
ASET (font_object, FONT_ADSTYLE_INDEX, Qnil);
}
}

View file

@ -15588,7 +15588,7 @@ redisplay_tool_bar (struct frame *f)
h = (extra + rows - 1) / rows;
extra -= h;
}
display_tool_bar_line (&it, height + h);
}
}

View file

@ -2711,7 +2711,20 @@ This checks also `file-name-as-directory', `file-name-directory',
:type 'file-already-exists)
(should-error
(write-region "foo" nil tmp-name nil nil nil 'excl)
:type 'file-already-exists))
:type 'file-already-exists)
(delete-file tmp-name)
;; Check `buffer-file-coding-system'. Bug#65022.
(with-temp-buffer
(setq buffer-file-name tmp-name)
(insert "foo")
(set-buffer-file-coding-system 'cp1251)
(let ((bfcs buffer-file-coding-system))
(should (buffer-modified-p))
(should (null (save-buffer)))
(should
(eq (coding-system-get buffer-file-coding-system :mime-charset)
(coding-system-get bfcs :mime-charset))))))
;; Cleanup.
(ignore-errors (delete-file tmp-name))))))
@ -7473,14 +7486,12 @@ This requires restrictions of file name syntax."
(skip-unless (not (tramp--test-gdrive-p)))
(skip-unless (not (tramp--test-crypt-p)))
(skip-unless (not (tramp--test-rclone-p)))
(skip-unless (not (or (eq system-type 'darwin) (tramp--test-macos-p))))
(let* ((utf8 (if (and (eq system-type 'darwin)
(memq 'utf-8-hfs (coding-system-list)))
'utf-8-hfs 'utf-8))
(coding-system-for-read utf8)
(coding-system-for-write utf8)
(file-name-coding-system
(coding-system-change-eol-conversion utf8 'unix)))
(let ((coding-system-for-read 'utf-8)
(coding-system-for-write 'utf-8)
(file-name-coding-system
(coding-system-change-eol-conversion 'utf-8 'unix)))
(apply
#'tramp--test-check-files
(append