Paul Eggert [Sun, 2 Oct 2022 23:49:20 +0000 (16:49 -0700)]
Port TZ settings to POSIX
* lisp/Makefile.in (.el.elc):
* lisp/net/tramp-sh.el (tramp-sh-handle-set-file-times):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-set-file-times):
Use the POSIX standard TZ=UTC0 rather than the GNU extension
TZ=UTC to set the time zone to UTC.
Paul Eggert [Sun, 2 Oct 2022 20:37:39 +0000 (13:37 -0700)]
Prefer static_assert to verify in seccomp-filter
Prefer static_assert in just one file for now; the idea is to do
it elsewhere eventually. static_assert is standard (starting with
C23) whereas verify is not, and static_assert can be used even in
pre-C23 files due to Gnulib’s support for it.
* lib-src/seccomp-filter.c: Do not include verify.h.
Prefer static_assert to verify.
Alan Mackenzie [Sun, 2 Oct 2022 20:31:12 +0000 (20:31 +0000)]
Suppress irritating/misleading message in make bootstrap about old .elc files
These are the "compile-first" .elc files, artificially given an old timestamp
to cause them later to be native compiled. This fixes bug #58224.
* lisp/Makefile.in (compile-first .el.elc): Give these .elc's the UTC epoch.
Amend the comment.
* src/lread.c (Fload): New variable, epoch_timestamp, initialized to binary
zero. Compare with this the timestamp of .elc's being loaded, and if they
match, don't output the message about the source file being newer than the
file being loaded.
Juri Linkov [Sun, 2 Oct 2022 18:50:08 +0000 (21:50 +0300)]
* lisp/vc/vc-git.el (vc-git-checkin): Add more checks for vc-git-patch-string
Check that vc-git-patch-string contains the same changes that already exists
in the staged area when files were added/removed by vc commands (bug#52349).
Juri Linkov [Sun, 2 Oct 2022 18:34:57 +0000 (21:34 +0300)]
In vc-git-log-incoming use the repository in the command "fetch" (bug#50340)
* lisp/vc/vc-git.el (vc-git-log-incoming): Use repository part
from non-nil remote-location in the command "fetch".
* lisp/vc/vc.el (vc-log-incoming, vc-log-outgoing): Mention in
docstrings and prompts that REMOTE-LOCATION can be a remote branch name.
* doc/emacs/maintaining.texi (VC Change Log): For commands
vc-log-incoming and vc-log-outgoing, use the term "remote location"
instead of "repository".
Stefan Monnier [Sun, 2 Oct 2022 17:52:57 +0000 (13:52 -0400)]
keymap.el: Ease up support for non-`kbd` formats.
While we want to standardize on the `kbd` syntax for user-facing code,
the internal vector representation of key sequences is not going away,
so let's not impose silly `key-description + key-parse` roundtrips.
Also, provide some support for packages stuck with user configs defined
to hold old-style key formats.
* lisp/keymap.el (keymap-set): Allow vectors as `key`.
(key-parse-old-format): New function, which stands out better than
`key-description` when searching for uses of the old syntax.
Fix coding system problems in gnus-read-ephemeral-bug-group
* lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group): Don't
bind coding system variables, because that leads to loading other
files (like cookie files) using that coding system (bug#58227).
* lisp/url/url-handlers.el (url-insert-file-literally): New function.
(url-insert): Allow forcing no-decode.
Stefan Kangas [Sun, 2 Oct 2022 13:16:17 +0000 (15:16 +0200)]
Decrease use of the word "Emacsen" in Tramp docs
* lisp/net/tramp-archive.el:
* lisp/net/tramp-smb.el:
* lisp/net/tramp-uu.el:
* lisp/net/tramp.el: Don't say "Emacsen" when a different wording
would be clearer.
* lisp/language/misc-lang.el ("Gothic"): New language environment.
Add sample text and input method.
* lisp/international/fontset.el (script-representative-chars)
(setup-default-fontset): Support gothic.
* lisp/leim/quail/misc-lang.el ("gothic"): New input method.
* etc/HELLO: Add Gothic greetings.
* etc/NEWS: Announce the new language environment.
Po Lu [Sun, 2 Oct 2022 00:28:56 +0000 (08:28 +0800)]
Only rely on EWMH window activation if possible
* xterm.c (x_ewmh_activate_frame): Remove unnecessary
x_wm_supports check.
(x_focus_frame): When the window manager supports
_NET_ACTIVE_WINDOW, just use it; anything else may confuse the
window manager.
Michael Albinus [Sat, 1 Oct 2022 15:17:39 +0000 (17:17 +0200)]
Use a version for the Tramp cache
* lisp/net/tramp-cache.el (tramp-cache-version): New defconst.
(top): Check the cache version, and flush the cache in case of
mismatch. Suggested by Paul Pogonyshev <pogonyshev@gmail.com>.
* lisp/net/tramp-cmds.el (tramp-cleanup-all-connections):
Re-initialize the cache version.
Stefan Kangas [Sat, 1 Oct 2022 15:16:03 +0000 (17:16 +0200)]
Decrease use of the word "Emacsen" in docs
"Emacsen" is either a less clear way of saying "old versions of
Emacs", or an implicit reference to XEmacs. We recommend against
using it in the FAQ. So use the more clear wording instead.
Make mailcap consistent about regexp-quoting minors
* lisp/net/mailcap.el (mailcap-mime-data): Quote regexp.
(mailcap-mime-extensions): Ditto.
(mailcap--regexp-quote-type): New function.
(mailcap-parse-mimetype-file): Use it to get consistent quoting of
(regexp) strings (bug#52038). Before you'd get both
application/vnd\.ms-excel and application/vnd.ms-excel (etc),
making prompting confusing.
Fix url-retrieve-synchronously on very short timeouts
* lisp/url/url.el (url-retrieve-synchronously): Don't kill the
process buffer unless we made one (bug#58218). This makes HTTP
free connection marking work on premature timeouts.
* doc/misc/modus-themes.org (Load theme depending on time of day): Add
missing keyword from sample configuration.
(Full support for packages or face groups): Update list of supported packages.
(Note on goto-address-mode faces): Add documentation about possible
user-level tweaks.
(Are these color schemes?): Fix typo.
(Acknowledgements): Update list of contributors to the project.
* etc/themes/modus-themes.el (modus-themes--version): Update to
current stable version.
(modus-themes-vivendi-colors): Tweak value of a single color.
(modus-themes-faces): Update list of supported faces.
(modus-themes-custom-variables): Remove outdated "TODO" comment.
* etc/themes/modus-operandi-theme.el:
* etc/themes/modus-vivendi-theme.el: Update version header.
comint-fl: Prevent fontification of output as input
* lisp/comint.el (comint-output-filter): Inhibit jit-lock
fontification of inserted process output before marking it with the
'output' filed property (bug#58169).
Sean Whitton [Sat, 24 Sep 2022 23:17:56 +0000 (16:17 -0700)]
Add vc-edit-next-command
* lisp/vc/vc.el (vc-read-revision): Override
vc-filter-command-function back to its default value.
(vc-print-branch-log): Remove recently-added prefix argument.
(vc-edit-next-command): New command.
* lisp/vc/vc-hooks.el (vc-prefix-map): Bind it to 'C-x v !'.
* etc/NEWS:
* doc/emacs/vc1-xtra.texi (Editing Shell Commands): Document it.
Don't refresh the frame in with-locale-environment
* lisp/international/mule-cmds.el (with-locale-environment):
Inhibit refresh so that there's no flickering (bug#58193).
(set-locale-environment): Allow inhibiting the refresh.
* lisp/international/mule.el (set-terminal-coding-system): Ditto.
* lisp/doc-view.el: (doc-view--pdf-outline):
(doc-view-imenu-index):
(doc-view-imenu-setup): Fix multiple empty index generation for
documents without an outline, caching the result (see discussion in
bug#58103).
(doc-view--imenu-subtree): Fix for nested imenus (bug introduced in
commit fe002cc8ce) (bug#58180).
Eli Zaretskii [Fri, 30 Sep 2022 12:38:22 +0000 (15:38 +0300)]
Fix some issues with vertical-motion in bidi-reordered text
This fixes some uses of vertical-motion when a screen line
starts withcharacters of directionality that is opposite to
the current paragraph's base direction.
* src/xdisp.c (move_it_vertically_backward): Adjust NLINES to
compensate for its increasing when DY == 0.
Po Lu [Fri, 30 Sep 2022 06:54:15 +0000 (14:54 +0800)]
Fix calculation of frame times when X server time overflows
* etc/TODO: Add TODO about frame synchronization and animations.
* src/xterm.c (x_display_set_last_user_time): Handle cases when
the monotonic time is not the server time due to the latter
overflowing.
* lisp/language/indian.el ("Toto"): New language environment.
Add input method.
* lisp/international/fontset.el (script-representative-chars):
Support Toto.
* lisp/leim/quail/indian.el ("toto"): New input method.
* etc/NEWS: Announce the new language environment.
Stefan Kangas [Thu, 29 Sep 2022 16:44:03 +0000 (18:44 +0200)]
Fix loading wallpaper.el on MS-Windows
* lisp/image/wallpaper.el (wallpaper--find-command)
(wallpaper--find-command-args): Avoid backtrace when
'wallpaper--find-setter' returns nil, e.g. on MS-Windows.
(Bug#58167)
Alan Mackenzie [Thu, 29 Sep 2022 15:22:42 +0000 (15:22 +0000)]
CC Mode: Refactor c-forward-delarator and callers
c-forward-declarator now moves over a complete declarator, including any
arglist expression, but possibly not including certain C++20 constructs.
* lisp/progmodes/cc-engine.el (c-forward-decl-arglist): New function,
extracted from c-do-declarators.
(c-forward-declarator): Extend the result list by one element, denoting
whether the function parsed an argument list. Insert special handling for a
C++ operator<op> construct. If there is a parenthesis expression, and it is
an argument list, move forward over it.
(c-do-declarators): Append an optional parameter, cdd-anon-accepted
instructing the function to handle declarators without identifiers. Extract
c-forward-decl-arglist.
* lisp/progmodes/cc-fonts.el (c-font-lock-declarators): New &optional
parameter accept-anon, as above. Analyze and use the identifier location
returned by c-do-declarators, rather than using c-last-identifier-range.
(c-font-lock-single-decl): Determine accept-anon from the context, passing it
as argument to c-font-lock-declarators.
* lisp/progmodes/cc-langs.el (c-opt-identifier-prefix-key): Make a
c-lang-defvar out of this existing c-lang-defconst.
* lisp/progmodes/cc-mode.el (c-fl-decl-end): Adapt for the new
c-forward-declarator which now moves over arglists. Amend better to handle
certain syntactically invalid constructs in C++.
Peter Münster [Wed, 28 Sep 2022 23:39:30 +0000 (01:39 +0200)]
New command image-dired-do-flagged-delete
* lisp/image/image-dired.el (image-dired-delete-marked): Remove command,
because it was too buggy.
(image-dired-do-flagged-delete): New command that does almost the same
as the above removed command but with flagged images.
(image-dired-thumbnail-mode-map): Bind "x" to
'image-dired-do-flagged-delete'.
Peter Münster [Wed, 28 Sep 2022 23:25:10 +0000 (01:25 +0200)]
image-dired-delete-char: Don't disturb formatting
* lisp/image/image-dired.el (image-dired-delete-char): Don't disturb
the expected formatting of the thumbnail buffer (always one
space/newline after a thumbnail).
Stefan Kangas [Thu, 29 Sep 2022 14:10:27 +0000 (16:10 +0200)]
wallpaper-set: Get monitor name on non-graphical display
* lisp/image/wallpaper.el
(wallpaper--format-arg): Break out function from here...
(wallpaper--x-monitor-name): ...to here. Try to get the monitor name
non-graphical displays, and prompt if that doesn't work.
(wallpaper-default-set-function): Improve debugging output.
Ref. https://lists.gnu.org/r/emacs-devel/2022-09/msg01910.html
Stefan Kangas [Tue, 27 Sep 2022 16:16:51 +0000 (18:16 +0200)]
Make format-spec accept function substitutions
* lisp/format-spec.el (format-spec): Accept a function producing the
substitution for a character.
* doc/lispref/strings.texi (Custom Format Strings): Document the
above change.
* test/lisp/format-spec-tests.el (format-spec/function): New test.
Ref. https://lists.gnu.org/r/emacs-devel/2022-09/msg01875.html
* lisp/language/indian.el ("Wancho"): New language environment.
Add sample text and input method.
* lisp/international/fontset.el (script-representative-chars)
(setup-default-fontset): Support Wancho.
* lisp/leim/quail/indian.el ("wancho"): New input method.
* etc/HELLO: Add a Wancho greeting.
* etc/NEWS: Announce the new language environment.
Add support for the Mende Kikakui script (bug#58151)
* lisp/language/misc-lang.el ("Mende Kikakui"): New language environment.
Add sample text and input method.
* lisp/international/fontset.el (script-representative-chars)
(setup-default-fontset): Support Mende Kikakui, Indic Siyaq Numbers,
Ottoman Siyaq Numbers.
* lisp/leim/quail/misc-lang.el ("mende-kikakui"): New input method.
* etc/HELLO: Add Mende Kikakui greeting.
* etc/NEWS: Announce the new language environment.