]> git.eshelyaron.com Git - emacs.git/log
emacs.git
2 years agoOpen-code aref and aset in bytecode interpreter
Mattias Engdegård [Sun, 2 Jan 2022 11:19:54 +0000 (12:19 +0100)]
Open-code aref and aset in bytecode interpreter

* src/bytecode.c (exec_byte_code): Inline aref and aset for
vectors and records, since this is important for code that makes heavy
use of arrays and/or objects.

2 years agoRemove the unused unbind-all bytecode
Mattias Engdegård [Sun, 2 Jan 2022 10:35:16 +0000 (11:35 +0100)]
Remove the unused unbind-all bytecode

It was implemented but never generated, originally intended for
TCO in the pre-lexbind era (which was semantically dubious anyway).
Removing it speeds up the interpreter because there is no longer any
need for the outermost `count` variable unless checking is enabled.

* lisp/emacs-lisp/bytecomp.el:
* lisp/emacs-lisp/comp.el (comp-limplify-lap-inst):
* src/bytecode.c (BYTE_CODES, exec_byte_code):
Remove definition and implementation of unbind-all, freeing up the opcode
for other purposes.

2 years agoMove a runtime interpreter check to debug mode
Mattias Engdegård [Sun, 2 Jan 2022 10:15:41 +0000 (11:15 +0100)]
Move a runtime interpreter check to debug mode

* src/bytecode.c (exec_byte_code): Perform bytecode unwinding error
check only when building with debugging (NDEBUG not defined, checking
enabled, or BYTE_CODE_SAFE enabled).  This improves speed in several
ways.

2 years agoRemove nil check in exec_byte_code
Mattias Engdegård [Sat, 1 Jan 2022 21:39:17 +0000 (22:39 +0100)]
Remove nil check in exec_byte_code

Since we pass no arguments to a non-lexbind bytecode function, we can
specify its arity as 0 instead of nil and save a test and branch.

* src/bytecode.c (Fbyte_code, exec_byte_code):
* src/eval.c (fetch_and_exec_byte_code, funcall_lambda):
* src/lisp.h:
Change the args_template parameter type to ptrdiff_t, since it is now
always a small integer, in exec_byte_code and
fetch_and_exec_byte_code, all callers adjusted.

2 years ago; * src/bytecode.c (exec_byte_code): Cosmetic improvement
Mattias Engdegård [Sat, 1 Jan 2022 14:33:27 +0000 (15:33 +0100)]
; * src/bytecode.c (exec_byte_code): Cosmetic improvement

Implement point_max in the same way as point_min.

2 years agoByte code arity check micro-optimisation
Mattias Engdegård [Fri, 31 Dec 2021 18:44:02 +0000 (19:44 +0100)]
Byte code arity check micro-optimisation

* src/bytecode.c (exec_byte_code): Slight simplification.

2 years agoPin bytecode strings to avoid copy at call time
Mattias Engdegård [Fri, 31 Dec 2021 16:24:31 +0000 (17:24 +0100)]
Pin bytecode strings to avoid copy at call time

Avoid making a copy (in the interpreter C stack frame) of the bytecode
string by making sure it won't be moved by the GC.  This is done by
reallocating it to the heap normally only used for large strings,
which isn't compacted.

This requires that we retain an explicit reference to the bytecode
string object (`bytestr`) lest it be GCed away should all other
references vanish during execution.  We allocate an extra stack slot
for that, as we already do for the constant vector object.

* src/alloc.c (allocate_string_data): Add `immovable` argument.
(resize_string_data, make_clear_multibyte_string): Use it.
(pin_string): New.
* src/pdumper.c (dump_string): Fix incorrect comment.
Update hash for Lisp_String (only comments changed, not contents).
* src/lread.c (read1):
* src/alloc.c (Fmake_byte_code, purecopy):
* src/bytecode.c (Fbyte_code): Pin bytecode on object creation.
(exec_byte_code): Don't copy bytecode.  Retain `bytestr` explicitly.
* src/lisp.h (Lisp_String): Explain special size_byte values.
(string_immovable_p): New.

2 years agoInline setcar and setcdr in byte-code interpreter
Mattias Engdegård [Fri, 31 Dec 2021 15:47:56 +0000 (16:47 +0100)]
Inline setcar and setcdr in byte-code interpreter

The function call overhead is nontrivial in comparison to the actual
code which makes this worthwhile.

* src/bytecode.c (exec_byte_code):
Inline code from Fsetcar and Fsetcdr.

2 years agoInline fixnum operations in bytecode interpreter
Mattias Engdegård [Thu, 30 Dec 2021 17:48:53 +0000 (18:48 +0100)]
Inline fixnum operations in bytecode interpreter

Since numeric operations are mostly done on fixnums, this gives a
speed-up for common code.

* src/bytecode.c (exec_byte_code): Inline fixnum comparisons and
operations with fixnum results: =, >, <, <=, >=, -, +, -, *, /, %, max
and min.

