]> git.eshelyaron.com Git - emacs.git/log
emacs.git
3 years agoAdd another 'abbreviate-file-name' test
Jim Porter [Mon, 15 Nov 2021 12:34:00 +0000 (13:34 +0100)]
Add another 'abbreviate-file-name' test

* test/lisp/files-tests.el
(files-tests-file-name-non-special-abbreviate-file-name): New test.

3 years agoSupport abbreviating home directory of Tramp filenames
Jim Porter [Mon, 15 Nov 2021 12:33:07 +0000 (13:33 +0100)]
Support abbreviating home directory of Tramp filenames

* doc/lispref/files.texi (Magic File Names): Mention
'abbreviate-file-name' in the list of magic file name handlers.

* etc/NEWS: Announce the change.

* lisp/files.el (file-name-non-special):
* lisp/net/tramp.el (tramp-file-name-for-operation):
* lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
* lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler-alist):
Add 'abbreviate-file-name'.

* lisp/files.el (directory-abbrev-make-regexp):
(directory-abbrev-apply): New functions.
(abbreviate-file-name): Check for file name handler.

* test/lisp/net/tramp-tests.el (tramp-test07-abbreviate-file-name):
New test.

3 years agoFix hanging wdired test
Stefan Kangas [Mon, 15 Nov 2021 08:42:48 +0000 (09:42 +0100)]
Fix hanging wdired test

* test/lisp/wdired-tests.el (wdired-test-bug34915): Fix hanging
test.  Don't start the Emacs Server just to create a socket; just
create the socket manually.

3 years agoFix outline-cycle-buffer issue in `C-h b' buffers
Lars Ingebrigtsen [Mon, 15 Nov 2021 06:38:07 +0000 (07:38 +0100)]
Fix outline-cycle-buffer issue in `C-h b' buffers

