Po Lu [Fri, 31 Dec 2021 13:08:23 +0000 (21:08 +0800)]
Fix copyright dates in some files belonging to the pgtk port
* src/pgtkgui.h:
* src/pgtkim.c:
* src/pgtkmenu.c:
* src/pgtkselect.c:
* src/pgtkselect.h:
* src/pgtkterm.c:
* src/pgtkterm.h: Fix copyright dates to say '2021'.
Po Lu [Fri, 31 Dec 2021 13:03:07 +0000 (13:03 +0000)]
On Haiku, sync a frames's connection to the app sever after raising
* src/haiku_support.h: (BWindow_sync)
* src/haiku_support.cc (BWindow_sync): New function.
* src/haikuterm.c (haiku_frame_raise_lower): Synchronize window
after raising it to avoid situations where raising windows is
done out-of-order, such as when ediff raises a frame.
Po Lu [Fri, 31 Dec 2021 10:59:53 +0000 (10:59 +0000)]
Fix child frame unlinking on Haiku
* src/haiku_support.cc (UnlinkChild): Fix obvious mistake.
(DoMove): Lock child frame window before moving it.
Po Lu [Fri, 31 Dec 2021 09:38:41 +0000 (09:38 +0000)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Po Lu [Fri, 31 Dec 2021 09:31:27 +0000 (09:31 +0000)]
Use a single global lock for the child frame state on Haiku
Each BWindows (and various system callbacks) runs in a separate
thread, so there are very complicated locking semantics that
used to be handled manually. This changes child frame state to
use a single global lock, which makes things much easier.
* src/haiku_support.cc (child_frame_lock): New variable.
(class EmacsWindow):
(~EmacsWindow):
(Unparent):
(ParentTo):
(MoveChild):
(FrameMoved):
(EmacsHide):
(EmacsShow):
(GetParentWidthHeight):
(OffsetChildRect):
(MakeFullscreen):
(SetUpDoubleBuffering): Use a single lock for controlling access
to child frame state.
Stephen Berman [Fri, 31 Dec 2021 09:25:52 +0000 (10:25 +0100)]
Fix handling of webkit xwidget bookmarks
Make jumping to a bookmarked webkit xwidget in another window or
another frame show the xwidget only in that window or frame and
refactor new session code used by the bookmark code (bug#52856).
In addition, make xwidget-webkit-clone-* commands work.
* lisp/xwidget.el (xwidget-webkit-clone-and-split-below)
(xwidget-webkit-clone-and-split-right): Unbreak these functions by
passing just the URL to them, not the message displaying it.
(xwidget-webkit-bookmark-jump-new-session): Adjust doc string,
rephrasing and removing a customization suggestion that cannot
take effect.
(xwidget-webkit-bookmark-jump-handler): New autoloaded function.
(xwidget-webkit-bookmark-make-record): Use it.
(xwidget-webkit--create-new-session-buffer): New function
extracted from `xwidget-webkit-new-session'.
(xwidget-webkit-new-session): Use it.
Eli Zaretskii [Fri, 31 Dec 2021 08:56:28 +0000 (10:56 +0200)]
Minor improvements of 'lisp-directory' docs
* lisp/startup.el (lisp-directory):
* etc/NEWS:
* doc/lispref/loading.texi (Library Search): Improve wording of
documentation of 'lisp-directory' and related features.
Po Lu [Fri, 31 Dec 2021 07:29:30 +0000 (07:29 +0000)]
Prevent double buffering from being disabled on USE_BE_CAIRO builds
The direct rendering code used in that situation never
completely worked, and the BDirectWindow destructor is also
buggy. Completely remove that code in order to let us inherit
from BWindow, so as to prevent the buggy destructor from being
run.
* src/haiku_support.cc (cairo_format_from_color_space): Delete
function.
(class EmacsWindow): Inherit from BWindow.
(EmacsWindow): Call BWindow constructor instead.
(MessageReceived):
(DispatchMessage):
(FrameResized):
(FrameMoved):
(Zoom): Call BWindow functions instead.
(EmacsView_cairo_surface): Stop looking for surfaces in the
window.
(EmacsWindow_begin_cr_critical_section):
(EmacsWindow_end_cr_critical_section): Stop locking the window.
* src/haikufns.c (haiku_set_inhibit_double_buffering): Always
enable double buffering on Cairo builds.
Po Lu [Fri, 31 Dec 2021 06:04:40 +0000 (14:04 +0800)]
Don't select for gesture events on xwidgets if the server is too old
* src/xwidget.c (x_draw_xwidget_glyph_string): Only select for
XI gesture events if the server supports XI 2.4 or later.
Stefan Monnier [Fri, 31 Dec 2021 05:16:03 +0000 (00:16 -0500)]
(Fmake_finalizer): Check the arg is a function
* src/eval.c (syms_of_eval): Add `Qfunctionp`.
* src/alloc.c (Fmake_finalizer): Check the arg is a function.
Stefan Monnier [Fri, 31 Dec 2021 05:03:35 +0000 (00:03 -0500)]
* lisp/emacs-lisp/package.el (package-get-version): Add fallback
Stefan Monnier [Fri, 31 Dec 2021 04:17:45 +0000 (23:17 -0500)]
Don't store docstrings of preloaded .el files in etc/DOC
Since the location of those files changes between build time and
installation time, this requires to tweak the file name used in those
(#$ . NNN) references during the dump so they don't hardcode the build
directory. We do it in the same way as was already done for those
same file names in `load-history`, except we convert them back to
absolute file names more lazily (i.e. when fetching the actual
docstring rather than at startup), which requires remembering the
`lisp-dir` computed at startup in the new `lisp-directory` variable.
* src/Makefile.in ($(etc)/DOC): Don't scan Lisp files any more.
* src/lread.c (Fload): Use relative file names for `load-file-name`
when preloading for the dump, like we already did for `current-load-list`.
(read_list): Don't zero-out dynamic docstring references during the
preload since they won't be filled later by Snarf-documentation any more.
(read1): Remove the hash-hack for doc references that were zeroed.
* lisp/startup.el (lisp-directory): New variable.
(command-line): Set it.
* src/doc.c (get_doc_string): Use `lisp-directory` for dynamic
docstring references using relative file names.
(syms_of_doc): Add `Qlisp_directory`.
* lib-src/make-docfile.c (scan_file): Don't handle `.el` or `.elc`
files any more.
(IS_SLASH): Remove macro, not used any more.
(skip_white, read_lisp_symbol, search_lisp_doc_at_eol)
(scan_lisp_file): Remove functions, not used any more.
* doc/lispref/loading.texi (Library Search): Mention `lisp-directory`.
Po Lu [Fri, 31 Dec 2021 02:07:30 +0000 (10:07 +0800)]
Add pinch event support to xwidgets
* src/xterm.c (handle_one_xevent): Pass through pinch events to
xwidgets and provide root coordinates when translating motion
events.
* src/xwidget.c (xwidget_motion_notify): Use provided root
window coordinates.
(xwidget_pinch): New function.
* src/xwidget.h (xwidget_motion_notify): Update prototype.
(xwidget_pinch): New function prototype.
Po Lu [Fri, 31 Dec 2021 01:27:12 +0000 (09:27 +0800)]
Restore original xwidget embedder after performing a lispy event
* src/xwidget.c (Fxwidget_perform_lispy_event): Restore original
embedder after performing event.
(Fdelete_xwidget_view): Block input around non-reentrant
section.
Po Lu [Fri, 31 Dec 2021 01:18:56 +0000 (09:18 +0800)]
* src/xwidget.c (Fxwidget_perform_lispy_event): Use FRAME_WINDOW_P.
Glenn Morris [Thu, 30 Dec 2021 17:25:02 +0000 (09:25 -0800)]
* lisp/window.el (display-comint-buffer-action): Fix type.
Philipp Stephani [Thu, 30 Dec 2021 16:59:07 +0000 (17:59 +0100)]
* lisp/emacs-lisp/ert.el (ert-select-tests): Document new error.
Philipp Stephani [Thu, 30 Dec 2021 16:18:54 +0000 (17:18 +0100)]
* lisp/emacs-lisp/ert.el (ert-select-tests): Simplify nested switch
Philipp Stephani [Thu, 30 Dec 2021 15:59:16 +0000 (16:59 +0100)]
Properly report errors about unbound ERT test symbols.
Assertions should only be used to check internal consistency within a
package, not to check arguments passed by callers. Instead, define
and use a new error symbol.
* lisp/emacs-lisp/ert.el (ert-test-unbound): New error symbol.
(ert-select-tests): Use it.
* test/lisp/emacs-lisp/ert-tests.el (ert-test-select-undefined): New
unit test.
* etc/NEWS: Document new behavior.
Philipp Stephani [Thu, 30 Dec 2021 15:22:32 +0000 (16:22 +0100)]
; * lisp/emacs-lisp/ert.el: Update reference to 'cl-assert'
Eli Zaretskii [Thu, 30 Dec 2021 14:44:13 +0000 (16:44 +0200)]
Fix multisession-tests on MS-Windows
* test/lisp/emacs-lisp/multisession-tests.el
(multi-test-files-simple): On MS-Windows and Haiku, wait before
invoking the Emacs sub-process, not after, to ensure the later
update is detected with 1-sec file time resolution.
Po Lu [Thu, 30 Dec 2021 11:43:58 +0000 (19:43 +0800)]
Make sure widget buttons always have a left box line
* lisp/wid-edit.el (widget-specify-button): Add an invisible
before-string to the button overlay. (bug#51550)
Alan Mackenzie [Thu, 30 Dec 2021 11:32:25 +0000 (11:32 +0000)]
CC Mode: Prevent rapid alternation of fontification of "found types"
This fixes bug #52863.
* lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): When a new type is
found, postpone entering it into c-found-types (and thus triggering the
fontification of that type throughout the buffer) until the end of the
function, when we're sure that the "type" found actually is a type.
Eli Zaretskii [Thu, 30 Dec 2021 11:32:14 +0000 (13:32 +0200)]
Fix previous change in 'pop_it'
* src/xdisp.c (restore_face_box_flags): New function.
(pop_it): Use 'restore_face_box_flags'. (Bug#51550)
Eli Zaretskii [Thu, 30 Dec 2021 11:21:01 +0000 (13:21 +0200)]
Fix start-of-box-face display after display and overlay strings
* src/xdisp.c (pop_it): Recompute the 'start_of_box_run_p' flag,
like we do in 'handle_fontified_prop', when faces change while
iterating over a buffer or string. (Bug#51550)
Juri Linkov [Thu, 30 Dec 2021 08:08:37 +0000 (10:08 +0200)]
* lisp/tab-line.el (tab-line-tab-name-format-default): Add help-echo.
(bug#52889)
Po Lu [Thu, 30 Dec 2021 07:04:18 +0000 (15:04 +0800)]
Make xwidget motion commands hscroll the window of wide widgets
* lisp/xwidget.el (xwidget-info): New function declaration.
(xwidget-webkit-scroll-forward):
(xwidget-webkit-scroll-backward): Hscroll the window if the
widget is wider than the text area. (bug#52885)
* src/xwidget.c (xwidget_scroll, xwidget_motion_notify): Apply
clip offsets to coordinates.
Stefan Kangas [Thu, 30 Dec 2021 05:30:43 +0000 (06:30 +0100)]
Merge from origin/emacs-28
06545bc0cc CC Mode: c-update-brace-stack: After struct foo *, do not ...
f11779f01b Improve documentation of 'M-X' and related features
# Conflicts:
# etc/NEWS
Po Lu [Thu, 30 Dec 2021 03:18:42 +0000 (11:18 +0800)]
Work around xwidgets releasing the passive grab on an entry event
* src/xterm.c (handle_one_xevent): Don't send XI_Enter events to
xwidgets if button 1 is pressed.
Po Lu [Thu, 30 Dec 2021 02:04:29 +0000 (10:04 +0800)]
Use XRandR 1.5 to generate monitor attributes if available
* src/xfns.c (x_get_monitor_attributes_xrandr): Use XRR 1.5 if
present.
(xlw_monitor_dimensions_at_pos_1): Remove redundant XRR 1.5
code.
(xlw_monitor_dimensions_at_pos): Rely on
`x_get_monitor_attributes_xrandr' to retrieve the workarea
instead.
Po Lu [Thu, 30 Dec 2021 01:24:30 +0000 (09:24 +0800)]
Translate crossing event mode when sending them to xwidgets
* src/xwidget.c (xi_translate_notify_detail): Use XI constants
instead.
(xwidget_motion_or_crossing): Translate XI entry event mode.
Juri Linkov [Wed, 29 Dec 2021 19:10:04 +0000 (21:10 +0200)]
* lisp/textmodes/paragraphs.el (repunctuate-sentences-filter): New function.
(repunctuate-sentences): Use it on isearch-filter-predicate
to skip unnecessary matches. (bug#52769)
Alan Mackenzie [Wed, 29 Dec 2021 19:05:11 +0000 (19:05 +0000)]
CC Mode: c-update-brace-stack: After struct foo *, do not expect a brace.
This fixes bug #52796.
* lisp/progmodes/cc-engine.el (c-update-brace-stack): Handle a "*" like a
semicolon, cancelling the expectation of a brace.
* lisp/progmodes/cc-langs.el (c-brace-stack-thing-key): Add a "*" into the
sets of significant characters.
Juri Linkov [Wed, 29 Dec 2021 18:52:11 +0000 (20:52 +0200)]
* lisp/textmodes/sgml-mode.el (sgml-mode): Set skeleton-end-newline to nil.
Prevent skeleton.el from adding a newline to each inserted
skeleton. Those which do want a newline do that explicitly in
their define-skeleton form. This is what texinfo-mode does (bug#52864).
Eli Zaretskii [Wed, 29 Dec 2021 18:25:02 +0000 (20:25 +0200)]
; * lisp/replace.el (replace-regexp-function): Doc fix. (Bug#52558)
Eli Zaretskii [Wed, 29 Dec 2021 17:45:06 +0000 (19:45 +0200)]
Fix documentation of 'define-keymap'
* doc/lispref/keymaps.texi (Creating Keymaps)
(Changing Key Bindings): Fix typos, improve wording.
Eli Zaretskii [Wed, 29 Dec 2021 17:30:23 +0000 (19:30 +0200)]
Fix recent changes in 'keymap-lookup' documentation
* doc/lispref/keymaps.texi (Functions for Key Lookup): Improve
wording, correct typos.
Tassilo Horn [Wed, 29 Dec 2021 17:00:52 +0000 (18:00 +0100)]
Revert "Revert "Fix fontification in diff--font-lock-prettify""
This reverts commit
3cadd72673d8095df7eeb8e847db87ae42b5e2f6.
Tassilo Horn [Wed, 29 Dec 2021 17:00:30 +0000 (18:00 +0100)]
Revert "Fix fontification in diff--font-lock-prettify"
This reverts commit
1da392d62d1ae743151f7fda83d0725ec6053686.
Matthias Meulien [Wed, 29 Dec 2021 16:25:35 +0000 (17:25 +0100)]
Fix fontification in diff--font-lock-prettify
* lisp/vc/diff-mode.el (diff--font-lock-prettify): Fix
diff--font-lock-prettify on created or deleted files
(bug#52810).
Lars Ingebrigtsen [Wed, 29 Dec 2021 16:20:08 +0000 (17:20 +0100)]
Document keymap-set-after in Modifying Menus in lispref
* doc/lispref/keymaps.texi (Modifying Menus): Document
keymap-set-after (bug#52819).
Lars Ingebrigtsen [Wed, 29 Dec 2021 16:11:31 +0000 (17:11 +0100)]
Document `keymap-lookup' in the lipsref manual
* doc/lispref/keymaps.texi (Functions for Key Lookup): Document
`keymap-lookup' instead of `lookup-key' (bug#52820).
Lars Ingebrigtsen [Wed, 29 Dec 2021 15:56:16 +0000 (16:56 +0100)]
Move define-keymap manual entry to Creating Keymaps
* doc/lispref/keymaps.texi (Creating Keymaps)
(Changing Key Bindings): Move `define-keymap'/`defvar-keymap' to
the Creating Keymaps node.
Lars Ingebrigtsen [Wed, 29 Dec 2021 15:48:34 +0000 (16:48 +0100)]
Allow the user to specify shr-width in mm-shr
* lisp/gnus/mm-decode.el (mm-shr): Allow the user to specify the
width by setting `shr-width' (bug#52825).
Lars Ingebrigtsen [Wed, 29 Dec 2021 15:09:22 +0000 (16:09 +0100)]
Make multi-test-files-busy shorter
Lars Ingebrigtsen [Wed, 29 Dec 2021 15:06:50 +0000 (16:06 +0100)]
Ignore manual/ directory made by admin/make-manuals
Lars Ingebrigtsen [Wed, 29 Dec 2021 15:06:32 +0000 (16:06 +0100)]
Adjust multi-test-files-simple test for Windows
* test/lisp/emacs-lisp/multisession-tests.el
(multi-test-files-simple): Adjust test to Emacs timestamp
resolution on Windows.
Eli Zaretskii [Wed, 29 Dec 2021 14:39:20 +0000 (16:39 +0200)]
Improve documentation of 'M-X' and related features
* doc/emacs/m-x.texi (M-x): Index 'M-X'.
* doc/lispref/commands.texi (Interactive Call, Command Modes):
Mention 'M-X' and 'execute-extended-command-for-buffer'.
* etc/NEWS: Clarify that the '(declare (completion ...' and
'(declare (modes ...' forms have no effect by default. Likewise
for '(interactive "..." MODE)' specs. (Bug#52839)
Po Lu [Wed, 29 Dec 2021 10:59:47 +0000 (18:59 +0800)]
Fix a hang on servers that don't support the X Keyboard Extension
* src/xfns.c (Fx_backspace_delete_keys_p): Don't block input
before checking for Xkb.
Po Lu [Wed, 29 Dec 2021 10:37:04 +0000 (18:37 +0800)]
Translate state of XI2 entry events when sending them to xwidgets
* src/xwidget.c (xi_translate_notify_detail): New function.
(xwidget_motion_or_crossing): Translate detail and state of
GenericEvents before sending them to the widget.
Po Lu [Wed, 29 Dec 2021 10:06:34 +0000 (18:06 +0800)]
Get rid of obsolete xwidget-related code on PGTK
* src/emacsgtkfixed.c (emacs_fixed_class_init): Stop setting
obsolete methods.
(EMACS_FIXED_GET_CLASS, struct GtkFixedPrivateL):
(emacs_fixed_gtk_widget_size_allocate): Delete obsolete things.
* src/xwidget.c (x_draw_xwidget_glyph_string): Work around
mysterious bug.
Po Lu [Wed, 29 Dec 2021 09:49:42 +0000 (17:49 +0800)]
Test for Xkb support when opening a display
* src/xfns.c (Fx_backspace_delete_keys_p): Use
dpyinfo->supports_xkb instead of testing for its presence
manually.
* src/xterm.c (x_term_init): Test for Xkb presence
and set supports_xkb appropriately.
* src/xterm.h (struct x_display_info): New field `supports_xkb'.
Po Lu [Wed, 29 Dec 2021 06:59:41 +0000 (14:59 +0800)]
Queue xwidget views for allocation in more places
* src/xwidget.c (Fmake_xwidget) [HAVE_PGTK]:
(Fxwidget_resize) [HAVE_PGTK]: Queue xwidgets and views for
allocation.
Po Lu [Wed, 29 Dec 2021 06:37:49 +0000 (14:37 +0800)]
Improve xwidget event handling on XI2
* src/xterm.c (handle_one_xevent): Pass XI2 entry and leave
events to xwidgets and fix scroll valuator reset logic for
xwidgets.
* src/xwidget.c (xwidget_button_1): Stop ungrabbing all devices
XI2 builds.
(xwidget_motion_or_crossing): Learn to pass through XI2 crossing
events.
(x_draw_xwidget_glyph_string): Add crossing events to the XI2
event mask.
Stefan Kangas [Wed, 29 Dec 2021 05:51:46 +0000 (06:51 +0100)]
Merge from origin/emacs-28
06dcd2be5d Improve rectangle-mark-mode documentation regarding mark a...
Po Lu [Wed, 29 Dec 2021 05:30:46 +0000 (13:30 +0800)]
Translate buttons when sending XI2 motion events to xwidgets
* src/xterm.c (handle_one_xevent): Translate all three buttons
when passing XI2 motion events to xwidgets.
Po Lu [Wed, 29 Dec 2021 05:13:15 +0000 (13:13 +0800)]
Use XI2 to handle xwidget button events
* src/xterm.c (handle_one_xevent): Handle xwidget views when
handling XI_ButtonPress or XI_ButtonRelease events.
* src/xwidget.c (x_draw_xwidget_glyph_string): Add appropriate
values to the XI2 event mask.
Po Lu [Wed, 29 Dec 2021 04:59:46 +0000 (12:59 +0800)]
Fix embedder calculation for xwidgets on PGTK
* src/xwidget.c (Fmake_xwidget):
(x_draw_xwidget_glyph_string): Defer focus event synthesis on
PGTK as well.
(record_osr_embedder): Use view window on PGTK.
(to_embedder):
(from_embedder): Rectify accordingly.
Po Lu [Wed, 29 Dec 2021 02:06:37 +0000 (10:06 +0800)]
Fix NS xwidget build
* src/xwidget.c (kill_frame_xwidget_views):
* src/xwidget.h (kill_frame_xwidget_views): Disable on NS.
Po Lu [Wed, 29 Dec 2021 02:01:49 +0000 (10:01 +0800)]
* src/xwidget.c (syms_of_xwidget): Fix typo.
Po Lu [Wed, 29 Dec 2021 01:53:42 +0000 (09:53 +0800)]
Add support for xwidgets to the PGTK port
* src/emacsgtkfixed.c (EMACS_FIXED_GET_CLASS): New function.
(struct GtkFixedPrivateL): New struct.
(emacs_fixed_gtk_widget_size_allocate):
(emacs_fixed_class_init): New functions.
* src/keyboard.h: Declare lispy_function_keys also when
HAVE_PGTK.
* src/pgtkterm.c (x_free_frame_resources): Destroy all xwidget
views.
(pgtk_scroll_run): Move xwidget views that overlap with the
scrolled area.
(pgtk_emacs_to_gtk_modifiers): Expose function.
* src/pgtkterm.h: Wrap in include guard.
(pgtk_emacs_to_gtk_modifiers): New prototype.
* src/xwidget.c (xw_forward_event_translate):
(xw_forward_event_from_view): New functions.
(Fmake_xwidget): Remove obsolete PGTK specific code.
(Fxwidget_perform_lispy_event): Convert modifiers correctly on
PGTK.
(define_cursors): Use GDK functions to define cursors on PGTK.
(xwidget_view_from_window): Disable on non-PGTK builds.
(xwidget_show_view):
(xwidget_hide_view): Implement on PGTK.
(xv_do_draw): Disable on non-PGTK builds.
(offscreen_damage_event): Queue xwidget views for draw.
(xwidget_expose): Disable on non-PGTK builds.
(xwidget_init_view):
(x_draw_xwidget_glyph_string):
(Fdelete_xwidget_view): Implement for PGTK.
(syms_of_xwidget): Don't initialize XID to widget table on PGTK.
(lower_frame_xwidget_views): Disable on PGTK.
* src/xwidget.h (struct xwidget_view): New fields for PGTK
builds.
(kill_frame_xwidget_views): Enable on PGTK.
Stefan Kangas [Wed, 29 Dec 2021 00:21:34 +0000 (01:21 +0100)]
; * doc/misc/gnus.texi (Server Commands): Fix typo.
Sam Steingold [Tue, 28 Dec 2021 22:27:41 +0000 (17:27 -0500)]
Fix bug#52467 by adding a new custom variable 'display-comint-buffer-action'
* lisp/window.el (display-comint-buffer-action): New `defcustom`,
defaults to 'display-buffer-same-window' for backward compatibility.
* lisp/cmuscheme.el (run-scheme, switch-to-scheme): Pass
'display-comint-buffer-action' to 'pop-to-buffer' instead
of using 'pop-to-buffer-same-window'.
* lisp/eshell/eshell.el (eshell): Likewise.
* lisp/shell.el (shell): Likewise.
* lisp/org/ol-eshell.el (org-eshell-open): Likewise.
* lisp/progmodes/inf-lisp.el (inferior-lisp): Likewise.
* lisp/progmodes/project.el (project-shell, project-eshell): Likewise.
* lisp/textmodes/tex-mode.el (tex-display-shell, tex-compile-default)
(tex-recenter-output-buffer): Pass 'display-comint-buffer-action'
to 'pop-to-buffer'.
Philipp Stephani [Tue, 28 Dec 2021 20:05:23 +0000 (21:05 +0100)]
Fix test lisp/cedet/semantic/bovine/gcc-tests on macOS (Bug#52431)
* test/lisp/cedet/semantic/bovine/gcc-tests.el
(semantic-gcc-test-output-parser-this-machine): Also detect Apple
clang on macOS Monterey.
Juri Linkov [Tue, 28 Dec 2021 19:51:54 +0000 (21:51 +0200)]
* lisp/textmodes/paragraphs.el (repunctuate-sentences): Region for NO-QUERY.
Use region boundaries also for the case when NO-QUERY arg is non-nil
(bug#52769).
Juri Linkov [Tue, 28 Dec 2021 19:19:25 +0000 (21:19 +0200)]
* lisp/textmodes/paragraphs.el (repunctuate-sentences): Support region.
Add optional args 'start' and 'end', and pass them as region boundaries
to query-replace-regexp (bug#52769).
Juri Linkov [Tue, 28 Dec 2021 19:14:55 +0000 (21:14 +0200)]
* lisp/replace.el (replace-regexp-function): New function (bug#52558).
(replace-search, replace-highlight): Use it.
Eli Zaretskii [Tue, 28 Dec 2021 18:09:42 +0000 (20:09 +0200)]
; * lisp/term.el (term-goto-process-mark-maybe): Fix typo in doc string.
Eli Zaretskii [Tue, 28 Dec 2021 18:07:54 +0000 (20:07 +0200)]
; * lisp/keymap.el (key-valid-p): Fix wording of doc string.
Eli Zaretskii [Tue, 28 Dec 2021 18:02:07 +0000 (20:02 +0200)]
; * doc/emacs/search.texi (Lax Search): Fix wording.
Eli Zaretskii [Tue, 28 Dec 2021 17:53:42 +0000 (19:53 +0200)]
; * etc/NEWS: Fix punctuation.
Sean Whitton [Mon, 27 Dec 2021 19:58:25 +0000 (12:58 -0700)]
Improve rectangle-mark-mode documentation regarding mark activation
* doc/emacs/killing.texi: Describe how rectangle-mark-mode works when
Transient Mark mode is off. Qualify discussion of
rectangle-exchange-point-and-mark to say that it cycles the four
corners only when the region is active.
* lisp/rect.el (rectangle-mark-mode): State that rectangle-mark-mode
does not activate the mark when Transient Mark mode is off. Reword
sentence about how long the mode lasts to account for when Transient
Mark mode is off. (Bug#42663)
Andrea Corallo [Tue, 28 Dec 2021 11:12:16 +0000 (12:12 +0100)]
* Fix native comp for non trivial function names (bug#52833)
* lisp/emacs-lisp/comp.el (comp-c-func-name): Fix native compilation
for functions with function names containing non trivial
characters (bug#52833).
Stefan Monnier [Tue, 28 Dec 2021 14:44:05 +0000 (09:44 -0500)]
* etc/NEWS (eieio-compat): Rewrite
Po Lu [Tue, 28 Dec 2021 09:53:20 +0000 (17:53 +0800)]
* lwlib/xlwmenu.c (fit_to_screen): Adjust correctly for child menus.
Juri Linkov [Tue, 28 Dec 2021 08:45:27 +0000 (10:45 +0200)]
* lisp/vc/vc.el (vc-revert): Use generate-new-buffer, not just new buffer name
Po Lu [Tue, 28 Dec 2021 07:30:31 +0000 (15:30 +0800)]
Document a problem with IBus and the C-. key
* etc/PROBLEMS: Document an IBus emoji panel problem.
Po Lu [Tue, 28 Dec 2021 06:05:32 +0000 (14:05 +0800)]
Add support for pinch events to NS
* lisp/face-remap.el (text-scale-pinch): Remove mistaken
assumption that angle is always 1.0 at the beginning of
a sequence.
* src/nsterm.c (- magnifyWithEvent): New function.
Stefan Kangas [Tue, 28 Dec 2021 05:30:38 +0000 (06:30 +0100)]
Merge from origin/emacs-28
c0815aca18 Fix typos in in 'reset-language-environment'
ea65de7577 eshell-complete-parse-arguments: don't use string-match on...
Po Lu [Tue, 28 Dec 2021 02:46:58 +0000 (10:46 +0800)]
Fix menu placement on multiple-display setups when using lwlib
* lwlib/xlwmenu.c (fit_to_screen):
(pop_up_menu): Adjust menu position based on dimensions of the
current monitor's workarea. (bug#52809)
* src/xfns.c (x_get_monitor_attributes): Stop testing for the
RandR extension here.
(xlw_monitor_dimensions_at_pos_1):
(xlw_monitor_dimensions_at_pos): New functions.
* src/xterm.c (x_term_init): Query for the RandR extension when
connecting to a display.
* src/xterm.h (xlw_monitor_dimensions_at_pos): New prototype.
Stefan Monnier [Tue, 28 Dec 2021 00:47:23 +0000 (19:47 -0500)]
Replace uniquify.el's advice with direct calls
This fixes bug#1338.
* src/buffer.c (Frename_buffer): Call `uniquify--rename-buffer-advice`.
* lisp/files.el (create-file-buffer):
Call`uniquify--create-file-buffer-advice`.
* lisp/uniquify.el (uniquify--rename-buffer-advice)
(uniquify--create-file-buffer-advice): Don't add them as advice any more.
Adjust their calling convention accordingly.
Po Lu [Tue, 28 Dec 2021 01:28:04 +0000 (09:28 +0800)]
Only rely on passive device grabs on XI2
* src/xterm.c (xi_grab_or_ungrab_device): Remove function.
(handle_one_xevent): Stop setting non-passive grabs.
Stefan Kangas [Mon, 27 Dec 2021 23:09:08 +0000 (00:09 +0100)]
Fix read-multiple-choice tests
* lisp/emacs-lisp/rmc.el (rmc--add-key-description): Fix typo.
* test/lisp/emacs-lisp/rmc-tests.el
(test-rmc--add-key-description)
(test-rmc--add-key-description/with-attributes)
(test-rmc--add-key-description/non-graphical-display): Fix tests.
Stefan Monnier [Mon, 27 Dec 2021 22:24:52 +0000 (17:24 -0500)]
Fix EIEIO tests to account for eieio-compat move
* test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:
* test/lisp/emacs-lisp/eieio-tests/eieio-tests.el:
Require `eieio-compat` explicitly.
* test/manual/cedet/tests/test.el (a-method, a-generic):
* doc/misc/srecode.texi (Compound Dictionary Values):
* doc/misc/ede.texi (ede-generic-project): Update sample code to use
cl-generic syntax.
Stefan Kangas [Mon, 27 Dec 2021 01:44:27 +0000 (02:44 +0100)]
admin.el: Move etc/NEWS to etc/NEWS.NN in one commit
This should preserve git history better for git blame, etc.
* admin/admin.el (admin-git-command): New variable.
(set-version): Move etc/NEWS to etc/NEWS.NN and prompt to commit
it immediately. (Bug#52420)
Stefan Kangas [Mon, 27 Dec 2021 19:30:41 +0000 (20:30 +0100)]
disabled-command: Explain what SPC means again
* lisp/novice.el (disabled-command-function): Explain what SPC means
again, an explanation that was lost in a recent change.
Stefan Kangas [Mon, 27 Dec 2021 19:25:50 +0000 (20:25 +0100)]
read-multiple-choice: Improve key formatting
* lisp/emacs-lisp/rmc.el (rmc--add-key-description): Improve
formatting of key missing in the description. Use face help-key-name
on terminals that can't display underline.
Juri Linkov [Mon, 27 Dec 2021 19:14:00 +0000 (21:14 +0200)]
* etc/NEWS: Mention completion-wrap-movement.
Juri Linkov [Mon, 27 Dec 2021 19:05:19 +0000 (21:05 +0200)]
* doc/emacs/search.texi (Lax Search): Add char-fold-include.
Juri Linkov [Mon, 27 Dec 2021 18:54:18 +0000 (20:54 +0200)]
* lisp/tab-bar.el (tab-bar-history-mode-map): New defvar-keymap.
Michael Albinus [Mon, 27 Dec 2021 18:53:00 +0000 (19:53 +0100)]
The temprary "session" collection might not exist in Secret Service
* doc/misc/auth.texi (Secret Service API):
* test/lisp/net/secrets-tests.el (secrets--test-delete-all-session-items)
(secrets-test02-collections, secrets-test03-items)
(secrets-test04-search): The temporary "session" collection might
not exist.
* lisp/net/secrets.el (secrets-struct-secret-content-type):
Remove compatibility hack.
(secrets-create-item): Adapt accordingly.
Michael Albinus [Mon, 27 Dec 2021 18:51:58 +0000 (19:51 +0100)]
Use `permission-denied' in Tramp tests, and more
* lisp/net/tramp-crypt.el (tramp-crypt-maybe-open-connection):
Simplify code.
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-system-info):
Adapt for "mtp" method.
* test/lisp/net/tramp-tests.el (tramp-test18-file-attributes):
Use `permission-denied' error. Simplify code.
(tramp-test24-file-acl, tramp-test26-file-name-completion):
Simplify code.
Eli Zaretskii [Mon, 27 Dec 2021 17:00:33 +0000 (19:00 +0200)]
Fix typos in in 'reset-language-environment'
* lisp/international/mule-cmds.el (reset-language-environment):
Fix a typo in 'windows-nt'. (Bug#52816)
Stefan Kangas [Mon, 27 Dec 2021 15:24:18 +0000 (16:24 +0100)]
Doc fix; fix terminology in key binding functions
* lisp/keymap.el (keymap-set, key-valid-p):
* lisp/subr.el (define-keymap): Doc fix; improve terminology.
Óscar Fuentes [Mon, 27 Dec 2021 15:01:09 +0000 (16:01 +0100)]
eshell-complete-parse-arguments: don't use string-match on a list
When there is more than one candidate for completion, `val' is a list.
Fixes bug#52794.
* lisp/eshell/em-cmpl.el (eshell-complete-parse-arguments): protect
use of string-match with stringp.
Po Lu [Mon, 27 Dec 2021 09:55:23 +0000 (17:55 +0800)]
Fix precision scrolling inside terminal buffers
* lisp/term.el (term-goto-process-mark-maybe): Don't move point
to process mark if the event is a vertical wheel event.
Stefan Monnier [Mon, 27 Dec 2021 06:57:25 +0000 (01:57 -0500)]
* lisp/emacs-list/eieio-compat.el: Really move to obsolete
Stefan Kangas [Mon, 27 Dec 2021 05:32:28 +0000 (06:32 +0100)]
Merge from origin/emacs-28
d4e2850b32 Update to Org 9.5.2-3-geb9f34
Po Lu [Mon, 27 Dec 2021 04:43:11 +0000 (12:43 +0800)]
* src/pgtkterm.c (pgtk_handle_event): Add pinch event support.
Stefan Kangas [Mon, 27 Dec 2021 02:07:50 +0000 (03:07 +0100)]
perl-mode: Recognize "when"/"given" keywords
* lisp/progmodes/perl-mode.el (perl-font-lock-keywords-2): Add
keywords "when", "given" and "default". (Bug#10560)
(perl--syntax-exp-intro-keywords): Add "printf".
* test/manual/indent/perl.perl: Add test for "when"/"given".