2 years agoShort-circuit the recursive bytecode funcall chain
Mattias Engdegård [Tue, 28 Dec 2021 15:50:07 +0000 (16:50 +0100)]
Short-circuit the recursive bytecode funcall chain

Inline parts of the code for function calls to speed up the common
case of calling lexbound byte-code.  By eliminating intermediate
functions, this also reduces C stack usage a little.

* src/bytecode.c (exec_byte_code): Inline parts of Ffuncall,
funcall_lambda and fetch_and_exec_byte_code in the Bcall opcode
handler.
* src/eval.c (backtrace_debug_on_exit): Inline and move to lisp.h.
(do_debug_on_call): Make global so that it can be called from
bytecode.c.
(funcall_general): New function, essentially the meat of Ffuncall.
* src/lisp.h (backtrace_debug_on_exit): Moved here from eval.c.

2 years agoAdd "then" to sh--completion-keywords
Lars Ingebrigtsen [Mon, 24 Jan 2022 10:16:30 +0000 (11:16 +0100)]
Add "then" to sh--completion-keywords

* lisp/progmodes/sh-script.el (sh--completion-keywords): Allow
completing over "then" (bug#53490).

2 years agoFix Gnus registry key bindings
Lars Ingebrigtsen [Mon, 24 Jan 2022 10:09:40 +0000 (11:09 +0100)]
Fix Gnus registry key bindings

* lisp/gnus/gnus-registry.el (gnus-registry-install-shortcuts):
Don't overwrite all other M M commands (bug#53492).

2 years ago; * src/xfns.c (xic_preedit_draw_callback): Init text_length to quieten gcc.
Martin Rudalics [Mon, 24 Jan 2022 09:43:56 +0000 (10:43 +0100)]
; * src/xfns.c (xic_preedit_draw_callback): Init text_length to quieten gcc.

2 years agoOrderly inhibit frame resizing when activating tool or tab bar (Bug#52986)
Martin Rudalics [Mon, 24 Jan 2022 09:33:15 +0000 (10:33 +0100)]
Orderly inhibit frame resizing when activating tool or tab bar (Bug#52986)

* src/xdisp.c (redisplay_tab_bar, redisplay_tool_bar): If we do
not display a tool or tab bar in these functions, still set
f->tool/tab_bar_redisplayed and f->tool/tab_bar_resized.  This
avoids that when one of these are initially turned off, a later
activation resizes the frame despite of the fact that
'frame-inhibit-implied-resize' should prevent it (Bug#52986).

2 years ago* src/xterm.c (x_composite_image): Use the display's picture format.
Po Lu [Mon, 24 Jan 2022 08:22:54 +0000 (16:22 +0800)]
* src/xterm.c (x_composite_image): Use the display's picture format.

2 years agoScale coordinates when checking if a touch event falls inside menu bar
Po Lu [Mon, 24 Jan 2022 07:35:48 +0000 (15:35 +0800)]
Scale coordinates when checking if a touch event falls inside menu bar

* src/xterm.c (handle_one_xevent): Apply scale to touch event
coordinates before intersecting them with the menu bar.

2 years agoAvoid glitches in ELC lines in build output
Paul Eggert [Mon, 24 Jan 2022 07:22:04 +0000 (23:22 -0800)]
Avoid glitches in ELC lines in build output

* src/verbose.mk.in (AM_V_ELC, AM_V_ELN): Use ifneq not ifdef, as
we want have_working_info’s value expanded (Bug#53358).

2 years ago* src/xterm.c (handle_one_xevent): Drop frame picture on configure.
Po Lu [Mon, 24 Jan 2022 04:54:26 +0000 (12:54 +0800)]
* src/xterm.c (handle_one_xevent): Drop frame picture on configure.

2 years agoAdd some code for transparent frame backgrounds without Cairo
Po Lu [Mon, 24 Jan 2022 04:44:55 +0000 (12:44 +0800)]
Add some code for transparent frame backgrounds without Cairo

* src/image.c (svg_load_image): Fix build without native image
transforms.

* src/xfns.c (set_up_x_back_buffer):
(tear_down_x_back_buffer): Free XR picture if present.

* src/xftfont.c (xftfont_get_xft_draw): Fix formatting issue.

* src/xterm.c (x_xr_ensure_picture): New function.
(FRAME_CR_CONTEXT, FRAME_CR_CONTEXT):
(FRAME_CR_SURFACE_DESIRED_WIDTH)
(FRAME_CR_SURFACE_DESIRED_HEIGHT): Move to separate USE_CAIRO
block so the ext data code can be used on builds with XRender as
well.

(x_xr_apply_ext_clip):
(x_xr_reset_ext_clip): New functions.
(x_set_clip_rectangles):
(x_reset_clip_rectangles): Set ext data on XRender as well.
(x_term_init): Look for a picture format appropriate for our
purposes.
(x_clear_area): Use XRenderFillRectangle to draw backgrounds if
available.
(x_xrender_color_from_gc_foreground):
(x_xrender_color_from_gc_background): New functions.

* src/xterm.h (FRAME_X_PICTURE):
(FRAME_X_PICTURE_FORMAT)
(FRAME_CHECK_XR_VERSION): New macros.

(struct x_gc_ext_data): Define on XRender as well.
(struct x_display_info): Define ext_codes when using XRender and
add new field `pict_format'.
(struct x_output): New field `picture'.

2 years agoGet rid of compose status on XI2
Po Lu [Mon, 24 Jan 2022 02:21:24 +0000 (10:21 +0800)]
Get rid of compose status on XI2

* src/xterm.c (handle_one_xevent): Stop assuming compose
processing will occur on XI2.

2 years agoExpunge read-with-symbol-position and read-symbol-positions-list
Alan Mackenzie [Mon, 24 Jan 2022 01:08:03 +0000 (01:08 +0000)]
Expunge read-with-symbol-position and read-symbol-positions-list

These are remnants of the old way of determining byte compiler warning
positions.

* src/lread.c (read_internal_start, read1): Remove initializations amd
manipulations of these variables.
(syms_of_lread): Remove the declarations of the variables.

* lisp/emacs-list/bytecomp.el (compile-defun, byte-compile-from-buffer):
Remove bindings of the variables.

2 years agoSet IC preedit area on ConfigureNotify
Po Lu [Mon, 24 Jan 2022 00:46:39 +0000 (08:46 +0800)]
Set IC preedit area on ConfigureNotify

* src/xterm.c (handle_one_xevent): Set the preedit spot when a
ConfigureNotify event is received.

2 years agoBind print-symbols-bare to t in byte-compile-from-buffer
Alan Mackenzie [Sun, 23 Jan 2022 16:41:23 +0000 (16:41 +0000)]
Bind print-symbols-bare to t in byte-compile-from-buffer

* lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Bind
print-symbols-bare to t here for the benefit of non-defining forms in buffers.

2 years agoMake message in hack-local-variables-confirm clearer
Lars Ingebrigtsen [Sun, 23 Jan 2022 16:09:55 +0000 (17:09 +0100)]
Make message in hack-local-variables-confirm clearer

* lisp/files.el (hack-local-variables-confirm): Mention the
.dir-locals.el file in the message to be slightly less confusing
(bug#27066).

2 years agoMake `C-x M-x insert-kbd-macro RET RET' work better
Lars Ingebrigtsen [Sun, 23 Jan 2022 15:48:42 +0000 (16:48 +0100)]
Make `C-x M-x insert-kbd-macro RET RET' work better

* lisp/macros.el (insert-kbd-macro): Don't give bogus output on
names that have no function definition (bug#30309).

2 years agoFix tabulated-list-widen-current-column widening wrong column
Thuna [Sun, 23 Jan 2022 14:55:48 +0000 (15:55 +0100)]
Fix tabulated-list-widen-current-column widening wrong column

* tabulated-list.el (tabulated-list-widen-current-column): Use correct
comparison operation when checking if point is within the column
bounds  (bug#53375).

Copyright-paperwork-exempt: yes

2 years agoAllow using outline minor mode in `M-x apropos-value'
Lars Ingebrigtsen [Sun, 23 Jan 2022 14:43:19 +0000 (15:43 +0100)]
Allow using outline minor mode in `M-x apropos-value'

* lisp/apropos.el (apropos-mode): Set up outline minor mode
(bug#31094).
(apropos-value): Don't add "---" separators, because it doesn't
really seem to add anything much.
(apropos-value-internal): Escape newlines so that no values can be
confused for headings.

2 years agoMake apropos-print-doc more resilient
Lars Ingebrigtsen [Sun, 23 Jan 2022 14:08:34 +0000 (15:08 +0100)]
Make apropos-print-doc more resilient

* lisp/apropos.el (apropos-print-doc): Don't bug out on doc
strings that have invalid command key syntaxes.

2 years agoFix position argument to macroexp--warn-wrap in cconv--convert-funcbody
Alan Mackenzie [Sun, 23 Jan 2022 13:47:38 +0000 (13:47 +0000)]
Fix position argument to macroexp--warn-wrap in cconv--convert-funcbody

* lisp/emacs-lisp/cconv.el (cconv--convert-funcbody): Change the position
argument to macroexp--warn-wrap from BODY to ARG, to give correct positions in
warning messages.

2 years agoImprove `M-x speedbar' under emacs -nw very slightly
Lars Ingebrigtsen [Sun, 23 Jan 2022 13:46:55 +0000 (14:46 +0100)]
Improve `M-x speedbar' under emacs -nw very slightly

* lisp/speedbar.el (speedbar-frame-mode): `M-x speedbar' doesn't
seem to do anything visible under -nw, so issue a message in that
case to tell the user how to proceed (bug#32597).

2 years agoRegenerate ldefs-boot.el
Lars Ingebrigtsen [Sun, 23 Jan 2022 13:37:25 +0000 (14:37 +0100)]
Regenerate ldefs-boot.el

2 years agoMake kill-process into a command
Lars Ingebrigtsen [Sun, 23 Jan 2022 13:36:54 +0000 (14:36 +0100)]
Make kill-process into a command

* doc/lispref/processes.texi (Signals to Processes): Document it.
* src/process.c (Fkill_process): Make into a command (bug#32640).

2 years agoAdd new function to prompt a user for a process name
Phil Sainty [Sun, 23 Jan 2022 13:35:52 +0000 (14:35 +0100)]
Add new function to prompt a user for a process name

* lisp/emacs-lisp/subr-x.el (read-process-name): New function
(bug#32640).

2 years agoMake sure cursors are drawn correctly after haiku_clear_frame
Po Lu [Sun, 23 Jan 2022 13:34:03 +0000 (13:34 +0000)]
Make sure cursors are drawn correctly after haiku_clear_frame

* src/haikuterm.c (haiku_clear_frame): Mark all cursors as off.

2 years agoImprove scheme-imenu-generic-expression
Alex Kost [Sun, 23 Jan 2022 13:12:34 +0000 (14:12 +0100)]
Improve scheme-imenu-generic-expression

* lisp/progmodes/scheme.el (scheme-imenu-generic-expression):
Improve so that we match `define-public' etc (bug#33117).

2 years agoMake occur edit mode more resilient
Lars Ingebrigtsen [Sun, 23 Jan 2022 12:54:16 +0000 (13:54 +0100)]
Make occur edit mode more resilient

* lisp/replace.el (occur-engine): Make the prefix read-only so
that it's preserved in edit mode (bug#53419).

2 years agoRevert the other bits related to `load-read-file'
Lars Ingebrigtsen [Sun, 23 Jan 2022 12:43:53 +0000 (13:43 +0100)]
Revert the other bits related to `load-read-file'

* src/lread.c (syms_of_lread): Revert the other bits related to
reverting `byte-compile-from-buffer'/`load-read-file'.

2 years agoFix menus on the no-toolkit build when using XI2
Po Lu [Sun, 23 Jan 2022 11:34:39 +0000 (19:34 +0800)]
Fix menus on the no-toolkit build when using XI2

* src/xmenu.c (x_activate_menubar):
(create_and_show_popup_menu): Only ungrab the device if it is
actually grabbed.
(x_menu_show): Release XI2 passive grab.

2 years agoMerge from origin/emacs-28
Stefan Kangas [Sun, 23 Jan 2022 05:30:31 +0000 (06:30 +0100)]
Merge from origin/emacs-28

6d3608be88 Seccomp: improve support for newer versions of glibc (Bug#...
e58ecd01d5 EUDC: Fix a quoting bug in the BBDB backend

2 years agoFix documentation formatting error
Po Lu [Sun, 23 Jan 2022 01:25:55 +0000 (01:25 +0000)]
Fix documentation formatting error

* doc/lispref/streams.texi (Input Functions): Remove extraneous
@end defun.

2 years ago* src/haikumenu.c (run_menu_bar_help_event): Fix bounds sanity check.
Po Lu [Sun, 23 Jan 2022 01:19:22 +0000 (01:19 +0000)]
* src/haikumenu.c (run_menu_bar_help_event): Fix bounds sanity check.

2 years agoClean up some of the X extension related code
Po Lu [Sun, 23 Jan 2022 01:14:16 +0000 (09:14 +0800)]
Clean up some of the X extension related code

* src/image.c (Fimage_transforms_p): Remove unused variables.
* src/xterm.c (x_probe_xfixes_extension):
(x_term_init): Probe for xfixes during terminal initialization
instead.
* src/xterm.h (struct x_display_info): New fields for xfixes
support.

2 years ago* src/pgtkterm.c (pgtk_flash): Fix input blocking.
Po Lu [Sun, 23 Jan 2022 00:45:21 +0000 (08:45 +0800)]
* src/pgtkterm.c (pgtk_flash): Fix input blocking.

2 years agoMinor copyedits in "Symbols with Position"
Eli Zaretskii [Sat, 22 Jan 2022 18:47:10 +0000 (20:47 +0200)]
Minor copyedits in "Symbols with Position"

* doc/lispref/symbols.texi (Symbols with Position): Fix wording
and improve indexing.

2 years agoMerge branch 'master' of /home/acm/emacs/emacs.git/master
Alan Mackenzie [Sat, 22 Jan 2022 18:02:01 +0000 (18:02 +0000)]
Merge branch 'master' of /home/acm/emacs/emacs.git/master

2 years agoDon't use 'load-read-function' in byte-compile-from-buffer
Alan Mackenzie [Sat, 22 Jan 2022 17:48:46 +0000 (17:48 +0000)]
Don't use 'load-read-function' in byte-compile-from-buffer

* lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Call
read-positioning-symbols directly, rather than binding load-read-function to
it.  This is so that a lower level use of load-read-function will not return a
form containing symbols with position.

2 years agoMerge branch 'scratch/correct-warning-pos'
Alan Mackenzie [Sat, 22 Jan 2022 17:41:03 +0000 (17:41 +0000)]
Merge branch 'scratch/correct-warning-pos'

2 years agoFix print-unreadable-function documentation
Lars Ingebrigtsen [Sat, 22 Jan 2022 15:46:46 +0000 (16:46 +0100)]
Fix print-unreadable-function documentation

* doc/lispref/streams.texi (Output Variables): Fix description of
non-string values.

2 years agoSeccomp: improve support for newer versions of glibc (Bug#51073)
Philipp Stephani [Sat, 22 Jan 2022 16:11:37 +0000 (17:11 +0100)]
Seccomp: improve support for newer versions of glibc (Bug#51073)

* lib-src/seccomp-filter.c (main): Allow 'pread64' and 'faccessat2'
system calls.  Newer versions of glibc use these system call (starting
with commits 95c1056962a3f2297c94ce47f0eaf0c5b6563231 and
3d3ab573a5f3071992cbc4f57d50d1d29d55bde2, respectively).

2 years agoAdd direct remote copying in Tramp's scp support
Michael Albinus [Sat, 22 Jan 2022 16:12:14 +0000 (17:12 +0100)]
Add direct remote copying in Tramp's scp support

* doc/misc/tramp.texi: Use @trampfn{} function where possible.
(Top, Configuration): Insert section 'Ssh setup' and remove
section 'Windows setup hints' in menu.
(Default Method): Mention tramp-use-scp-direct-remote-copying.
(Ssh setup): New node.
(Windows setup hints): Move it to that new node.
(Frequently Asked Questions): Move items about ssh config to that node.

* etc/NEWS: Add Tramp's direct remote copying feature.  Fix typos.

* lisp/net/tramp-sh.el (tramp-use-scp-direct-remote-copying):
New defcustom.
(tramp-methods) <scp, scpx>: Add "%y" marker.
(tramp-scp-direct-remote-copying): New defun.
(tramp-do-copy-or-rename-file-out-of-band): Extend for direct
remote copying.

* lisp/net/tramp.el (tramp-methods): Extend docstring.
(tramp-password-prompt-not-unique): New defvar.
(tramp-read-passwd): Adapt docstring.
(tramp-read-passwd-without-cache): New defun.
(tramp-action-password): Call it.

2 years agoMark nil vc-follow-symlinks as safe
Lars Ingebrigtsen [Sat, 22 Jan 2022 15:44:25 +0000 (16:44 +0100)]
Mark nil vc-follow-symlinks as safe

* lisp/vc/vc-hooks.el (vc-follow-symlinks): A nil value should be
safe for file-local (bug#33264).

2 years agoUse load-read-function in byte-compile-from-buffer
Lars Ingebrigtsen [Sat, 22 Jan 2022 15:37:14 +0000 (16:37 +0100)]
Use load-read-function in byte-compile-from-buffer

* lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Use
load-read-function.

* src/lread.c (syms_of_lread): Adjust doc string (bug#33723).

2 years agoClarify Vprint_unreadable_function doc string
Lars Ingebrigtsen [Sat, 22 Jan 2022 15:24:42 +0000 (16:24 +0100)]
Clarify Vprint_unreadable_function doc string

* src/print.c (syms_of_print): Clarify Vprint_unreadable_function
doc string

2 years agoFix documentation of 'unprintable' stuff
Eli Zaretskii [Sat, 22 Jan 2022 14:49:06 +0000 (16:49 +0200)]
Fix documentation of 'unprintable' stuff

* src/print.c (syms_of_print) <print-unreadable-function>:
* doc/lispref/streams.texi (Input Functions, Output Variables):
Improve the documentation of 'print-unreadable-function' and
'readablep'.  Add indexing and cross-references.

2 years agoImprove dired-do-create-files slightly
Lars Ingebrigtsen [Sat, 22 Jan 2022 14:42:59 +0000 (15:42 +0100)]
Improve dired-do-create-files slightly

* lisp/dired-aux.el (dired-do-create-files): Expand slightly upon
the doc string (bug#35367).  Suggested by Mike Kupfer
<mkupfer@alum.berkeley.edu>.

2 years agoSpeed up multisession--set-value-sqlite slightly
Lars Ingebrigtsen [Sat, 22 Jan 2022 14:13:19 +0000 (15:13 +0100)]
Speed up multisession--set-value-sqlite slightly

* lisp/emacs-lisp/multisession.el
(multisession--set-value-sqlite): Use `readablep'.

2 years agoAdd new function 'readablep'
Lars Ingebrigtsen [Sat, 22 Jan 2022 14:11:17 +0000 (15:11 +0100)]
Add new function 'readablep'

* doc/lispref/streams.texi (Input Functions): Document it.
* lisp/subr.el (readablep): New function (bug#52566).

2 years agoAdd new variable print-unreadable-function
Lars Ingebrigtsen [Sat, 22 Jan 2022 14:06:33 +0000 (15:06 +0100)]
Add new variable print-unreadable-function

* doc/lispref/streams.texi (Output Variables): Document it.

* src/print.c (print_vectorlike): Use the variable.
(syms_of_print): New variable print-unreadable-function
(bug#52566).

2 years agoAdd some menu bar help code on GNUstep
Po Lu [Sat, 22 Jan 2022 13:51:46 +0000 (21:51 +0800)]
Add some menu bar help code on GNUstep

* src/nsmenu.m ([EmacsMenu menu:willHighlightItem:]): Implement
help event generation for GNUstep.

2 years agoFix PGTK build with xwidgets
Po Lu [Sat, 22 Jan 2022 12:28:22 +0000 (20:28 +0800)]
Fix PGTK build with xwidgets

* src/xwidget.c: Swap some preprocessor definitions around.
Reported by Iñigo Serna <inigoserna@gmail.com>.

2 years agoFix GNUstep build warnings
Po Lu [Sat, 22 Jan 2022 12:22:30 +0000 (20:22 +0800)]
Fix GNUstep build warnings

* src/nsmenu.m
([EmacsMenu menu:updateItem:atIndex:shouldCancel:])
([EmacsMenu menuHasKeyEquivalent:forEvent:target:action:])
([EmacsMenu numberOfItemsInMenu:]): New methods.

2 years agoFix HTML target marking in shr
Lars Ingebrigtsen [Sat, 22 Jan 2022 12:14:36 +0000 (13:14 +0100)]
Fix HTML target marking in shr

* lisp/net/shr.el (shr-descend): Use a marker (because we may be
altering the text later for indentation), and mark the start, not
the end of the tag (bug#53409).
(shr-tag-a): Ditto.

2 years agoPut the old label into the future history in reftex-change-label
Lars Ingebrigtsen [Sat, 22 Jan 2022 12:00:31 +0000 (13:00 +0100)]
Put the old label into the future history in reftex-change-label

* lisp/textmodes/reftex-global.el (reftex-change-label): Put the
old label into the future history so that it can be edited easily
(bug#53417).

2 years agoFix the prompt in hi-lock-read-face-name
Lars Ingebrigtsen [Sat, 22 Jan 2022 11:36:29 +0000 (12:36 +0100)]
Fix the prompt in hi-lock-read-face-name

* lisp/hi-lock.el (hi-lock-read-face-name): Fix the prompt after
recent changes (bug#53255).

2 years ago; * etc/NEWS: Improve entry about Outline mode changes.
Eli Zaretskii [Sat, 22 Jan 2022 11:59:58 +0000 (13:59 +0200)]
; * etc/NEWS: Improve entry about Outline mode changes.

2 years agoFix some doc strings in outline.el
Matthias Meulien [Mon, 17 Jan 2022 19:20:28 +0000 (20:20 +0100)]
Fix some doc strings in outline.el

* lisp/outline.el (outline-default-state): Fix doc string.
(outline-default-rules): Fix doc string.

2 years ago; * src/xdisp.c (Fbidi_find_overridden_directionality): Doc fix.
Eli Zaretskii [Sat, 22 Jan 2022 11:09:31 +0000 (13:09 +0200)]
; * src/xdisp.c (Fbidi_find_overridden_directionality): Doc fix.

2 years agoMerge branch 'master' into scratch/correct-warning-pos scratch/correct-warning-pos
Alan Mackenzie [Sat, 22 Jan 2022 11:02:50 +0000 (11:02 +0000)]
Merge branch 'master' into scratch/correct-warning-pos

2 years agoMake the test for existing multisession variables more sensible
Lars Ingebrigtsen [Sat, 22 Jan 2022 10:56:13 +0000 (11:56 +0100)]
Make the test for existing multisession variables more sensible

* lisp/emacs-lisp/multisession.el (multisession-edit-value):
Unconfuse the code.

2 years ago; Fix last change in 'textsec-bidi-controls-suspicious-p'.
Eli Zaretskii [Sat, 22 Jan 2022 10:14:17 +0000 (12:14 +0200)]
; Fix last change in 'textsec-bidi-controls-suspicious-p'.

2 years agoMiscellaneous amendments to the scratch/correct-warning-pos branch
Alan Mackenzie [Sat, 22 Jan 2022 09:59:05 +0000 (09:59 +0000)]
Miscellaneous amendments to the scratch/correct-warning-pos branch

* lisp/cedet/semantic/fw.el (semantic-alias-obsolete)
(semantic-varalias-obsolete): Replace calls to byte-compile-warn with calls to
byte-compile-warn-x (when it exists).

* lisp/emacs-lisp/bytecomp.el (byte-compile-log-warning-function)
(byte-compile--log-warning-for-byte-compile): Make the POSITION parameter no
longer &optional (for the benefit of flymake on *.el).
(byte-compile-log-warning): Replace a nil POSITION argument with an actual
position.
(byte-compile-file-form-require): Push the required symbol onto
byte-compile-form-stack, for the benefit of `do-after-load-evaluation'.

* lisp/keymap.el (define-keymap--compile): Replace four calls to
byte-compile-warn with byte-compile-warn-x.

* doc/lispref/elisp.texi (master menu): Add entries for Shorthands and Symbols
with position.

* doc/lispref/streams.texi (Input Functions): Document
read-positioning-symbols.

* doc/lispref/symbols.texi (Symbols): Add new menu entry.
(Symbols with Position): New @section.

2 years agoImprove detection of suspicious uses of bidi controls
Eli Zaretskii [Sat, 22 Jan 2022 09:58:05 +0000 (11:58 +0200)]
Improve detection of suspicious uses of bidi controls

* lisp/international/textsec.el
(textsec-bidi-controls-suspicious-p): New function.
(textsec-name-suspicious-p): Use it.

* test/lisp/international/textsec-tests.el (test-suspicious-name):
Enable the test that was previously failing with
'bidi-find-overridden-directionality'.

2 years agoPrevent raw bytes from being displayed as help text on Haiku
Po Lu [Sat, 22 Jan 2022 09:51:30 +0000 (09:51 +0000)]
Prevent raw bytes from being displayed as help text on Haiku

* src/haikumenu.c (digest_menu_items): Don't set encoded text
into the menu item vector.

2 years agoUse locale coding system to decode XIM preedit text
Po Lu [Sat, 22 Jan 2022 08:16:26 +0000 (16:16 +0800)]
Use locale coding system to decode XIM preedit text

* src/xfns.c (x_xim_text_to_utf8_unix): XIMs typically return
text in the locale coding system, so use that instead.

2 years agoChange visibility of "Undelete Frame"
Eli Zaretskii [Sat, 22 Jan 2022 07:06:21 +0000 (09:06 +0200)]
Change visibility of "Undelete Frame"

* lisp/menu-bar.el (menu-bar-file-menu): Make "Undelete Frame"
always visible.  Suggested by Gregory Heytings <gregory@heytings.org>.

2 years agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Sat, 22 Jan 2022 07:03:11 +0000 (09:03 +0200)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

2 years agoGet rid of some unnecessary code in handle_one_xevent
Po Lu [Sat, 22 Jan 2022 07:01:28 +0000 (15:01 +0800)]
Get rid of some unnecessary code in handle_one_xevent

* src/xterm.c (handle_one_xevent): Stop mutating event->xkey.

2 years agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Sat, 22 Jan 2022 06:26:54 +0000 (08:26 +0200)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

2 years ago; Merge from origin/emacs-28
Stefan Kangas [Sat, 22 Jan 2022 05:30:25 +0000 (06:30 +0100)]
; Merge from origin/emacs-28

The following commits were skipped:

fbc9b121e0 Fix memory-report-object-size to initialize memory-report-...
f08dfa9b53 Fix menu-bar mouse clicks in "C-h c" and "C-h k" (bug#53322)

2 years agoFix recent changes to visible bell code
Po Lu [Sat, 22 Jan 2022 02:25:06 +0000 (10:25 +0800)]
Fix recent changes to visible bell code

* src/gtkutil.c (xg_create_scroll_bar):
(xg_create_horizontal_scroll_bar): Stop ensuring an X window
before the widget is realized.
(xg_update_scrollbar_pos):
(xg_update_horizontal_scrollbar_pos): Ensure such a window here
instead.

2 years agoClean up visible bell code on X
Po Lu [Sat, 22 Jan 2022 02:12:18 +0000 (10:12 +0800)]
Clean up visible bell code on X

* src/gtkutil.c (xg_create_scroll_bar):
(xg_create_horizontal_scroll_bar): Ensure that the scroll bars
have their own X windows.
* src/xterm.c (XTflash): Remove use of GDK functions for
drawing.

2 years agoFix crash when the visible bell is rung but there is no cairo surface
Po Lu [Sat, 22 Jan 2022 01:11:33 +0000 (09:11 +0800)]
Fix crash when the visible bell is rung but there is no cairo surface

* src/pgtkterm.c (pgtk_flash): Return if the cairo surface is
not present.  (bug#53420)
(pgtk_cr_update_surface_desired_size): Reformat comment.

2 years agoAvoid glitches in ELC lines in build output
Paul Eggert [Fri, 21 Jan 2022 22:45:57 +0000 (14:45 -0800)]
Avoid glitches in ELC lines in build output

* src/verbose.mk.in (have_working_info): New macro.
(AM_V_ELC, AM_V_ELN): Use 'echo' rather than $(info ...)
on buggy versions of GNU Make.

2 years agoSimplify AM_V_ELC setup
Paul Eggert [Fri, 21 Jan 2022 21:33:55 +0000 (13:33 -0800)]
Simplify AM_V_ELC setup

* src/verbose.mk.in (AM_V_ELC, AM_V_ELN): Use simpler Make ‘if’s.

2 years agoEUDC: Fix a quoting bug in the BBDB backend
Thomas Fitzsimmons [Fri, 21 Jan 2022 22:40:57 +0000 (17:40 -0500)]
EUDC: Fix a quoting bug in the BBDB backend

* lisp/net/eudcb-bbdb.el (eudc-bbdb-query-internal): Fix a quoting
bug introduced during lexical-binding conversion.

2 years ago* lisp/cus-start.el (polling-period): Update type.
Glenn Morris [Fri, 21 Jan 2022 21:44:56 +0000 (13:44 -0800)]
* lisp/cus-start.el (polling-period): Update type.

Flagged by test-custom-opts.

2 years ago* src/keyboard.c (start_polling): Fix type mixup.
Glenn Morris [Fri, 21 Jan 2022 20:12:43 +0000 (12:12 -0800)]
* src/keyboard.c (start_polling): Fix type mixup.

Flagged by --enable-check-lisp-object-type.

2 years agoDisable background image fetching from asking for passwords
Lars Ingebrigtsen [Fri, 21 Jan 2022 14:22:24 +0000 (15:22 +0100)]
Disable background image fetching from asking for passwords

* lisp/url/url-queue.el (url-queue-start-retrieve): Inhibit
prompting for passwords from these background requests.

2 years agoFurther emake tweaks
Lars Ingebrigtsen [Fri, 21 Jan 2022 14:03:32 +0000 (15:03 +0100)]
Further emake tweaks

2 years agoFix previous emake change
Lars Ingebrigtsen [Fri, 21 Jan 2022 14:00:14 +0000 (15:00 +0100)]
Fix previous emake change

* admin/emake (cores): Fix typo in previous change.

2 years ago* src/keyboard.c (syms_of_keyboard): Fix build without input polling.
Po Lu [Fri, 21 Jan 2022 13:48:57 +0000 (21:48 +0800)]
* src/keyboard.c (syms_of_keyboard): Fix build without input polling.

2 years agoImprove the completion-category-overrides doc string
Lars Ingebrigtsen [Fri, 21 Jan 2022 13:45:23 +0000 (14:45 +0100)]
Improve the completion-category-overrides doc string

* lisp/minibuffer.el (completion-category-overrides): Clarify what
this variable does (bug#22324).
(completion-category-defaults): Mention the overrides variable.

2 years agoRemove text mistakenly added to the diff--iterate-hunks doc string
Lars Ingebrigtsen [Fri, 21 Jan 2022 13:31:11 +0000 (14:31 +0100)]
Remove text mistakenly added to the diff--iterate-hunks doc string

* lisp/vc/diff-mode.el (diff--iterate-hunks): Remove text added by
mistake to the doc string.

2 years agoFollowup fix to previous message-update-smtp-method-header change
Lars Ingebrigtsen [Fri, 21 Jan 2022 13:20:31 +0000 (14:20 +0100)]
Followup fix to previous message-update-smtp-method-header change

* lisp/gnus/message.el (message-update-smtp-method-header): Narrow
to the headers first.

2 years agoAllow From to be part of message-hidden-headers
Lars Ingebrigtsen [Fri, 21 Jan 2022 13:18:19 +0000 (14:18 +0100)]
Allow From to be part of message-hidden-headers

* lisp/gnus/message.el (message-update-smtp-method-header): Don't
bug out if the From header is part of `message-hidden-headers'
(bug#52871).

2 years agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Fri, 21 Jan 2022 12:11:22 +0000 (14:11 +0200)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

2 years agoDon't use 'eshell-eval-using-options' for 'eshell/source' or 'eshell/.'
Jim Porter [Fri, 21 Jan 2022 03:51:39 +0000 (19:51 -0800)]
Don't use 'eshell-eval-using-options' for 'eshell/source' or 'eshell/.'

This makes 'source' and '.' in Eshell more compatible with regular
shells, which just treat the first argument as the file to source and
all subsequent arguments as arguments to that file.

* lisp/eshell/em-script.el (eshell/source, eshell/.): Don't use
'eshell-eval-using-options'.

* etc/NEWS: Announce the change (bug#53293)

2 years agoRaise an error from 'eval-eval-using-options' for unknown options
Jim Porter [Thu, 20 Jan 2022 02:59:23 +0000 (18:59 -0800)]
Raise an error from 'eval-eval-using-options' for unknown options

* lisp/eshell/em-basic.el (eshell/echo): Add -E option.

* lisp/eshell/esh-opt.el (eshell--process-option): Raise an error if
an unknown option is encountered, even when :external is nil.

* test/lisp/eshell/esh-opt-tests.el (esh-opt-process-args-test)
(test-eshell-eval-using-options): Add test cases for this.

2 years agoFix indentation in NEWS of cl-flet item
Theodor Thornhill [Fri, 21 Jan 2022 12:04:29 +0000 (13:04 +0100)]
Fix indentation in NEWS of cl-flet item

* etc/NEWS: Correct description of indentation of 'cl-flet' and
'cl-labels (bug#53410).

2 years agoClarify Splitting Mail in the Gnus manual
Lars Ingebrigtsen [Fri, 21 Jan 2022 11:48:03 +0000 (12:48 +0100)]
Clarify Splitting Mail in the Gnus manual

* doc/misc/gnus.texi (Splitting Mail): Clarify what happens when
crossposting or not (bug#53307).