Po Lu [Mon, 29 Aug 2022 09:23:18 +0000 (17:23 +0800)]
Unify floating point handling when reading XI motion events
* src/xterm.c (handle_one_xevent): Always round values as
recommended, instead of just truncating them. Also fixes
weird "jitter" during drag-and-drop on some clients.
Juri Linkov [Sun, 28 Aug 2022 19:44:52 +0000 (22:44 +0300)]
'C-c C-d' on vc-log buffer shows the diff from 'vc-log-fileset' (bug#52349)
* lisp/vc/log-edit.el (log-edit-diff-fileset): New function.
* lisp/vc/vc-dispatcher.el (vc-log-edit): Set log-edit-diff-function to
log-edit-diff-fileset instead of vc-diff.
* lisp/vc/vc.el (vc-diff): New optional arg ‘fileset’.
If non-nil, use instead of vc-deduce-fileset.
Juri Linkov [Sun, 28 Aug 2022 19:38:51 +0000 (22:38 +0300)]
'C-x v v' on a diff buffer commits it as a patch (bug#52349)
* lisp/vc/diff-mode.el (diff-vc-deduce-fileset): New function.
* lisp/vc/log-edit.el (log-edit-diff-patch): New function.
* lisp/vc/vc-dispatcher.el (vc-log-edit): Set log-edit-diff-function
to log-edit-diff-patch when vc-patch-string is non-nil.
(vc-start-logentry): New optional arg 'patch-string'.
Set buffer-local 'vc-patch-string' to 'patch-string'.
(vc-dispatcher-browsing): Add (derived-mode-p 'diff-mode).
* lisp/vc/vc-git.el (vc-git-checkin-patch): New function.
(vc-git-checkin): When vc-git-patch-string is non-nil,
use `git apply --cached` to add the patch to the index,
then commit the staged changes.
* lisp/vc/vc.el: New backend function 'checkin-patch'.
(vc-deduce-fileset-1): Call diff-vc-deduce-fileset in diff-mode.
(vc-next-action): For model 'patch' call vc-checkin with the
diff buffer string.
(vc-checkin): New optional arg 'patch-string'.
Call backend function 'checkin-patch' when 'patch-string' is non-nil.
Call vc-start-logentry with 'patch-string'.
(vc-diff-patch-string): New function.
Juri Linkov [Sun, 28 Aug 2022 19:13:45 +0000 (22:13 +0300)]
Revert parts of
3f076a8e44 that caused test failures
* lisp/simple.el (line-move-finish):
* lisp/window.el (scroll-command--goto-goal-column):
Revert back to using truncate-partial-width-windows instead of
truncated-partial-width-window-p. This change caused test failures
in lisp/ls-lisp-tests.log and lisp/emacs-lisp/edebug-tests.log.
Ken Brown [Sat, 27 Aug 2022 21:42:42 +0000 (17:42 -0400)]
Fix data for files-tests-bug-21454 on Cygwin
* test/lisp/files-tests.el (files-tests-bug-21454): Fix test data
to reflect the fact that Cygwin supports UNC paths.
Eli Zaretskii [Sun, 28 Aug 2022 14:40:49 +0000 (17:40 +0300)]
; Fix docs of glyphless-character display
* etc/NEWS: Update "glyphless character" entries.
* doc/lispref/display.texi (Glyphless Chars): The extra slot of
the char-table can now use a cons cell.
Eli Zaretskii [Sun, 28 Aug 2022 05:57:13 +0000 (08:57 +0300)]
; Autoload 'latin1-display-ucs-per-lynx'
* lisp/international/latin1-disp.el (latin1-display-ucs-per-lynx):
Autoload it, since we autoload 'latin1-display'.
Po Lu [Sun, 28 Aug 2022 04:02:43 +0000 (12:02 +0800)]
Fix two issues in xterm.c
* src/xterm.c (x_atom_refs): Make EMACS_SERVER_TIME_PROP atom
have a vendor-specific prefix.
(x_query_pointer_1): Fix leak of button mask.
Juri Linkov [Sat, 27 Aug 2022 19:52:03 +0000 (22:52 +0300)]
Use truncated-partial-width-window-p in more places (bug#56815)
* lisp/simple.el (line-move, line-move-finish):
Use truncated-partial-width-window-p.
* lisp/window.el (count-screen-lines, scroll-command--goto-goal-column):
Use truncated-partial-width-window-p.
(truncated-partial-width-window-p): Replace window-width with
window-total-width.
* src/indent.c (scan_for_column): Bring the logic of using
truncated-partial-width-window-p closer to what the display engine does.
Juri Linkov [Sat, 27 Aug 2022 19:43:40 +0000 (22:43 +0300)]
Use a list of text properties to search in symlink filenames in Wdired
* lisp/dired-aux.el (dired-isearch-search-filenames):
Use text properties 'dired-filename' and 'dired-symlink-filename'.
* lisp/dired.el (dired-font-lock-keywords): Add text property
'dired-symlink-filename' on symlinks.
* lisp/isearch.el (isearch-search-fun-in-text-property):
Support a list of text properties (bug#57293).
Lars Ingebrigtsen [Sat, 27 Aug 2022 13:44:12 +0000 (15:44 +0200)]
Make dynamic info-lookup more backwards-compatible
* lisp/info-look.el (info-lookup--expand-info): Don't try to
expand elements that aren't functions (bug#57446).
Daniel Martín [Sat, 27 Aug 2022 13:28:34 +0000 (15:28 +0200)]
Fix webp detection on some Macos systems
* configure.ac (HAVE_RSVG): Make webp detection work with Macos
10.3/Homebrew (bug#57420).
Eli Zaretskii [Sat, 27 Aug 2022 11:06:15 +0000 (14:06 +0300)]
Fix regression with cursor motion in Magit buffers
* lisp/simple.el (line-move): Condition movement optimizations on
presence of very long lines. (Bug#57433)
Eli Zaretskii [Sat, 27 Aug 2022 10:13:48 +0000 (13:13 +0300)]
Fix antialias face attribute when text is scaled
This restores the code we had in realize_gui_face before commit
bf0d3f7.
The problem described in bug#17973, which led to that commit, only
happens if one uses a specific (misc-fixed) font family, not for
the usual default fonts used by Emacs, and I'm not sure what's
described there is a bug at all. At least for the purposes of
text-scale-adjust, it makes no sense to ignore the
foundry/family/adstyle of the original font, because we _want_ the
same (or very similar) font, just of a different size.
And likely in other use cases: if the :font attribute of a face
specifies some font properties, we want to keep them all, not
arbitrarily to ignore some of them. And definitely catering to an
obscure use case such as the one cited in bug#17973 is NOT a good
reason to make such radical changes in face-realization behavior.
So I think backing out that part of commit
bf0d3f7 is TRT, and if
we decide that this causes bug#17973 in too many situations we care
about, I'd rather find a kludge for that specific case than do that
for every face realization.
* src/xfaces.c (realize_gui_face): Preserve face attributes when
text is scaled. This reverts part of the changes installed in
commit
bf0d3f7. (Bug#37473)
Mattias Engdegård [Sat, 27 Aug 2022 10:00:31 +0000 (12:00 +0200)]
; * etc/NEWS: typo
Alan Mackenzie [Sat, 27 Aug 2022 09:33:52 +0000 (09:33 +0000)]
CC Mode: Remove double evaluation of self-quoting function in cc-langs.el
This is a followup to Stefan Monnier's fix for bug #57065 from 2022-08-25.
* lisp/progmodes/cc-langs.el (c-init-language-vars): Add a #' after the
funcall.
Eli Zaretskii [Sat, 27 Aug 2022 08:56:00 +0000 (11:56 +0300)]
Support "replacement characters" on TTY frames
* src/nsterm.m (ns_draw_glyphless_glyph_string_foreground):
* src/pgtkterm.c (pgtk_draw_glyphless_glyph_string_foreground):
* src/haikuterm.c (haiku_draw_glyphless_glyph_string_foreground):
* src/xterm.c (x_draw_glyphless_glyph_string_foreground):
* src/w32term.c (w32_draw_glyphless_glyph_string_foreground):
* src/xdisp.c (lookup_glyphless_char_display): Handle extra-slot
of 'glyphless-char-display' that is a cons cell.
(syms_of_xdisp) <glyphless-char-display>: Update doc string.
* etc/NEWS:
* doc/lispref/display.texi (Glyphless Chars): Document the new
feature.
* lisp/faces.el (glyphless-char): Make the face stand out on TTY
frames that don't support the underline attribute.
Po Lu [Sat, 27 Aug 2022 01:54:16 +0000 (09:54 +0800)]
Fix crash when handling "swallowed" generic events
* src/xmenu.c (x_menu_translate_generic_event, x_menu_show):
Pass through more events, correctly.
* src/xterm.c (handle_one_xevent): Don't abort if must_free_data
and xi_event is NULL; this is an Xlib bug.
Dmitry Gutov [Fri, 26 Aug 2022 22:09:47 +0000 (01:09 +0300)]
xref-matches-in-files: Use with-connection-local-variables
* lisp/progmodes/xref.el (xref-matches-in-files):
Use with-connection-local-variables (bug#57385).
Stefan Kangas [Fri, 26 Aug 2022 20:12:19 +0000 (22:12 +0200)]
Use shr as default for mm-text-html-renderer
* lisp/gnus/mm-decode.el (mm-text-html-renderer): Use 'shr' as
default to avoid a nil value.
Problem reported by Mattias Engdegård <mattiase@acm.org>.
Lars Ingebrigtsen [Fri, 26 Aug 2022 12:27:25 +0000 (14:27 +0200)]
Clarify the :box attributes in Face Attributes lispref node
* doc/lispref/display.texi (Face Attributes): Mention that the
elements are optional (bug#50699).
Alan Mackenzie [Fri, 26 Aug 2022 15:51:21 +0000 (15:51 +0000)]
CC Mode: Fontify correctly a brace list element followed only by syntactic WS
This fixes a regression introduced in the fix for bug #56841 on 2022-08-24.
* lisp/progmodes/cc-engine (c-forward-declarator): Allow point to be at EOB
after the call to c-forward-name, rather than rejecting it as an invalid
declarator. Also reindent a section of this function.
Michael Albinus [Fri, 26 Aug 2022 14:19:47 +0000 (16:19 +0200)]
Use `rx' in Tramp where possible
* lisp/net/tramp.el:
* lisp/net/tramp-adb.el:
* lisp/net/tramp-archive.el:
* lisp/net/tramp-cache.el:
* lisp/net/tramp-cmds.el:
* lisp/net/tramp-compat.el:
* lisp/net/tramp-crypt.el:
* lisp/net/tramp-ftp.el:
* lisp/net/tramp-fuse.el:
* lisp/net/tramp-gvfs.el:
* lisp/net/tramp-integration.el:
* lisp/net/tramp-rclone.el:
* lisp/net/tramp-sh.el:
* lisp/net/tramp-smb.el:
* lisp/net/tramp-sudoedit.el: Use `rx' where possible.
* lisp/net/tramp-adb.el (tramp-adb-handle-set-file-times):
Use `eval-when-compile'.
(tramp-adb-maybe-open-connection): Use file-property for "/". Use
`eval-when-compile'.
* lisp/net/tramp-cmds.el (mm-7bit-chars): Declare.
(tramp-reporter-dump-variable): Simplify point movement.
* lisp/net/tramp-gvfs.el (tramp-dbus-function): Fix typo.
(tramp-zeroconf-parse-device-names): Use `tramp-prefix-port-format'.
* lisp/net/tramp-sh.el (tramp-open-shell, tramp-find-shell):
Use `eval-when-compile'. Improve sanity check.
* lisp/net/tramp.el (tramp-prefix-format, tramp-prefix-regexp)
(tramp-method-regexp, tramp-postfix-method-format)
(tramp-postfix-method-regexp, tramp-prefix-ipv6-format)
(tramp-prefix-ipv6-regexp, tramp-postfix-ipv6-format)
(tramp-postfix-ipv6-regexp, tramp-postfix-host-format)
(tramp-postfix-host-regexp, tramp-remote-file-name-spec-regexp)
(tramp-file-name-structure, tramp-file-name-regexp)
(tramp-completion-method-regexp)
(tramp-completion-file-name-regexp): Declare.
(tramp-set-syntax): Set also `tramp-completion-method-regexp'.
(tramp-volume-letter-regexp, tramp-completion-method-regexp-alist):
New defconsts.
(tramp-build-completion-method-regexp): New defun.
(tramp-completion-method-regexp): New defvar.
(tramp-completion-file-name-regexp-default)
(tramp-completion-file-name-regexp-simplified)
(tramp-completion-file-name-regexp-separate)
(tramp-completion-file-name-regexp-alist): Remove.
(tramp-build-completion-file-name-regexp): Rwrite.
(tramp-make-tramp-file-name): Use `tramp-archive-method'.
(tramp-handle-file-directory-p): Ignore errors.
(tramp-handle-find-backup-file-name, tramp-handle-lock-file)
(tramp-handle-make-auto-save-file-name): Use `eval-when-compile'.
* test/lisp/net/tramp-archive-tests.el:
* test/lisp/net/tramp-tests.el: Use `rx' where possible.
(tramp-test01-file-name-syntax): Adapt test.
Lars Ingebrigtsen [Fri, 26 Aug 2022 12:02:57 +0000 (14:02 +0200)]
Make the *Ido COmpletions* buffer fit the window to the buffer
* lisp/ido.el (ido-completion-help): Display the ido completions
buffer pretty much the same way that the default *Completions*
buffer is displayed (bug#50671). This means that we're defaulting
to fit-window-to-buffer.
Augusto Stoffel [Fri, 26 Aug 2022 11:12:28 +0000 (13:12 +0200)]
New option 'thrifty' for Man-notify-method
* lisp/man.el (Man-notify-when-ready): Accept new 'thrifty' notify
method.
(Man-notify-method): Explain what 'thrifty' does (bug#57408).
Lars Ingebrigtsen [Fri, 26 Aug 2022 10:30:30 +0000 (12:30 +0200)]
Delete blank lines at the start of the cited text in message-indent-citation
* lisp/gnus/message.el (message-indent-citation): Fix thinko in
the fix for the previous thinko.
Basil L. Contovounesios [Fri, 26 Aug 2022 10:12:15 +0000 (13:12 +0300)]
Fix recent gamegrid.el change for nox build
* lisp/play/gamegrid.el (gamegrid-make-glyph): Declare
image-scaling-factor as special before dynamically binding it, for
the sake of --without-x builds which do not preload lisp/image.el.
Basil L. Contovounesios [Fri, 26 Aug 2022 09:53:49 +0000 (12:53 +0300)]
Pacify obsolete gv warnings in xt-mouse-tests.el
* test/lisp/xt-mouse-tests.el (with-xterm-mouse-mode): Replace
deprecated generalized variables frame-width and frame-height with
direct calls to set-frame-width and set-frame-height, respectively.
Jim Porter [Sat, 20 Aug 2022 17:48:32 +0000 (10:48 -0700)]
Kill the buffer for the temp file after using '$<command>' in Eshell
* lisp/eshell/esh-var.el (eshell-parse-variable-ref): Kill the temp
file's buffer when we're done.
Ref: https://lists.gnu.org/archive/html/bug-gnu-emacs/2022-08/msg01444.html
Stefan Kangas [Fri, 26 Aug 2022 04:30:30 +0000 (06:30 +0200)]
Merge from origin/emacs-28
e3b8577525 ; * etc/DEBUG: Fix wording of "X protocol errors" section.
Stefan Kangas [Fri, 26 Aug 2022 04:30:30 +0000 (06:30 +0200)]
; Merge from origin/emacs-28
The following commit was skipped:
ba64d09156 Treat smtp-auth method from auth-info as a symbol
Stefan Kangas [Fri, 26 Aug 2022 04:30:29 +0000 (06:30 +0200)]
Merge from origin/emacs-28
9e03e29c4e * lisp/wdired.el: Improve "Commentary" section.
92e90297f9 * lisp/wdired.el: Doc fix; don't mention obsolete variable.
2ccefef4c7 * lisp/progmodes/etags.el (next-file): Minor doc fix.
Stefan Kangas [Fri, 26 Aug 2022 04:30:29 +0000 (06:30 +0200)]
; Merge from origin/emacs-28
The following commit was skipped:
82bcd44378 * configure.ac: Move AC_LANG_PUSH/POP out of AC_CACHE_CHEC...
Po Lu [Fri, 26 Aug 2022 01:42:35 +0000 (09:42 +0800)]
Restore old code in x_sync_trigger_fence
* src/xterm.c (x_sync_trigger_fence): Restore old code, since that
makes it easier to adapt to more than 2 sync fences (which might be
necessary in the future, if we ever decide to do frame handling
asynchronously), and is much more recognizable for people coming from
other programs.
Po Lu [Fri, 26 Aug 2022 01:37:47 +0000 (09:37 +0800)]
; * src/xterm.h (struct x_display_info): Update comment.
Paul Eggert [Thu, 25 Aug 2022 23:16:56 +0000 (18:16 -0500)]
Update from Gnulib by running admin/merge-gnulib
Paul Eggert [Wed, 24 Aug 2022 01:18:13 +0000 (18:18 -0700)]
Fix overflows in HAVE_XSYNC timestamp handling
Also, port to platforms lacking CLOCK_MONOTONIC and int64_t, and
use 0 more consistently to represent missing timestamps.
* src/xterm.h (struct x_display_info):
Omit server_time_monotonic_p and server_time_offset if
!HAVE_CLOCK_GETTIME since they are unused in that case.
* src/xterm.h (struct x_display_info, struct x_output):
* src/xterm.c (x_sync_get_monotonic_time)
(x_sync_current_monotonic_time, x_sync_note_frame_times):
Use int_fast64_t instead of int64_t as POSIX doesn't
guarantee the latter. Similarly for uint_fast64_t.
(x_sync_get_monotonic_time, x_sync_current_monotonic_time)
(x_sync_note_frame_times, x_display_set_last_user_time):
Check for integer overflow in time arithmetic.
(CLOCK_MONOTONIC): Define to CLOCK_REALTIME if absent.
(x_sync_current_monotonic_time): Check for clock_gettime failure
and fall back on CLOCK_REALTIME if CLOCK_MONOTONIC does not work,
which POSIX allows.
(x_sync_current_monotonic_time, x_sync_note_frame_times)
(x_display_set_last_user_time):
Use 0 more consistently to represent missing timestamps.
Paul Eggert [Tue, 23 Aug 2022 23:25:40 +0000 (16:25 -0700)]
Fix unlikely core dump with Xaw
* lwlib/lwlib-Xaw.c (make_dialog): Don’t dump core if calloc fails.
Caught with --enable-gcc-warnings.
Stefan Monnier [Thu, 25 Aug 2022 20:59:30 +0000 (16:59 -0400)]
* lisp/progmodes/cc-langs.el (c-make-no-parens-syntax-table): Fix bug#57065
(c-lang-const c-make-mode-syntax-table) already returns a function,
so quote it to avoid double evaluation since it could fail if the
function is not self-evaluating, such as when it's a symbol or
a value of the form (closure ...).
Eli Zaretskii [Thu, 25 Aug 2022 19:07:04 +0000 (22:07 +0300)]
; * etc/DEBUG: Fix wording of "X protocol errors" section.
Eli Zaretskii [Thu, 25 Aug 2022 18:56:50 +0000 (21:56 +0300)]
; * etc/NEWS: Fix wording of a recently-added entry.
Eli Zaretskii [Thu, 25 Aug 2022 18:51:23 +0000 (21:51 +0300)]
; * lisp/progmodes/grep.el (grep-command-position): Doc fix.
Stefan Kangas [Thu, 25 Aug 2022 18:01:00 +0000 (20:01 +0200)]
; Delete some commented out code from linum.el
* lisp/linum.el (linum-mode): Delete code commented out since
2009.
Stefan Kangas [Thu, 25 Aug 2022 16:46:48 +0000 (18:46 +0200)]
Improve explanation of init file in FAQ
* doc/misc/efaq.texi (Setting up a customization file): Improve
and update section to reflect current behavior. Add
cross-references back to this section.
* doc/emacs/custom.texi (Init File): Add comment to remind about
also updating the FAQ.
Ref: https://lists.gnu.org/r/emacs-devel/2022-08/msg01056.html
Stefan Kangas [Thu, 25 Aug 2022 16:06:30 +0000 (18:06 +0200)]
Don't refer to Emacs 24.3 or older in FAQ
* doc/misc/efaq.texi: Don't say that the FAQ has been edited.
(Displaying the current line or column, Automatic indentation)
(Problems with very large files, Emacs for other operating systems)
(Right-to-left alphabets, Expanding aliases when sending mail): Remove
references to Emacs 24.3 or older.
(Learning how to do something): Don't include the reference card
price; it is currently incorrect and is likely to be incorrect again
in the future.
Robert Pluim [Thu, 25 Aug 2022 16:13:16 +0000 (18:13 +0200)]
Treat smtp-auth method from auth-info as a symbol
The lookup of the SMTP auth method is done based on symbols, but
sometimes the requested value comes from `auth-info', in which case it
is a string, so call `intern-soft' to convert it to a symbol (which
does nothing if it's already a symbol).
* lisp/mail/smtpmail.el (smtpmail-try-auth-methods): Call
`intern-soft' on the smtp-auth key's value. (Bug#57373)
Do not merge to master
Stefan Kangas [Thu, 25 Aug 2022 15:15:39 +0000 (17:15 +0200)]
* lisp/wdired.el: Improve "Commentary" section.
Stefan Kangas [Thu, 25 Aug 2022 15:11:05 +0000 (17:11 +0200)]
* lisp/wdired.el: Doc fix; don't mention obsolete variable.
Stefan Kangas [Tue, 23 Aug 2022 14:18:57 +0000 (16:18 +0200)]
* lisp/progmodes/etags.el (next-file): Minor doc fix.
Lars Ingebrigtsen [Thu, 25 Aug 2022 15:02:34 +0000 (17:02 +0200)]
Add a new user option grep-command-position
* lisp/progmodes/grep.el (grep-command): Mention it.
(grep-command-position): New user option.
(grep): Use it (bug#50502).
Lars Ingebrigtsen [Thu, 25 Aug 2022 14:38:14 +0000 (16:38 +0200)]
Document how :map and :scale interacts in image maps
* doc/lispref/display.texi (Image Descriptors): Mention problems
with scaling (bug#50487).
Stefan Kangas [Thu, 25 Aug 2022 14:23:50 +0000 (16:23 +0200)]
Fix generalized variable documentation for recent change
* doc/lispref/variables.texi (Setting Generalized Variables): Delete
obsolete generalized variable 'frame-width'.
Lars Ingebrigtsen [Thu, 25 Aug 2022 14:20:07 +0000 (16:20 +0200)]
Make a prefix go to the previous error
* lisp/textmodes/flyspell.el (flyspell-goto-next-error): Make a
prefix find the previous error (bug#50443).
Lars Ingebrigtsen [Thu, 25 Aug 2022 14:00:27 +0000 (16:00 +0200)]
Mention C-x C-q + revert change in NEWS
Robert Pluim [Thu, 25 Aug 2022 09:47:57 +0000 (11:47 +0200)]
Treat smtp-auth method from auth-info as a symbol
The lookup of the SMTP auth method is done based on symbols, but
sometimes the requested value comes from `auth-info', in which case it
is a string, so call `intern-soft' to convert it to a symbol (which
does nothing if it's already a symbol).
* lisp/mail/smtpmail.el (smtpmail-try-auth-methods): Call
`intern-soft' on the smtp-auth key's value. (Bug#57373)
Kien Nguyen [Wed, 24 Aug 2022 14:19:35 +0000 (23:19 +0900)]
Allow symlink creation on MS-Windows without Administrator privileges
* src/w32.c (symlink): Use the
SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE flag when available.
(Bug#57386)
Lars Ingebrigtsen [Thu, 25 Aug 2022 12:54:49 +0000 (14:54 +0200)]
Fix warning about obsoleted generalized variables
* lisp/emacs-lisp/bytecomp.el (byte-compile-warn-obsolete):
Autoload so that the call here from gv.el (about obsolete
generalized variables) doesn't bug out (bug#57394).
Lars Ingebrigtsen [Thu, 25 Aug 2022 12:42:59 +0000 (14:42 +0200)]
Make frame-width obsolete as a generalized variable
* lisp/emacs-lisp/gv.el (frame-width): Make obsolete as
generalized variable.
Daniel Martín [Thu, 25 Aug 2022 12:37:36 +0000 (14:37 +0200)]
Fix instrumented eval-defun not printing "Edebug:" to the echo area
* lisp/progmodes/elisp-mode.el (elisp--eval-defun): Determine if we're
instrumenting a function and call eval-region with PRINTFLAG set to
nil if so (Bug#50245).
* test/lisp/progmodes/elisp-mode-tests.el
(eval-defun-prints-edebug-when-instrumented): Add a new test.
Lars Ingebrigtsen [Thu, 25 Aug 2022 12:29:43 +0000 (14:29 +0200)]
Add hideshow-test.el file (bug#56635)
kobarity [Thu, 25 Aug 2022 12:29:10 +0000 (14:29 +0200)]
Add Python blocks support for hideshow
* lisp/progmodes/python.el (python-nav-beginning-of-block-regexp):
New variable.
(python-hideshow-forward-sexp-function): Change to call
`python-nav-end-of-block'.
(python-hideshow-find-next-block): New function to be used as
FIND-NEXT-BLOCK-FUNC in `hs-special-modes-alist'.
(python-info-looking-at-beginning-of-block): New function to be
used as LOOKING-AT-BLOCK-START-P-FUNC in `hs-special-modes-alist'.
(python-mode): Change settings of `hs-special-modes-alist'.
* test/lisp/progmodes/python-tests.el
(python-hideshow-hide-levels-1): Fix to keep empty lines.
(python-info-looking-at-beginning-of-block-1)
(python-hideshow-hide-levels-3, python-hideshow-hide-levels-4)
(python-hideshow-hide-all-1, python-hideshow-hide-all-2)
(python-hideshow-hide-all-3, python-hideshow-hide-block-1): New
tests (bug#56635).
kobarity [Thu, 25 Aug 2022 12:28:22 +0000 (14:28 +0200)]
Extend `hs-special-modes-alist' for languages such as Python
* lisp/progmodes/hideshow.el (hs-special-modes-alist): Add
elements FIND-BLOCK-BEGINNING-FUNC, FIND-NEXT-BLOCK-FUNC, and
LOOKING-AT-BLOCK-START-P-FUNC.
(hs-find-block-beginning-func): New variable to hold
FIND-BLOCK-BEGINNING-FUNC.
(hs-find-next-block-func): New variable to hold
FIND-NEXT-BLOCK-FUNC.
(hs-looking-at-block-start-p-func): New variable to hold
LOOKING-AT-BLOCK-START-P-FUNC.
(hs-grok-mode-type): Set new variables from
`hs-special-modes-alist'.
(hs-find-next-block): New function.
(Misc.): Update callers of the above functions.
* test/lisp/progmodes/hideshow-tests.el: New test file (bug#56635).
Lars Ingebrigtsen [Thu, 25 Aug 2022 12:18:45 +0000 (14:18 +0200)]
Allow not deleting the config.cache file with "make FAST=true bootstrap"
* Makefile.in: Add some commentary about make bootstrap,
./configure -C and FASTo
(top_bootclean): Don't delete config.cache here.
(top_distclean): Delete it here instead.
(bootstrap-clean): Allow not deleting the cache file.
* admin/emake (cores): Adjust.
Andreas Schwab [Thu, 25 Aug 2022 07:51:40 +0000 (09:51 +0200)]
* configure.ac: Move AC_LANG_PUSH/POP out of AC_CACHE_CHECK. (Bug#57380)
(cherry picked from commit
ce82300221f270241fdda1f5dfb567bdb1208543)
Michael Albinus [Thu, 25 Aug 2022 09:08:48 +0000 (11:08 +0200)]
Minor fixes in tramp-tests.el
* test/lisp/net/tramp-tests.el (tramp--test-deftest-with-stat)
(tramp--test-deftest-with-perl)
(tramp--test-deftest-with-ls): Skip if underlying test didn't run
or lasted too long.
(tramp--test-shell-file-name): Do not depend on `tramp--test-adb-p'.
Andreas Schwab [Thu, 25 Aug 2022 07:51:40 +0000 (09:51 +0200)]
* configure.ac: Move AC_LANG_PUSH/POP out of AC_CACHE_CHECK. (Bug#57380)
Po Lu [Thu, 25 Aug 2022 04:24:34 +0000 (12:24 +0800)]
Fix various problems with mouse highlight on XI2 builds
* src/dispextern.h (reset_mouse_highlight): Fix coding style.
* src/xterm.c (xi_position_changed): New functions.
(xi_report_motion_window_clear, handle_one_xevent): Don't report
motion events if the pixel position did not actually change.
* src/xterm.h (struct xi_device_t): New fields
`last_motion_window', `last_motion_x' and `last_motion_y'.
Dmitry Gutov [Wed, 24 Aug 2022 22:15:24 +0000 (01:15 +0300)]
vc-merge: Look for 'merge-file' instead of 'merge'
* lisp/vc/vc.el (vc-merge):
Look for 'merge-file' in second clause (bug#50258).
Alan Mackenzie [Wed, 24 Aug 2022 19:27:32 +0000 (19:27 +0000)]
C++ Mode - Fontify "class Foo {\n ~Foo() noexcept;" correctly
This fixes bug #49787.
* lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): (In `if' form just
before CASE 8) Remove the (not ...) around the (looking-at
c-after-suffixed-type-maybe-decl-key).
* lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare): Add
`c-not-decl' to the values of c-type which are erased at the start of a
fontification.
Eli Zaretskii [Wed, 24 Aug 2022 16:19:33 +0000 (19:19 +0300)]
Fix handling of UNCs in 'parse-colon-path
* lisp/files.el (parse-colon-path): Don't remove the second
leading slash on systems that support UNCs. (Bug#57353)
* test/lisp/files-tests.el (files-tests-bug-21454): Update
expected results.
(files-colon-path): Add a new test pattern.
Alan Mackenzie [Wed, 24 Aug 2022 14:42:11 +0000 (14:42 +0000)]
CC Mode: Fontify args correctly when arglist closing ) is not on the same line
This fixes bug #56841.
* lisp/progmodes/cc-engine.el (c-forward-declarator): Fix an off-by-one
comparing the position after a c-forward-name with a limit.
* lisp/progmodes/cc-mode.el (c-fl-decl-end): Handle correctly point starting
inside a literal. Insert a missing c-backward-syntactic-ws in the handling of
C++ attributes. Correctly handle an unmatched (. Better handle point
starting inside a [ or (. Tidy up the handling of syntactic whitespace at the
end of the buffer.
Santiago Calandrino [Wed, 24 Aug 2022 11:54:28 +0000 (13:54 +0200)]
Fix string padding in gdb-mi
* lisp/progmodes/gdb-mi.el (gdb-table): Fix string padding in
gdb-mi (bug#57362).
(gdb-pad-string): Unobsolete.
(gdb-table-string): Re-fix string padding.
Copyright-paperwork-exempt: yes
Eli Zaretskii [Wed, 24 Aug 2022 11:45:07 +0000 (14:45 +0300)]
; * lisp/simple.el (read-only-mode): Fix wording of doc string.
Lars Ingebrigtsen [Wed, 24 Aug 2022 11:39:08 +0000 (13:39 +0200)]
Don't lose read-only marking when reverting a view-mode buffer
* lisp/view.el (view--enable): Don't lose read-only-ness when
reverting (bug#35166).
Lars Ingebrigtsen [Wed, 24 Aug 2022 11:33:02 +0000 (13:33 +0200)]
When reverting, preserve the readedness state set by `C-x C-q'
* lisp/files.el (revert-buffer): Save the user's intention in a
variable (bug#50431).
* lisp/simple.el (read-only-mode): Use it.
Po Lu [Wed, 24 Aug 2022 11:10:44 +0000 (19:10 +0800)]
Fix input extension focus tracking with some window managers
* src/xterm.c (handle_one_xevent): If a window manager sends us
FocusIn and FocusOut with XSendEvent (they do that), don't
detect focus changes when XInput 2 is enabled. The X server
will tell us the actual truth if the focus really did change.
Stefan Kangas [Wed, 24 Aug 2022 04:38:36 +0000 (06:38 +0200)]
Make mh-colors-available-p obsolete
* lisp/mh-e/mh-utils.el (mh-colors-available-p): Redefine as
obsolete function alias for 'display-color-p'.
Stefan Kangas [Wed, 24 Aug 2022 04:06:39 +0000 (06:06 +0200)]
Prefer saying "init file" to ".emacs" in FAQ
* doc/misc/efaq.texi: Prefer saying "init file" to
".emacs". (Bug#49424)
Stefan Kangas [Wed, 24 Aug 2022 03:26:18 +0000 (05:26 +0200)]
; Sort list of generalized variables
* doc/lispref/variables.texi (Setting Generalized Variables): Sort
list of generalized variables alphabetically.
Stefan Kangas [Tue, 5 Oct 2021 17:52:23 +0000 (19:52 +0200)]
Use substitute-command-keys in a few more places
* lisp/indent.el (edit-tab-stops):
* lisp/printing.el (pr-help-message, pr-show-setup):
* lisp/progmodes/cperl-mode.el (cperl-narrow-to-here-doc): Use
substitute-command-keys.
Stefan Kangas [Tue, 23 Aug 2022 18:27:56 +0000 (20:27 +0200)]
Move generalized variable `substring' doc to elisp manual
* doc/misc/cl.texi (Setf Extensions): Move documentation on
'substring' generalized variable from here...
* doc/lispref/variables.texi (Setting Generalized Variables):
...to here.
Stefan Kangas [Tue, 23 Aug 2022 18:15:49 +0000 (20:15 +0200)]
Move generalized variable docs to elisp manual
* doc/misc/cl.texi (Setf Extensions): Delete documentation on obsolete
generalized variable 'buffer-substring'. Move documentation on
generalized variables from here...
* doc/lispref/variables.texi (Setting Generalized Variables):
...to here. These variables have already been moved to gv.el.
Eli Zaretskii [Tue, 23 Aug 2022 16:30:18 +0000 (19:30 +0300)]
; * src/buffer.h (struct buffer_text): Improve commentary.
Stefan Kangas [Tue, 23 Aug 2022 16:16:01 +0000 (18:16 +0200)]
Update documentation for obsolete generalized variables
* doc/misc/cl.texi (Setf Extensions): Delete obsolete generalized
variables from list.
* etc/NEWS: Fix sorting of obsolete generalized variables.
Gregory Heytings [Tue, 23 Aug 2022 15:41:05 +0000 (15:41 +0000)]
Improve detection of long lines.
* src/buffer.h (struct buffer_text): New field.
(BUF_CHARS_UNCHANGED_MODIFIED, CHARS_UNCHANGED_MODIFIED): New macros.
* src/buffer.c (Fget_buffer_create): Initialize the new field.
* src/xdisp.c (mark_window_display_accurate_1): Set the new field.
(redisplay_window): Use it, together with CHARS_MODIFF, instead of
MODIFF and UNCHANGED_MODIFIED to decide whether to check for long
lines.
* src/pdumper.c (dump_buffer): Dump the new field.
Stefan Kangas [Tue, 23 Aug 2022 15:41:47 +0000 (17:41 +0200)]
; * etc/NEWS: Remove redundant headlines.
This is all about the new Haiku support, so it can be under the same
headline.
Lars Ingebrigtsen [Tue, 23 Aug 2022 15:04:43 +0000 (17:04 +0200)]
Add NEWS entry about obsoleted generalized variables
Stefan Kangas [Tue, 23 Aug 2022 14:34:01 +0000 (16:34 +0200)]
Make XEmacs compat alias face-background-pixmap obsolete
* lisp/faces.el (face-background-pixmap)
(set-face-background-pixmap): Make XEmacs compat aliases obsolete in
favor of 'face-stipple' and 'set-face-stipple'. Update callers.
* lisp/emacs-lisp/gv.el (face-background-pixmap): Make XEmacs
alias obsolete as a generalized variable.
(face-stipple): New generalized variable.
* doc/misc/cl.texi (Setf Extensions): Refer to above new generalized
variable instead of the obsolete one.
Stefan Kangas [Tue, 23 Aug 2022 14:20:25 +0000 (16:20 +0200)]
; Minor doc fix in easy-menu-{add,remove}
* lisp/emacs-lisp/easymenu.el (easy-menu-remove, easy-menu-add):
Minor doc fix: don't explain what this does in XEmacs.
Stefan Monnier [Tue, 23 Aug 2022 14:15:48 +0000 (10:15 -0400)]
* lisp/progmodes/elisp-mode.el (elisp--local-variables-1): Fix bug#50034
Don't burp if the arg list of a function is not actually a list.
Stefan Kangas [Tue, 23 Aug 2022 13:56:32 +0000 (15:56 +0200)]
Make Emacs 20 compat alias obsolete in eudcb-ldap.el
* lisp/net/eudcb-ldap.el (eudc-ldap-get-host-parameter): Make
Emacs 20 compat alias obsolete.
Gerd Möllmann [Tue, 23 Aug 2022 13:50:25 +0000 (15:50 +0200)]
Fix pixel-scroll-precision in a corner case
* lisp/pixel-scroll.el (pixel-scroll-precision-scroll-up-page): Handle
case that point cannot be found.
(pixel-scroll-precision-scroll-up): Handle case that window is one line high
(bug#57349)
Po Lu [Tue, 23 Aug 2022 12:56:12 +0000 (20:56 +0800)]
; * src/xterm.c (x_free_frame_resources): Fix typo.
Po Lu [Tue, 23 Aug 2022 12:52:41 +0000 (20:52 +0800)]
Make frame synchronization conditional on clock_gettime
* src/xfns.c (x_set_parent_frame)
(x_set_use_frame_synchronization):
* src/xterm.c (x_update_begin, show_back_buffer, x_update_end)
(x_display_set_last_user_time, handle_one_xevent):
* src/xterm.h (struct x_output): Define out vsync code when
!HAVE_CLOCK_GETTIME. (bug#57346)
Po Lu [Tue, 23 Aug 2022 12:42:28 +0000 (20:42 +0800)]
Make frame synchronization conditional on clock_gettime
* src/xfns.c (x_set_parent_frame)
(x_set_use_frame_synchronization):
* src/xterm.c (x_update_begin, show_back_buffer, x_update_end)
(x_display_set_last_user_time, handle_one_xevent):
* src/xterm.h (struct x_output): Define out vsync code when
!HAVE_CLOCK_GETTIME.
Lars Ingebrigtsen [Tue, 23 Aug 2022 10:49:13 +0000 (12:49 +0200)]
Disable a lisp-mode test that now fails
* test/lisp/emacs-lisp/lisp-mode-tests.el
(test-lisp-current-defun-name): Comment-out now-failing tests.
Lars Ingebrigtsen [Tue, 23 Aug 2022 10:26:24 +0000 (12:26 +0200)]
Revert the changes to lisp-current-defun-name
* lisp/emacs-lisp/lisp-mode.el (lisp-current-defun-name): Revert
back to the old version before bug#49592. The new approach just
doesn't work well enough -- we don't really have the data to know
that, say, `make-obsolete-variable' is about the second symbol and
not the first.
Lars Ingebrigtsen [Tue, 23 Aug 2022 10:23:09 +0000 (12:23 +0200)]
Don't mention obsolete generalized variables in *Help*
* lisp/help-fns.el (help-fns--generalized-variable): Don't mention
obsolete ones.
Lars Ingebrigtsen [Tue, 23 Aug 2022 10:22:42 +0000 (12:22 +0200)]
Make buffer-local-value obsolete as a generalized variable
* lisp/electric.el (electric-indent-local-mode)
(electric-layout-local-mode, electric-quote-local-mode):
* lisp/elec-pair.el (electric-pair-local-mode): Adjust usage.
* lisp/emacs-lisp/gv.el (make-obsolete-generalized-variable): Move
since we're using it earlier in the file.
(buffer-local-value): Make obsolete as a generalized variable
since the semantics are unclear (bug#26624).
Thierry Volpiatto [Tue, 23 Aug 2022 10:03:22 +0000 (12:03 +0200)]
Fix wdired with (dired '(dir f1 f2 ...))
* lisp/wdired.el (wdired-finish-edit): Fix wdired with (dired
'(dir f1 f2 ...)) (bug#57334).