* lisp/outline.el (outline--fix-up-all-buttons): Fix issue when
called after collapsing a buffer (bug#51855).

3 years agoAllow mm-external-terminal-program to be a list of strings
Lars Ingebrigtsen [Mon, 15 Nov 2021 06:16:49 +0000 (07:16 +0100)]
Allow mm-external-terminal-program to be a list of strings

* doc/misc/emacs-mime.texi (Display Customization): Document it.

* lisp/gnus/mm-decode.el (mm-external-terminal-program): Allow
being a list.

3 years agoFix handling of changed prefix keys in tutorial
Basil L. Contovounesios [Mon, 15 Nov 2021 05:52:38 +0000 (06:52 +0100)]
Fix handling of changed prefix keys in tutorial

* lisp/tutorial.el (tutorial--find-changed-keys): Use keymapp to
detect prefix definitions rather than hard-coding them.  A notable
omission from the hard-coded list was mode-specific-command-prefix,
whose subcommands are often rebound (bug#40725).

3 years agoMerge from origin/emacs-28
Stefan Kangas [Mon, 15 Nov 2021 06:00:24 +0000 (07:00 +0100)]
Merge from origin/emacs-28

044dd1e210 * rcirc.el (rcirc-define-command): Fix interactive-spec ge...

3 years ago; Merge from origin/emacs-28
Stefan Kangas [Mon, 15 Nov 2021 06:00:24 +0000 (07:00 +0100)]
; Merge from origin/emacs-28

The following commit was skipped:

97059bcdff Fix `C-h k' in gnus-article-mode (don't merge)

3 years agoMerge from origin/emacs-28
Stefan Kangas [Mon, 15 Nov 2021 06:00:24 +0000 (07:00 +0100)]
Merge from origin/emacs-28

85ac0efe7c Fix semantic-symref-perform-search doc string

3 years agoFix xwidget-webkit-back-forward-list
Po Lu [Mon, 15 Nov 2021 05:43:55 +0000 (13:43 +0800)]
Fix xwidget-webkit-back-forward-list

* src/xwidget.c (Fxwidget_webkit_back_forward_list): Use correct
list variable in loop.

3 years agoStop assuming xwidget views will only be displayed in TEXT_AREA
Po Lu [Mon, 15 Nov 2021 01:27:31 +0000 (09:27 +0800)]
Stop assuming xwidget views will only be displayed in TEXT_AREA

* src/xterm.c (x_scroll_run): Use view->area when calculating
xwidget view clipping.

* src/xwidget.c (x_draw_xwidget_glyph_string): Set view->area
to s->area and use that instead.

* src/xwidget.h (struct xwidget_view): Add glyph row area field.

3 years agoPrefer POSIX timers to timerfd timers
Ken Brown [Sun, 14 Nov 2021 15:30:44 +0000 (10:30 -0500)]
Prefer POSIX timers to timerfd timers

* src/atimer.c (set_alarm): Try to start a POSIX timer before
starting a timerfd timer.  On Cygwin, return if the POSIX timer is
started successfully. (Bug#51734)

3 years ago* rcirc.el (rcirc-define-command): Fix interactive-spec generation
Philip Kaludercic [Sun, 14 Nov 2021 18:41:31 +0000 (19:41 +0100)]
* rcirc.el (rcirc-define-command): Fix interactive-spec generation

* rcirc.el (rcirc-define-command):  Wrap interactive spec in a list call.

3 years ago* lisp/tab-line.el (tab-line-mode): Preserve existing value of tab-line-format
Juri Linkov [Sun, 14 Nov 2021 18:35:42 +0000 (20:35 +0200)]
* lisp/tab-line.el (tab-line-mode): Preserve existing value of tab-line-format

Keep the old value of tab-line-format when enabling tab-line-mode
and don't overwrite it with nil when disabling tab-line-mode (bug#51830).

3 years ago* src/lread.c (read_escape): Fix handling of ?\C-<char> for chars 128-255
Stefan Monnier [Sun, 14 Nov 2021 17:56:11 +0000 (12:56 -0500)]
* src/lread.c (read_escape): Fix handling of ?\C-<char> for chars 128-255

3 years agoFix `C-h k' in gnus-article-mode (don't merge)
Lars Ingebrigtsen [Sun, 14 Nov 2021 01:46:38 +0000 (02:46 +0100)]
Fix `C-h k' in gnus-article-mode (don't merge)

* lisp/gnus/gnus-art.el (gnus-article-describe-key):
(gnus-article-describe-key-briefly): Fix `describe-key' calling
convention (bug#51796).

3 years ago; Revert "* lisp/progmodes/python.el (python-forward-sexp-function): :version fix."
Eli Zaretskii [Sun, 14 Nov 2021 17:42:37 +0000 (19:42 +0200)]
; Revert "* lisp/progmodes/python.el (python-forward-sexp-function): :version fix."

This reverts commit e6e29b435273ee9821b6536581bd151f3e50737d.
The commit was a mistake.

3 years ago; * lisp/progmodes/python.el (python-forward-sexp-function): :version fix.
Eli Zaretskii [Sun, 14 Nov 2021 16:58:57 +0000 (18:58 +0200)]
; * lisp/progmodes/python.el (python-forward-sexp-function): :version fix.

3 years agoFix recent documentation updates
Eli Zaretskii [Sun, 14 Nov 2021 16:55:37 +0000 (18:55 +0200)]
Fix recent documentation updates

* doc/lispref/text.texi (Special Properties): Improve wording.
Add cross-reference and index entry.
(Sticky Properties): Add indexing.

3 years agoFix semantic-symref-perform-search doc string
Daniel Martín [Sun, 14 Nov 2021 14:30:52 +0000 (15:30 +0100)]
Fix semantic-symref-perform-search doc string

* lisp/cedet/semantic/symref/cscope.el (semantic-symref-perform-search):
Fix the docstring to refer to the correct tool (bug#51846).

3 years agoImprove Tramp error handling
Michael Albinus [Sun, 14 Nov 2021 13:41:58 +0000 (14:41 +0100)]
Improve Tramp error handling

* doc/misc/tramp.texi (Frequently Asked Questions): Add another
`remote-file-error'.

* lisp/net/tramp.el (tramp-find-foreign-file-name-handler):
Improve error handling.

3 years ago; Merge from origin/emacs-28
Eli Zaretskii [Sun, 14 Nov 2021 13:02:44 +0000 (15:02 +0200)]
; Merge from origin/emacs-28

The following commit was skipped:

289f3a9 Add more files to be natively-compiled AOT

3 years agoMerge from origin/emacs-28
Eli Zaretskii [Sun, 14 Nov 2021 13:02:42 +0000 (15:02 +0200)]
Merge from origin/emacs-28

5dbad52 gnus-summary-line-format doc string clarification
d4536ff Fix follow-scroll-down in a small buffer which starts slightl...

3 years ago; Merge from origin/emacs-28
Eli Zaretskii [Sun, 14 Nov 2021 13:02:41 +0000 (15:02 +0200)]
; Merge from origin/emacs-28

The following commits were skipped:

4802419 Fix compilation on MS-Windows
cc4edea Use posix_spawn if possible.

3 years agoMerge from origin/emacs-28
Eli Zaretskii [Sun, 14 Nov 2021 13:02:39 +0000 (15:02 +0200)]
Merge from origin/emacs-28

a56dd60 Improve style and comments in font-related sources

3 years agoAdd more files to be natively-compiled AOT
Eli Zaretskii [Sun, 14 Nov 2021 12:46:27 +0000 (14:46 +0200)]
Add more files to be natively-compiled AOT

* src/Makefile.in (elnlisp): Add emacs-lisp/gv.eln and other
missing dependencies of comp.el.

3 years agoExpose xwidget navigation history to Lisp code
Po Lu [Thu, 11 Nov 2021 01:01:38 +0000 (09:01 +0800)]
Expose xwidget navigation history to Lisp code

* doc/lispref/display.texi (Xwidgets): Document changes.
* etc/NEWS: Announce new function.
* src/xwidget.c (Fxwidget_webkit_back_forward_list): New
function.
(syms_of_xwidget): Define new subr.

3 years agoAdd `kill-xwidget'
Po Lu [Sun, 14 Nov 2021 05:02:41 +0000 (13:02 +0800)]
Add `kill-xwidget'

* doc/lispref/display.texi (Xwidgets): Document 'kill-xwidget'.
* src/xwidget.c (kill_xwidget, Fkill_xwidget): New function.
(syms_of_xwidget): Define new subr.
(kill_buffer_xwidgets): Use `kill_xwidget' instead.

3 years agoFix previous -responsible-p change
Lars Ingebrigtsen [Sun, 14 Nov 2021 08:41:22 +0000 (09:41 +0100)]
Fix previous -responsible-p change

* lisp/vc/vc-sccs.el (vc-sccs-responsible-p):
* lisp/vc/vc-rcs.el (vc-rcs-responsible-p):
* lisp/vc/vc-cvs.el (vc-cvs-responsible-p): Make the previous
change work with relative file names, too.

3 years agognus-summary-line-format doc string clarification
Lars Ingebrigtsen [Sun, 14 Nov 2021 03:54:40 +0000 (04:54 +0100)]
gnus-summary-line-format doc string clarification

* lisp/gnus/gnus.el (gnus-summary-line-format): Clarify the Date
part of the doc string (bug#51823).

3 years agoExplain in the manual how to make `cursor-intangible' work
Lars Ingebrigtsen [Sun, 14 Nov 2021 02:14:35 +0000 (03:14 +0100)]
Explain in the manual how to make `cursor-intangible' work

* doc/lispref/text.texi (Special Properties): Explain how to make
`cursor-intangible' work (bug#51095).

3 years agoFix crash in xwidget_end_redisplay
Po Lu [Sun, 14 Nov 2021 01:58:21 +0000 (09:58 +0800)]
Fix crash in xwidget_end_redisplay

* src/xwidget.c (xwidget_end_redisplay): Always test if xv is
NULL.

3 years agoFix `C-h k' in gnus-article-mode
Lars Ingebrigtsen [Sun, 14 Nov 2021 01:46:38 +0000 (02:46 +0100)]
Fix `C-h k' in gnus-article-mode

* lisp/gnus/gnus-art.el (gnus-article-describe-key):
(gnus-article-describe-key-briefly): Fix `describe-key' calling
convention (bug#51796).

3 years agoMake all vc-*-responsible-p functions return a string
Lars Ingebrigtsen [Sun, 14 Nov 2021 01:38:48 +0000 (02:38 +0100)]
Make all vc-*-responsible-p functions return a string

* lisp/vc/vc-sccs.el (vc-sccs-responsible-p):
* lisp/vc/vc-rcs.el (vc-rcs-responsible-p):
* lisp/vc/vc-dav.el (vc-dav-responsible-p):
* lisp/vc/vc-cvs.el (vc-cvs-responsible-p): Return a file name
instead of t when we get a match (which is what
vc-backend-for-registration expects) (bug#51800).

3 years agoFix customization group of python-forward-sexp-function
Kévin Le Gouguec [Sun, 14 Nov 2021 01:30:06 +0000 (02:30 +0100)]
Fix customization group of python-forward-sexp-function

* lisp/progmodes/python.el (python-forward-sexp-function): Move from
the "Flymake integration" subsection to the "Navigation" subsection,
so that the option is sorted into the 'python' group rather than the
'python-flymake' group (bug#51807).

3 years agoFix Gnus gcc header tokenization
Lars Ingebrigtsen [Sun, 14 Nov 2021 01:21:45 +0000 (02:21 +0100)]
Fix Gnus gcc header tokenization

* lisp/gnus/gnus-msg.el (gnus-summary-resend-message-insert-gcc)
(gnus-inews-do-gcc): Fix tokenization of the gcc header.

3 years agoAdjust build-dep-zips.py download link
Lars Ingebrigtsen [Sun, 14 Nov 2021 01:06:26 +0000 (02:06 +0100)]
Adjust build-dep-zips.py download link

* admin/nt/dist-build/build-dep-zips.py (download_source): Adjust
the download link (bug#40628).

3 years agoFind most specific backend for `vc-backend-for-registration'.
Manuel Giraud [Sun, 14 Nov 2021 00:51:31 +0000 (01:51 +0100)]
Find most specific backend for `vc-backend-for-registration'.

* lisp/vc/vc.el (vc-backend-for-registration): Count file name
components instead of the length of the file name string (bug#50572).

3 years agoFix follow-scroll-down in a small buffer which starts slightly scrolled
Alan Mackenzie [Sat, 13 Nov 2021 18:33:17 +0000 (18:33 +0000)]
Fix follow-scroll-down in a small buffer which starts slightly scrolled

This fixes bug #51814.

* lisp/follow.el (follow-scroll-down): Do away with the optimization of doing
vertical-motion over only one window.  Instead move over all windows, to
checck for being close to point-min, and setting point accordingly.

3 years agoFix compilation on MS-Windows
Eli Zaretskii [Thu, 31 Dec 2020 18:28:30 +0000 (20:28 +0200)]
Fix compilation on MS-Windows

* src/callproc.c (emacs_spawn) <fork_done>: Define the label only
if USABLE_POSIX_SPAWN is defined, to avoid a compiler warning.

(cherry picked from commit a8fc08085110de00ebcbd67b5273a755a5cb8ea1)

3 years agoUse posix_spawn if possible.
Philipp Stephani [Wed, 30 Dec 2020 13:42:01 +0000 (14:42 +0100)]
Use posix_spawn if possible.

posix_spawn is less error-prone than vfork + execve, and can make
better use of system-specific enhancements like 'clone' on Linux.  Use
it if we don't need to configure a pseudoterminal.

Backported from commit a60053f8368e058229721f1bf1567c2b1676b239.
Unlike that commit, only define USABLE_POSIX_SPAWN on macOS, because
there posix_spawn is much faster than vfork.

Don't merge to master.

* configure.ac (HAVE_SPAWN_H, HAVE_POSIX_SPAWN)
(HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR)
(HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR_NP)
(HAVE_POSIX_SPAWNATTR_SETFLAGS, HAVE_DECL_POSIX_SPAWN_SETSID): New
configuration variables.
* src/callproc.c (USABLE_POSIX_SPAWN): New configuration macro.
(emacs_posix_spawn_init_actions)
(emacs_posix_spawn_init_attributes, emacs_posix_spawn_init): New
helper functions.
(emacs_spawn): Use posix_spawn if possible.

(cherry picked from commit a60053f8368e058229721f1bf1567c2b1676b239)

3 years agoMH-E threads code: use mh-scan variables correctly
Stephen Gildea [Sat, 13 Nov 2021 15:00:30 +0000 (07:00 -0800)]
MH-E threads code: use mh-scan variables correctly

* lisp/mh-e/mh-thread.el (mh-thread-current-indentation-level)
(mh-thread-find-children): Fix off-by-one error by using
'mh-scan-field-from-start-offset' directly, as
'mh-thread-parse-scan-line' does.  Previously, these functions would
incorrectly consider the "date note" column as part of the thread
indenting.  Since that column is almost always a Space character, that
almost always worked.
(mh-thread-ancestor): Update caller.
* test/lisp/mh-e/mh-thread-tests.el: New unit tests for affected code.
* lisp/mh-e/mh-scan.el (mh-msg-num-width-to-column): Fix doc string typo.

3 years agoImprove style and comments in font-related sources
Eli Zaretskii [Sat, 13 Nov 2021 14:37:39 +0000 (16:37 +0200)]
Improve style and comments in font-related sources

* src/w32font.c (fill_in_logfont): Stylistic changes.
* src/font.h (font_property_index, font_select_entity):
Add/improve comments.

3 years agoRevert accidential commit in icomplete.el
Michael Albinus [Sat, 13 Nov 2021 14:26:42 +0000 (15:26 +0100)]
Revert accidential commit in icomplete.el

3 years agoRemove Tramp's `dired-compress-file' handler, not needed anymore
Michael Albinus [Sat, 13 Nov 2021 14:14:02 +0000 (15:14 +0100)]
Remove Tramp's `dired-compress-file' handler, not needed anymore

* lisp/dired-aux.el (dired-check-process, dired-shell-command):
Call `dired-uncache'.
(dired-compress-file): Use `file-local-name'.

* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
* lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist):
* lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler-alist):
* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
* lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler-alist):
* lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
* lisp/net/tramp-sshfs.el (tramp-sshfs-file-name-handler-alist):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler-alist):
Remove superfluous comment.

* lisp/net/tramp-sh.el (dired-compress-file): Declare.
(tramp-sh-handle-dired-compress-file): Call real handler for
Emacs >= 29.

* lisp/net/tramp.el (tramp-file-name-for-operation): Reorder list.

* test/lisp/net/tramp-tests.el (tramp-test45-dired-compress-file)
(tramp-test45-dired-compress-dir): Adapt comment.

3 years agoFix scroll event test in handle_one_xevent
Po Lu [Sat, 13 Nov 2021 13:37:06 +0000 (21:37 +0800)]
Fix scroll event test in handle_one_xevent

* src/xterm.c (handle_one_xevent): Test for scroll wheel button
correctly in xwidget code.

3 years agoFix font selection via :family on MS-Windows
Eli Zaretskii [Sat, 13 Nov 2021 13:22:12 +0000 (15:22 +0200)]
Fix font selection via :family on MS-Windows

* src/font.c (font_delete_unmatched) [HAVE_NTGUI]: Allow non-exact
matches of :weight when looking for a suitable font.  (Bug#51768)

3 years agoCorrect patch from 2021-11-12 on src/fileio.c
Alan Mackenzie [Sat, 13 Nov 2021 12:58:23 +0000 (12:58 +0000)]
Correct patch from 2021-11-12 on src/fileio.c

* src/fileio.c (restore_window_points): Reverse commit
974192413f8a81171b8fd28dfd5c081ce06d3dec and instead replace a < by a <=.
This ensures that if w->mpoint is at the top of the middle region being
replaced, it gets adjusted and stays at the top after the reinsertion.

3 years agoDon't emit SELECT_WINDOW_EVENT when an xwidget is scrolled
Po Lu [Sat, 13 Nov 2021 12:03:05 +0000 (20:03 +0800)]
Don't emit SELECT_WINDOW_EVENT when an xwidget is scrolled

* src/xterm.c (handle_one_event): Don't select xwidget window
on button event if the button pressed actually represents the
scroll wheel.

3 years agoC++ Mode: Fix incoorect background fontification of <
Alan Mackenzie [Sat, 13 Nov 2021 11:58:26 +0000 (11:58 +0000)]
C++ Mode: Fix incoorect background fontification of <

Where c-record-found-types gets "bound" to itself, we postpone the calling of
c-fontify-new-type on possible new found types until these are confirmed by
the return from the function tentatively finding these types, for exmaple
c-forward-<>-arglist.  We check this "binding" by testing the value of
c-record-found-types.

Correct the background fontification algorithm.

* lisp/progmodes/cc-engine.el (c-record-found-types): Move the definition to
earlier in the file.
(c-add-type-1): Check additionally c-record-found-types is nil before calling
c-fontify-new-found-type.
(c-forward-<>-arglist, c-forward-type): On return from a function which
collects found types in c-record-found-types, call c-fontify-new-found-types
for each such type.

* lisp/progmodes/c-fonts.el (c-force-redisplay): Actually fontify the new
found type.
(c-fontify-new-found-type): Test for font-lock-mode being enabled.  Remove the
spurious condition on the `fontified' text property being nil before causing
c-force-redisplay to get called.

3 years agoDon't create links to undefined commands in help--describe-command
Lars Ingebrigtsen [Sat, 13 Nov 2021 09:05:36 +0000 (10:05 +0100)]
Don't create links to undefined commands in help--describe-command

* lisp/help.el (help--describe-command): Don't create links to
commands that aren't defined.

3 years agoUse GTK native file choosers in xwidget callback
Po Lu [Sat, 13 Nov 2021 07:38:12 +0000 (15:38 +0800)]
Use GTK native file choosers in xwidget callback

* src/xwidget.c (run_file_chooser_cb): Use GtkFileChooserNative
instead.

3 years agoMerge from origin/emacs-28
Stefan Kangas [Sat, 13 Nov 2021 06:00:30 +0000 (07:00 +0100)]
Merge from origin/emacs-28

42d4e24ff3 ; Fix typos
0d0125daae Improve documentation of 'decode-coding-region'

3 years agoPrevent NULL-pointer dereference on xwidget callback error
Po Lu [Sat, 13 Nov 2021 05:02:09 +0000 (13:02 +0800)]
Prevent NULL-pointer dereference on xwidget callback error

* src/xwidget.c (webkit_javascript_finished_cb): Check if
`error' is NULL before freeing it.

3 years agoFix file chooser hangs inside xwidget-webkit
Po Lu [Sat, 13 Nov 2021 03:24:13 +0000 (11:24 +0800)]
Fix file chooser hangs inside xwidget-webkit

* src/xwidget.c (run_file_chooser_cb): New function that runs
a nested event loop instead of acting asynchronously.
(Fmake_xwidget): Attach file chooser signal.

3 years agoRemove unused xwidget code in EmacsFixed GTK widget class
Po Lu [Sat, 13 Nov 2021 00:51:32 +0000 (08:51 +0800)]
Remove unused xwidget code in EmacsFixed GTK widget class

This is no longer required, as we rely on X to position
xwidgets now.  It also makes resizing Emacs frames slightly
slower.

* src/emacsgtkfixed.c (EMACS_FIXED_GET_CLASS)
(struct GtkFixedPrivateL)
(emacs_fixed_gtk_widget_size_allocate)
(emacs_fixed_class_init) [HAVE_XWIDGETS]: Remove unused code.

3 years agoPrevent xwidget webkit isearch messages from entering log buffer
Po Lu [Sat, 13 Nov 2021 00:30:43 +0000 (08:30 +0800)]
Prevent xwidget webkit isearch messages from entering log buffer

* lisp/xwidget.el (xwidget-webkit-isearch--update): Prevent
logging when displaying search contents message.

3 years agoDon't start both timerfd and alarms on Cygwin
Ken Brown [Thu, 11 Nov 2021 20:09:24 +0000 (15:09 -0500)]
Don't start both timerfd and alarms on Cygwin

* src/atimer.c (set_alarm) [CYGWIN]: Don't start both timerfd and
alarms; this causes a slowdown.  (Bug#51734)

3 years agoIn insert_file_contents, always set windows' point markers.
Alan Mackenzie [Fri, 12 Nov 2021 18:43:22 +0000 (18:43 +0000)]
In insert_file_contents, always set windows' point markers.

This fixes bug #51776.

* src/fileio.c (restore_window_points): Restore a w->mpoint even when that
marker originally pointed into the unchanged area near BOB or EOB.  This
prevents that window's point being moved a long way from its starting place
due to the removal of the central part of the buffer by insert_file_contents.

3 years agoRemove Emacs 25 compatibility from Tramp
Michael Albinus [Fri, 12 Nov 2021 17:17:32 +0000 (18:17 +0100)]
Remove Emacs 25 compatibility from Tramp

* doc/misc/tramp.texi (Remote programs, Remote processes)
(Frequently Asked Questions): Adapt Emacs versions.

* doc/misc/trampver.texi:
* lisp/net/trampver.el: Change version to "2.6.0-pre".

* lisp/net/tramp-adb.el (top): Don't use `tramp-compat-funcall' for
connection-local functions.

* lisp/net/tramp-compat.el (tramp-unload-file-name-handlers)
(tramp-handle-temporary-file-directory)
(tramp-compat-temporary-file-directory-function)
(tramp-compat-file-attribute-type)
(tramp-compat-file-attribute-link-number)
(tramp-compat-file-attribute-user-id)
(tramp-compat-file-attribute-group-id)
(tramp-compat-file-attribute-access-time)
(tramp-compat-file-attribute-modification-time)
(tramp-compat-file-attribute-status-change-time)
(tramp-compat-file-attribute-size)
(tramp-compat-file-attribute-modes, tramp-file-missing)
(tramp-compat-file-missing, tramp-compat-file-local-name): Remove.
(tramp-compat-file-name-quoted-p, tramp-compat-file-name-quote)
(tramp-compat-file-name-unquote)
(tramp-compat-progress-reporter-update)
(tramp-compat-file-modes, tramp-compat-set-file-modes)
(tramp-compat-set-file-times, tramp-compat-directory-files)
(tramp-compat-directory-files-and-attributes): Adapt implementation.

* lisp/net/tramp.el:
* lisp/net/tramp-adb.el:
* lisp/net/tramp-archive.el:
* lisp/net/tramp-crypt.el:
* lisp/net/tramp-fuse.el:
* lisp/net/tramp-gvfs.el:
* lisp/net/tramp-rclone.el:
* lisp/net/tramp-sh.el:
* lisp/net/tramp-smb.el:
* lisp/net/tramp-sudoedit.el: Adapt callees.

* lisp/net/tramp-crypt.el (tramp-crypt-config-file-name):
Expand file name.

* lisp/net/tramp-fuse.el (tramp-fuse-handle-file-readable-p): Remove.

* lisp/net/tramp-gvfs.el (tramp-gvfs-enabled): Don't check Emacs version.
(tramp-gvfs-handler-mounted-unmounted): Use `make-tramp-file-name'.

* lisp/net/tramp-integration.el (rfn-eshadow-overlay):
Remove declaration.
(top): Don't use `tramp-compat-funcall' for connection-local functions.

* lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler-alist):
Use `tramp-rclone-handle-file-readable-p'.
(tramp-rclone-handle-file-readable-p): New defun.

* lisp/net/tramp-sshfs.el (tramp-sshfs-file-name-handler-alist):
Use `tramp-handle-file-readable-p'.

* lisp/net/tramp.el (tramp-temp-name-prefix, tramp-lookup-syntax):
Adapt docstring.
(tramp-set-connection-local-variables)
(tramp-set-connection-local-variables-for-buffer): Don't use
`tramp-compat-funcall' for connection-local functions.
(tramp-file-name-for-operation): Reorder list.
(tramp-handle-make-symbolic-link): Don't handle TARGET and
OK-IF-ALREADY-EXISTS.
(tramp-read-passwd): Don't use `read-passwd' any longer.
(top): Don't check for `interrupt-process-functions'.

* test/lisp/net/tramp-archive-tests.el (tramp-archive--test-emacs26-p):
Remove.
(tramp-archive-test02-file-name-dissect): Use `make-tramp-file-name'.
(all): Replace Emacs 26 compatibility functions with their
original name.
(tramp-archive-test46-auto-load)
(tramp-archive-test46-delay-load): Rename.

* test/lisp/net/tramp-tests.el (dired-aux, seq): Require them.
(dired-compress, connection-local-criteria-alist)
(connection-local-profile-alist, async-shell-command-width):
Don't declare.
(all): Replace Emacs 26 compatibility functions with their
original name.
(tramp-test04-substitute-in-file-name)
(tramp-test10-write-region, tramp-test11-copy-file)
(tramp-test12-rename-file, tramp-test15-copy-directory)
(tramp-test17-insert-directory)
(tramp-test17-dired-with-wildcards, tramp-test21-file-links)
(tramp-test31-interrupt-process)
(tramp-test34-connection-local-variables)
(tramp-test34-explicit-shell-file-name)
(tramp-test40-make-nearby-temp-file)
(tramp-test41-special-characters, tramp-test42-utf8)
(tramp-test46-delay-load, tramp-test46-remote-load-path)
(tramp-test47-unload): Don't check for Emacs 26 special features.
(tramp--test-emacs26-p): Remove.
(tramp--test-emacs29-p): New defun.
(tramp-test45-dired-compress-file)
(tramp-test45-dired-compress-dir): Use it.
(tramp-test44-asynchronous-requests): Use `seq-random-elt'.

3 years ago; Fix typos
Stefan Kangas [Fri, 12 Nov 2021 12:50:55 +0000 (13:50 +0100)]
; Fix typos

3 years agoFix typos in etc/PROBLEMS
Po Lu [Fri, 12 Nov 2021 12:17:28 +0000 (20:17 +0800)]
Fix typos in etc/PROBLEMS

* etc/PROBLEMS (Internationalization problems): Fix typos.

3 years agoDocument problem with fcitx and xwidgets
Po Lu [Fri, 12 Nov 2021 12:15:50 +0000 (20:15 +0800)]
Document problem with fcitx and xwidgets

* etc/PROBLEMS (Internationalization problems): Document buggy fcitx
with xwidgets.

3 years ago; * etc/NEWS: Fix typos.
Michael Albinus [Fri, 12 Nov 2021 12:05:54 +0000 (13:05 +0100)]
; * etc/NEWS: Fix typos.

3 years ago* lisp/emacs-lisp/checkdoc.el (checkdoc-dired): Autoload.
Stefan Kangas [Fri, 12 Nov 2021 10:40:50 +0000 (11:40 +0100)]
* lisp/emacs-lisp/checkdoc.el (checkdoc-dired): Autoload.

3 years agoAdd support for input methods to xwidget-webkit-edit-mode
Po Lu [Fri, 12 Nov 2021 09:48:56 +0000 (17:48 +0800)]
Add support for input methods to xwidget-webkit-edit-mode

* lisp/xwidget.el (xwidget-webkit--input-method-events): New
variable.
(xwidget-webkit-pass-command-event-with-input-method): New
function.
(xwidget-webkit-pass-command-event): Consult input method about
key events if input method is enabled.

3 years agoOptimize admin/nt dependency computation
Noam Postavsky [Fri, 12 Nov 2021 09:21:45 +0000 (10:21 +0100)]
Optimize admin/nt dependency computation

admin/nt/dist-build/build-dep-zips.py (immediate_deps)
(extract_deps): Gather package dependency info in batches, rather than
one at a time.  This reduces the number of invocations of 'pacman -Si
...' to the depth of the dependency tree, rather than the number of
dependent packages.
(top-level): Don't call 'extract_deps' when given the '-l' option (bug#40628).

3 years agoImprove documentation of 'decode-coding-region'
Eli Zaretskii [Fri, 12 Nov 2021 08:53:52 +0000 (10:53 +0200)]
Improve documentation of 'decode-coding-region'

* src/coding.c (Fdecode_coding_region): Doc fix.

* doc/lispref/nonascii.texi (Coding System Basics)
(Explicit Encoding): Explain the significance of using 'undecided'
in 'decode-coding-*' functions.

3 years agolisp/icomplete.el (icomplete-fido-backward-updir): Expand "~/"
Rasmus [Fri, 12 Nov 2021 08:02:28 +0000 (09:02 +0100)]
lisp/icomplete.el (icomplete-fido-backward-updir): Expand "~/"

* lisp/icomplete.el (icomplete-fido-backward-updir): Expand "~/"
(bug#43925).

3 years agoDelete .tar.gz temp file after tramp test
Lars Ingebrigtsen [Fri, 12 Nov 2021 07:56:51 +0000 (08:56 +0100)]
Delete .tar.gz temp file after tramp test

* test/lisp/net/tramp-tests.el ()
(tramp-test45-dired-compress-dir): Delete the temp file (bug#51690).

3 years ago; * lisp/startup.el (command-line-1): Fix a typo in a comment.
Eli Zaretskii [Fri, 12 Nov 2021 07:50:43 +0000 (09:50 +0200)]
; * lisp/startup.el (command-line-1): Fix a typo in a comment.

3 years ago; * src/lread.c (safe_to_load_version, Fload): Fix coding style.
Eli Zaretskii [Fri, 12 Nov 2021 07:47:44 +0000 (09:47 +0200)]
; * src/lread.c (safe_to_load_version, Fload): Fix coding style.

3 years agoRemove unused xlfd_ enums
Lars Ingebrigtsen [Fri, 12 Nov 2021 07:23:41 +0000 (08:23 +0100)]
Remove unused xlfd_ enums

* src/xfaces.c: Remove xlfd_weight, xlfd_swidth and xlfd_slant
enums.  These seem to be unused in the Emacs sources.

3 years agoRemove obsolete comment
Po Lu [Fri, 12 Nov 2021 06:29:40 +0000 (14:29 +0800)]
Remove obsolete comment

The comment probably dated back to when xwidgets supported
many other GTK+ widgets with other data.  In the current
implementation of xwidgets, everything that should be freed
is already freed in `kill_buffer_xwidgets'.

* src/xwidget.c (kill_buffer_xwidgets): Remove outdated TODO.

3 years agoAllow choosing regular-weighted fonts when medium-weighted exist
Lars Ingebrigtsen [Fri, 12 Nov 2021 06:19:19 +0000 (07:19 +0100)]
Allow choosing regular-weighted fonts when medium-weighted exist

* src/ftfont.c (ftfont_pattern_entity): Allow using both regular
and medium-weighted fonts.

3 years agoMerge from origin/emacs-28
Stefan Kangas [Fri, 12 Nov 2021 06:17:11 +0000 (07:17 +0100)]
Merge from origin/emacs-28

a6905e90cc Fix problem with temp buffer killing in package-install-file
144ad77fda Fix Lisp Intro markup error
24b86cb4f7 Fix ACL errors with WebDAV volumes on MS-Windows

3 years agoFix doc string for xwidget-webkit-load-html
Po Lu [Fri, 12 Nov 2021 06:16:31 +0000 (14:16 +0800)]
Fix doc string for xwidget-webkit-load-html

* src/xwidget.c (Fxwidget_webkit_load_html): Fix doc string.

3 years agoAdd input method support for xwidget webkit isearch
Po Lu [Fri, 12 Nov 2021 06:04:38 +0000 (14:04 +0800)]
Add input method support for xwidget webkit isearch

* lisp/xwidget.el (xwidget-webkit-isearch--read-string-buffer):
New variable.
(xwidget-webkit-isearch-printing-char-with-input-method)
(xwidget-webkit-isearch-with-input-method): New function.

(xwidget-webkit-isearch-printing-char): Add support for Emacs
input methods.  (bug#51781)

3 years agoimage-dired: Quote function symbols as such
Stefan Kangas [Fri, 12 Nov 2021 04:02:27 +0000 (05:02 +0100)]
image-dired: Quote function symbols as such

* lisp/image-dired.el (image-dired-thumbnail-mode-line-up-map)
(image-dired-thumbnail-mode-tag-map)
(image-dired-thumbnail-mode-map, image-dired-minor-mode-map):
Quote function symbols as such.

3 years agoFix problem with temp buffer killing in package-install-file
Lars Ingebrigtsen [Fri, 12 Nov 2021 03:44:09 +0000 (04:44 +0100)]
Fix problem with temp buffer killing in package-install-file

* lisp/emacs-lisp/package.el (package-install-file): Allow killing
the temporary buffer without querying (bug#51769).

3 years agoFix Lisp Intro markup error
Lars Ingebrigtsen [Fri, 12 Nov 2021 03:39:02 +0000 (04:39 +0100)]
Fix Lisp Intro markup error

* doc/lispintro/emacs-lisp-intro.texi (Insert let): Fix @code
markup error (bug#51777).

3 years agoMove Info-goto-node-web to "G"
Lars Ingebrigtsen [Fri, 12 Nov 2021 03:31:33 +0000 (04:31 +0100)]
Move Info-goto-node-web to "G"

* lisp/info.el (Info-mode-map): Change the Info-goto-node-web
binding to "G" for symmetry with "Info-goto-node".

3 years agoMake image-dired-thumbnail-mode non-interactive
Stefan Kangas [Fri, 12 Nov 2021 03:27:11 +0000 (04:27 +0100)]
Make image-dired-thumbnail-mode non-interactive

* lisp/image-dired.el (image-dired-thumbnail-mode): No longer
interactive, as it only makes sense in a specially prepared buffer.

3 years agoimage-dired: Revamp slideshow functionality
Stefan Kangas [Fri, 12 Nov 2021 03:10:40 +0000 (04:10 +0100)]
image-dired: Revamp slideshow functionality

* lisp/image-dired.el
(image-dired-slideshow-delay): New defcustom.
(image-dired--slideshow-initial): New defvar.
(image-dired-slideshow-start): Don't show any prompts when starting a
slideshow, unless user gave a negative prefix argument.  Use the value
of the above new defcustom as the default delay.
(image-dired-slideshow-stop): Don't count number of images.  Instead,
continue the slideshow until the next command.
(image-dired-slideshow-step): Use the correct buffer.
(image-dired-slideshow-count, image-dired-slideshow-times): Make
obsolete.
(image-dired--slideshow-timer): Rename from
'image-dired-slideshow-timer'.  Make the old name into an obsolete
variable alias.
(image-dired-display-image-mode-map)
(image-dired-thumbnail-mode-map): Bind 'image-dired-slideshow-start'
to "S".
(image-dired-thumbnail-mode-menu): Add 'image-dired-slideshow-start'.

3 years agoimage-dired: Improve thumbnail mode menu
Stefan Kangas [Fri, 12 Nov 2021 02:51:21 +0000 (03:51 +0100)]
image-dired: Improve thumbnail mode menu

* lisp/image-dired.el (image-dired-thumbnail-mode-menu): Improve menu
with more logical ordering and better naming.

3 years agoMake "emacs --script /dev/stdin work again when that's a pipe
Bryan C. Mills [Fri, 12 Nov 2021 03:26:28 +0000 (04:26 +0100)]
Make "emacs --script /dev/stdin work again when that's a pipe

* src/lread.c (Fload): Adjust callers.

* src/lread.c (safe_to_load_version): Check lseek errors
(Bug#48940).

Copyright-paperwork-exempt: yes

3 years agoAllow using /dev/stdin as a --script parameter again
Lars Ingebrigtsen [Fri, 12 Nov 2021 03:21:56 +0000 (04:21 +0100)]
Allow using /dev/stdin as a --script parameter again

* lisp/startup.el (command-line-1): Fix breakage with
(file-truename "/dev/stdin") => "/proc/227795/fd/pipe:[1381505]"
when using /dev/stdin as a --script parameter.

3 years agoFix potential NULL dereference in xwidget-webkit-uri
Po Lu [Fri, 12 Nov 2021 03:19:30 +0000 (11:19 +0800)]
Fix potential NULL dereference in xwidget-webkit-uri

* src/xwidget.c (Fxwidget_webkit_uri): Don't assume
webkit_web_view_get_uri will always return a valid string.

3 years agoCheck for WebKit xwidgets inside all xwidget-webkit functions
Po Lu [Fri, 12 Nov 2021 02:36:57 +0000 (10:36 +0800)]
Check for WebKit xwidgets inside all xwidget-webkit functions

This is done in preparation for the introduction of other
xwidgets, such as media xwidgets, even though there are
only WebKit widgets at present.

* src/xwidget.c (CHECK_WEBKIT_XWIDGET): New macro.
(WEBKIT_FN_INIT): Use CHECK_WEBKIT_XWIDGET.

(Fxwidget_webkit_search, Fxwidget_webkit_next_result)
(Fxwidget_webkit_previous_result)
(Fxwidget_webkit_finish_search)
(Fxwidget_webkit_load_html): Check that xwidget is a WebKit
widget.

3 years agoFix image-animate declaration
Lars Ingebrigtsen [Fri, 12 Nov 2021 02:31:48 +0000 (03:31 +0100)]
Fix image-animate declaration

* lisp/net/shr.el (image-animate): Fix declaration.

3 years agoMake gnus-article-stop-animations obsolete
Lars Ingebrigtsen [Fri, 12 Nov 2021 02:29:51 +0000 (03:29 +0100)]
Make gnus-article-stop-animations obsolete

* lisp/gnus/gnus-art.el (gnus-article-stop-animations): Make
obsolete now that animated images stop themselves automatically.
(gnus-article-setup-buffer):
* lisp/gnus/gnus-sum.el (gnus-summary-exit)
(gnus-summary-exit-no-update, gnus-summary-show-article): Remove
callers.

3 years agoAllow stopping animations automatically when the image disappears
Lars Ingebrigtsen [Fri, 12 Nov 2021 02:27:23 +0000 (03:27 +0100)]
Allow stopping animations automatically when the image disappears

* lisp/image.el (image-animate): Allow the animation to be stopped
automatically when the image is removed from the buffer.
(image-animate-timeout): Stop the animation if the image is
removed (and that has been requested).

* lisp/net/shr.el (shr-put-image): Stop animations if the image is
removed.

3 years agoPrevent crashes from Lisp code modifying xwidget-list
Po Lu [Fri, 12 Nov 2021 01:53:30 +0000 (09:53 +0800)]
Prevent crashes from Lisp code modifying xwidget-list

* src/xwidget.c (internal_xwidget_view_list)
(internal_xwidget_list): New variable.

(find_xwidget_for_offscreen_window)
(define_cursors, offscreen_damage_event)
(webkit_ready_to_show, xwidget_init_view)
(Fxwidget_resize, Fdelete_xwidget_view)
(Fxwidget_view_lookup, xwidget_spec_value)
(lookup_xwidget, xwidget_end_redisplay)
(kill_frame_xwidget_views, kill_buffer_xwidgets)
(Fmake_xwidget, Fget_buffer_xwidgets): Use internal list.

(syms_of_xwidget): Initialize internal xwidget lists.

3 years agoPrevent crashes in xwidgets whose buffers have been killed
Po Lu [Fri, 12 Nov 2021 00:17:41 +0000 (08:17 +0800)]
Prevent crashes in xwidgets whose buffers have been killed

* doc/lispref/display.texi (Xwidgets): Explain meaning of killed
xwidgets.
* src/xwidget.c (Fxwidget_live_p): New function.
(Fxwidget_perform_lispy_event, WEBKIT_FN_INIT)
(Fxwidget_resize, Fxwidget_size_request)
(Fxwidget_info, Fxwidget_plist)
(Fset_xwidget_buffer, Fset_xwidget_plist)
(Fset_xwidget_query_on_exit_flag)
(Fxwidget_query_on_exit_flag)
(Fxwidget_webkit_search)
(Fxwidget_webkit_next_result)
(Fxwidget_webkit_previous_result)
(Fxwidget_webkit_finish_search)
(Fxwidget_webkit_load_html): Check for live xwidgets instead of
just xwidgets.

(xwidget_button, xwidget_motion_or_crossing)
(xv_do_draw, x_draw_xwidget_glyph_string)
(Fdelete_xwidget_view): Ignore killed xwidgets.

(syms_of_xwidget): Define new symbols and subrs and define
appropriate weakness of id_to_xwidget map.
(kill_buffer_xwidgets): Check live xwidgets instead of
killed xwidgets, set xwidget buffer to nil, and rely on GC to
free the hash table for us instead.

* src/xwidget.h (XWIDGET_LIVE_P, CHECK_LIVE_XWIDGET): New
macros.

3 years agoFix compilation on MS-Windows
Eli Zaretskii [Thu, 31 Dec 2020 18:28:30 +0000 (20:28 +0200)]
Fix compilation on MS-Windows

* src/callproc.c (emacs_spawn) <fork_done>: Define the label only
if USABLE_POSIX_SPAWN is defined, to avoid a compiler warning.

3 years agoUse posix_spawn if possible.
Philipp Stephani [Wed, 30 Dec 2020 13:42:01 +0000 (14:42 +0100)]
Use posix_spawn if possible.

posix_spawn is less error-prone than vfork + execve, and can make
better use of system-specific enhancements like 'clone' on Linux.  Use
it if we don't need to configure a pseudoterminal.

* configure.ac (HAVE_SPAWN_H, HAVE_POSIX_SPAWN)
(HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR)
(HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR_NP)
(HAVE_POSIX_SPAWNATTR_SETFLAGS, HAVE_DECL_POSIX_SPAWN_SETSID): New
configuration variables.
* src/callproc.c (USABLE_POSIX_SPAWN): New configuration macro.
(emacs_posix_spawn_init_actions)
(emacs_posix_spawn_init_attributes, emacs_posix_spawn_init): New
helper functions.
(emacs_spawn): Use posix_spawn if possible.

3 years agoFix ACL errors with WebDAV volumes on MS-Windows
Eli Zaretskii [Thu, 11 Nov 2021 19:41:10 +0000 (21:41 +0200)]
Fix ACL errors with WebDAV volumes on MS-Windows

* src/w32.c (acl_get_file): Handle ERROR_INVALID_FUNCTION from
WebDAV.  Patch from Ioannis Kappas <ioannis.kappas@gmail.com>.
(Bug#51773)

3 years agoImprove performance of 'file-name-case-insensitive-p' for Tramp files
Jim Porter [Thu, 11 Nov 2021 18:34:17 +0000 (19:34 +0100)]
Improve performance of 'file-name-case-insensitive-p' for Tramp files

Previously, each function in 'tramp-foreign-file-name-handler-alist'
would call 'tramp-dissect-file-name', resulting in it being called
several times whenever 'tramp-find-foreign-file-name-handler' was
called.  Now, functions take the dissected file name to avoid this
duplicated effort.  (Bug#51699)

* etc/NEWS: Announce this change.

* lisp/net/tramp-adb.el (tramp-adb-file-name-p):
* lisp/net/tramp-ftp.el (tramp-ftp-file-name-p):
* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-p):
* lisp/net/tramp-rclone.el (tramp-rclone-file-name-p):
* lisp/net/tramp-smb.el (tramp-smb-file-name-p):
* lisp/net/tramp-sshfs.el (tramp-sshfs-file-name-p):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-p):
Accept dissected file names.

* lisp/net/tramp.el (tramp-ensure-dissected-file-name): New function.
(tramp-find-foreign-file-name-handler): Pass dissected file name to
functions.
(tramp-connectable-p): Use 'tramp-ensure-dissected-file-name'.

3 years agoerc: Don't announce broken functionality in /query docstring
Stefan Kangas [Thu, 11 Nov 2021 17:39:19 +0000 (18:39 +0100)]
erc: Don't announce broken functionality in /query docstring

* lisp/erc/erc.el (erc-cmd-QUERY): Be less enthusiastic about
announcing missing/broken functionality.  The comment "except this is
broken right now" has been there since 2008, and it's not obvious to
me that we should ever re-add it.

3 years ago* lisp/subr.el (add-hook): Fix adding into hook--depth-alist (bug#51620).
Filipp Gunbin [Thu, 11 Nov 2021 16:44:27 +0000 (19:44 +0300)]
* lisp/subr.el (add-hook): Fix adding into hook--depth-alist (bug#51620).