]> git.eshelyaron.com Git - emacs.git/log
emacs.git
2 years agoByte compiler: correct output warning message positions
Alan Mackenzie [Mon, 18 Apr 2022 15:16:54 +0000 (15:16 +0000)]
Byte compiler: correct output warning message positions

Correct the algorithm for determining the warning position to get the first
symbol-with-position in byte-compile--form-stack.

* lisp/emacs-lisp/bytecomp.el (byte-compile--first-symbol-with-pos): Function
renamed and amended from byte-compile--first-symbol.
(byte-compile--warning-source-offset): Call the new function above rather than
the old one.

2 years agoMake isearch-lax-whitespace a user option
Lars Ingebrigtsen [Mon, 18 Apr 2022 11:36:05 +0000 (13:36 +0200)]
Make isearch-lax-whitespace a user option

* lisp/isearch.el (isearch-lax-whitespace): Make into a defcustom
(bug#20351).

2 years agoAvoid hangs in python-mode with debug-on-error set
Lars Ingebrigtsen [Mon, 18 Apr 2022 11:17:32 +0000 (13:17 +0200)]
Avoid hangs in python-mode with debug-on-error set

* lisp/progmodes/python.el (python-nav-end-of-statement): Avoid
using cl-assert here, because this is called from the font-lock
machinery, and if debug-on-error is set here, we'll hang Emacs
(bug#54996).

2 years agoMake it easier to use Emacs as a script interpreter
Lars Ingebrigtsen [Mon, 18 Apr 2022 10:58:54 +0000 (12:58 +0200)]
Make it easier to use Emacs as a script interpreter

* doc/emacs/cmdargs.texi (Initial Options): Document -x.
* lisp/startup.el (command-line-1): Add new -scripteval.
(command-line--eval-script): New function.

* src/emacs.c (main): Transform -x to -scripteval.
(standard_args): Add -x (bug#20682).

2 years agoAdd missing Motif atoms
Po Lu [Mon, 18 Apr 2022 10:38:35 +0000 (18:38 +0800)]
Add missing Motif atoms

* src/xselect.c (symbol_to_x_atom):
(x_atom_to_symbol):
(syms_of_xselect): Optimize for XmTRANSFER_SUCCESS and
XmTRANSFER_FAILURE as well.

2 years agoByte compiler: remove symbol positions from byte-switch tables
Alan Mackenzie [Mon, 18 Apr 2022 10:19:54 +0000 (10:19 +0000)]
Byte compiler: remove symbol positions from byte-switch tables

This fixes bug #54990.

* lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode): Remove positions from
symbols with positions in byte-switch tables, by temporarily removing the
entries from the table, and reinserting them amended.

2 years agoClean up view-emacs-news code
Lars Ingebrigtsen [Mon, 18 Apr 2022 09:53:59 +0000 (11:53 +0200)]
Clean up view-emacs-news code

* lisp/help.el (view-emacs-news): Remove workaround after fixing
mode: cookie error.

2 years agoUnify local variable initialisation in url-http
Nacho Barrientos [Mon, 18 Apr 2022 09:36:52 +0000 (11:36 +0200)]
Unify local variable initialisation in url-http

* lisp/url/url-http.el (url-http-chunked-last-crlf-missing): Treat
url-http-chunked-last-crlf-missing as any other buffer variable by
declaring and initialising it the same way as the other related
ones (bug#54989).

Copyright-paperwork-exempt: yes

2 years agoMake `restart-emacs' work when Emacs is started with --chdir
Lars Ingebrigtsen [Mon, 18 Apr 2022 09:31:28 +0000 (11:31 +0200)]
Make `restart-emacs' work when Emacs is started with --chdir

* src/emacs.c (find_emacs_executable): Rename from
load_pdump_find_executable and always define.
(load_pdump): Return the executable.
(main): Store the executable.
(Fkill_emacs): Use the stored executable so that --chdir works
with relative executable names, and so that we attempt to restart
the same executable and not some other Emacs from PATH.

2 years agoImprove `restart-emacs' error reporting
Lars Ingebrigtsen [Mon, 18 Apr 2022 09:02:55 +0000 (11:02 +0200)]
Improve `restart-emacs' error reporting

* src/emacs.c (Fkill_emacs): Do better error reporting on restarting.

2 years agoMake "restart" erroring slightly more reliable
Lars Ingebrigtsen [Mon, 18 Apr 2022 08:50:45 +0000 (10:50 +0200)]
Make "restart" erroring slightly more reliable

* src/emacs.c (Fkill_emacs): Use emacs_perror for the "restart"
errors -- we've already shut down Emacs at this point, so the
normal erroring machinery isn't reliable.

2 years agoFix major-mode setting regression when there's a mode: cookie
Lars Ingebrigtsen [Mon, 18 Apr 2022 08:36:32 +0000 (10:36 +0200)]
Fix major-mode setting regression when there's a mode: cookie

* lisp/files.el (hack-local-variables): Fix regression in setting
the major mode when there are mode: cookies in the file (bug#54993).

2 years agoStop skipping ShapeNotify events during DND on GTK+
Po Lu [Mon, 18 Apr 2022 08:08:19 +0000 (16:08 +0800)]
Stop skipping ShapeNotify events during DND on GTK+

* src/xterm.c (handle_one_xevent): Don't skip ShapeNotify events
because we can't send these events back to GDK manually.

2 years agoClarify computation of header line vpos
Po Lu [Mon, 18 Apr 2022 07:55:40 +0000 (15:55 +0800)]
Clarify computation of header line vpos

* src/dispnew.c (update_text_area): Test vpos is more than 1
only if is both a tab and header line.  Reported by Eli
Zaretskii <eliz@gnu.org>.

2 years agoFix 'restart-emacs' in -nw mode on MS-Windows
Eli Zaretskii [Mon, 18 Apr 2022 07:05:15 +0000 (10:05 +0300)]
Fix 'restart-emacs' in -nw mode on MS-Windows

* src/w32.c (openat): #ifdef away: not used.
(w32_reexec_emacs): Kludgey solution for restarting Emacs in the
"-nw" mode.

2 years agoFix glyph skipping optimization when a tab line is enabled
Po Lu [Mon, 18 Apr 2022 05:23:23 +0000 (13:23 +0800)]
Fix glyph skipping optimization when a tab line is enabled

* src/dispnew.c (update_text_area): Compute vpos of header line
correctly when window has tab line.

2 years ago; Fix typo in last change
Po Lu [Mon, 18 Apr 2022 01:26:12 +0000 (09:26 +0800)]
; Fix typo in last change

* src/xterm.c (x_wm_set_size_hint): Fix typo.

2 years agoMinor cleanups to PGTK code
Po Lu [Mon, 18 Apr 2022 01:21:45 +0000 (09:21 +0800)]
Minor cleanups to PGTK code

* src/gtkutil.c (xg_set_geometry):
(xg_frame_set_char_size):
(x_wm_set_size_hint): Rename to `xg_wm_set_size_hint'.  All
callers changed.
* src/gtkutil.h: Update prototypes.
* src/pgtkfns.c (unwind_create_frame):
(Fx_create_frame):
(compute_tip_xy):
* src/pgtkterm.c (x_free_frame_resources):
(x_destroy_window):
(x_calc_absolute_position):
(x_set_offset):
(pgtk_set_window_size):
(x_display_pixel_height):
(x_display_pixel_width):
(x_set_parent_frame): Rename `x_foo' functions to `pgtk_foo'.
Get rid of some copy-pasted code from various places.
(pgtk_create_terminal): Clean up coding style.
* src/pgtkterm.h: Update prototypes.

2 years agoPort sqlite.c to OS X 10.6.8 with Xcode 3.2.6
Paul Eggert [Mon, 18 Apr 2022 00:54:25 +0000 (17:54 -0700)]
Port sqlite.c to OS X 10.6.8 with Xcode 3.2.6

Problem reported by Keith David Bershatsky in:
https://lists.gnu.org/r/emacs-devel/2022-04/msg00923.html
* src/sqlite.c (Fsqlite_open): Don’t assume SQLITE_OPEN_MEMORY
is defined.

2 years agoFix Haiku menu bars when redisplay happens immediately after activation
Po Lu [Mon, 18 Apr 2022 00:50:15 +0000 (00:50 +0000)]
Fix Haiku menu bars when redisplay happens immediately after activation

* src/haiku_support.cc (MessageReceived): Make `REPLAY_MENU_BAR'
messages synchronous.
(be_replay_menu_bar_event): Return whether or not the menu bar
really opened.
* src/haiku_support.h: Update prototypes.
* src/haikumenu.c (haiku_activate_menubar): Immediately activate
menu bar after replaying event.

2 years agoSome minor fixes to Motif DND support
Po Lu [Mon, 18 Apr 2022 00:25:45 +0000 (08:25 +0800)]
Some minor fixes to Motif DND support

* src/xterm.c (xm_write_drag_initiator_info): Swap cardinal
values if wrong byteorder.
(xm_setup_dnd_targets): Read LONG_MAX amount of drag targets.

2 years agoMerge from origin/emacs-28
Paul Eggert [Sun, 17 Apr 2022 20:10:19 +0000 (13:10 -0700)]
Merge from origin/emacs-28

65c04e7115 Update to Org 9.5.2-38-g682ccd

2 years ago; Merge from origin/emacs-28
Paul Eggert [Sun, 17 Apr 2022 20:10:19 +0000 (13:10 -0700)]
; Merge from origin/emacs-28

The following commit was skipped:

c2f94f32b5 Revert "Don’t assume openat"

2 years agoMerge from origin/emacs-28
Paul Eggert [Sun, 17 Apr 2022 20:10:19 +0000 (13:10 -0700)]
Merge from origin/emacs-28

3cccf0a910 Don’t assume openat

2 years agoFix Eshell predicate tests when running from 'make check'
Jim Porter [Sun, 17 Apr 2022 19:51:17 +0000 (21:51 +0200)]
Fix Eshell predicate tests when running from 'make check'

* test/lisp/eshell/em-pred-tests.el (eshell-partial-let-func): Get
original function after macro-expansion.

2 years agoUpdate to Org 9.5.2-38-g682ccd
Kyle Meyer [Sun, 17 Apr 2022 19:30:39 +0000 (15:30 -0400)]
Update to Org 9.5.2-38-g682ccd

2 years agoRevert "Don’t assume openat"
Eli Zaretskii [Sun, 17 Apr 2022 19:03:52 +0000 (22:03 +0300)]
Revert "Don’t assume openat"

This reverts commit 3cccf0a9107d585173e527550bbc45253624ca2e.

This is a change with far-reaching effects on MS-Windows at the least,
where file-related APIs are shadowed to support transparent support
for UTF-8 encoded file names.  Making such changes on a stable branch
for the benefit of a proprietary platform with a 13-year old OS is a
tail wagging the dog.  Please don't do that without discussing first.

2 years agoMake desktop.el use local-minor-modes when saving
Lars Ingebrigtsen [Sun, 17 Apr 2022 18:21:40 +0000 (20:21 +0200)]
Make desktop.el use local-minor-modes when saving

* lisp/desktop.el (desktop-buffer-info): Use a more reliable way
to get minor modes (bug#29972).

2 years agoDon’t assume openat
Paul Eggert [Sun, 17 Apr 2022 17:41:17 +0000 (10:41 -0700)]
Don’t assume openat

Use openat only on platforms with O_PATH.
This ports to OS X 10.9 and earlier.
Problem reported by Keith David Bershatsky in:
https://lists.gnu.org/r/emacs-devel/2022-04/msg00805.html
* lib-src/emacsclient.c (local_sockname): Use open, not openat.
* src/sysdep.c (sys_openat): New static function,
which uses openat only if O_PATH is defined.
(emacs_openat): Use it instead of openat.
(emacs_openat_noquit): Remove.
(emacs_open_noquit): Reimplement as per the old emacs_openat_noquit,
but use plain 'open'.

2 years agoImprove the support for the Brahmi script
Eli Zaretskii [Sun, 17 Apr 2022 17:36:36 +0000 (20:36 +0300)]
Improve the support for the Brahmi script

* lisp/leim/quail/indian.el ("brahmi"): New input method.
* lisp/language/indian.el ("Brahmi"): Add sample-text and
input-method.  (Bug#54914)

* etc/NEWS: Mention the brahmi input method.
* etc/HELLO: Add a Brahmi greeting.

2 years agoFix fontifying type hints in python-mode
kobarity [Sun, 17 Apr 2022 17:28:15 +0000 (19:28 +0200)]
Fix fontifying type hints in python-mode

* lisp/progmodes/python.el
(python-font-lock-keywords-maximum-decoration): Avoid fontifying
type hints as variable names (bug#54992).

Copyright-paperwork-exempt: yes

2 years agoAllow editing variable values in *Help* buffers
Lars Ingebrigtsen [Sun, 17 Apr 2022 16:59:59 +0000 (18:59 +0200)]
Allow editing variable values in *Help* buffers

* lisp/help-fns.el (help-enable-variable-value-editing): New user
option.
(describe-variable): Tag values for editing.
(help-fns--editable-variable, help-fns-edit-variable): New
functions (bug#36826).
(help-fns--edit-value-mode-map, help-fns--edit-value-mode)
(help-fns-edit-mode-done): New mode and commands.

2 years agoMake :filters run in the correct buffer in describe-buffer-bindings
Lars Ingebrigtsen [Sun, 17 Apr 2022 15:36:58 +0000 (17:36 +0200)]
Make :filters run in the correct buffer in describe-buffer-bindings

* lisp/help.el (describe-map-tree): Take an optional buffer parameter.
(describe-map): Ditto, and use it to run `lookup-key' in the
correct buffer.  This fixes problems of filters being run in the
wrong buffer (bug#39149).

* src/keymap.c (Fdescribe_buffer_bindings): Pass in BUFFER to
describe-map-tree.

2 years ago; Minor fix for 'restart-emacs' on MS-Windows
Eli Zaretskii [Sun, 17 Apr 2022 15:45:23 +0000 (18:45 +0300)]
; Minor fix for 'restart-emacs' on MS-Windows

* src/w32.c (w32_reexec_emacs): Fail if in -nw session.
* src/emacs.c (Fkill_emacs): Fix a typo.

2 years ago; * lisp/language/indian.el ("Brahmi"): Fix display of vowels.
Eli Zaretskii [Sun, 17 Apr 2022 14:48:13 +0000 (17:48 +0300)]
; * lisp/language/indian.el ("Brahmi"): Fix display of vowels.

2 years agoFix 'restart-emacs' on MS-Windows
Eli Zaretskii [Sun, 17 Apr 2022 14:20:03 +0000 (17:20 +0300)]
Fix 'restart-emacs' on MS-Windows

* src/w32.c (w32_reexec_emacs): New function, emulation of
'execvp' on Posix systems.
* src/w32.h (w32_reexec_emacs): Add prototype.
* src/emacs.c (main) [WINDOWSNT]: Save the original command line
and working directory.
(Fkill_emacs) [WINDOWSNT]: Call 'w32_reexec_emacs' instead of
'execvp'.  (Bug#17036)

2 years agoAdd a `restart-emacs' sanity check
Lars Ingebrigtsen [Sun, 17 Apr 2022 13:46:24 +0000 (15:46 +0200)]
Add a `restart-emacs' sanity check

* src/emacs.c (Fkill_emacs): Add a sanity check for argv.

2 years agoHandle bad actual actions during DND
Po Lu [Sun, 17 Apr 2022 13:23:35 +0000 (21:23 +0800)]
Handle bad actual actions during DND

* src/xterm.c (x_dnd_begin_drag_and_drop): Behave correctly when
the target gives us a bad atom.

2 years agoCheck whether we can restart in Fkill_emacs
Lars Ingebrigtsen [Sun, 17 Apr 2022 13:00:00 +0000 (15:00 +0200)]
Check whether we can restart in Fkill_emacs

* src/emacs.c (Fkill_emacs): Report an error if we can't restart.

2 years agoExplain what "pending" means in isearch
Lars Ingebrigtsen [Sun, 17 Apr 2022 12:23:00 +0000 (14:23 +0200)]
Explain what "pending" means in isearch

* doc/emacs/search.texi (Regexp Search): Explain what "Pending"
usually means (bug#10148).

2 years agoHandle connection errors in rcirc-keepalive
Philip Kaludercic [Sun, 17 Apr 2022 12:21:14 +0000 (14:21 +0200)]
Handle connection errors in rcirc-keepalive

* rcirc.el (rcirc-reconnect-delay): Declare variable before it is
defined.
(rcirc-keepalive): Handle rcirc-closed-connection, respecting
rcirc-reconnect-delay.
(rcirc-closed-connection): Add new error type.
(rcirc-send-string): Throw rcirc-closed-connection instead of a
generic error.

2 years agoAdd new function `flush-standard-output'.
Lars Ingebrigtsen [Sun, 17 Apr 2022 12:04:34 +0000 (14:04 +0200)]
Add new function `flush-standard-output'.

* doc/lispref/streams.texi (Output Functions): Document it.
* src/print.c (Fflush_standard_output): New function (bug#15180).

2 years ago; * subr.el (buffer-match-p): Ensure that (and) is always satisfied
Philip Kaludercic [Sun, 17 Apr 2022 12:03:33 +0000 (14:03 +0200)]
; * subr.el (buffer-match-p): Ensure that (and) is always satisfied

2 years agoFurther improve buffer-match-p related documentation
Philip Kaludercic [Sat, 16 Apr 2022 23:11:06 +0000 (01:11 +0200)]
Further improve buffer-match-p related documentation

* doc/lispref/buffers.texi (Buffer List): Add entries for
* buffer-match-p and match-buffers
* etc/NEWS: Give examples for buffer-match-p conditions
* lisp/window.el (display-buffer-assq-regexp): Mention what happens
when no entry in the alist satisfies a condition.

2 years agoAdd a new command `restart-emacs'
Lars Ingebrigtsen [Sun, 17 Apr 2022 11:37:51 +0000 (13:37 +0200)]
Add a new command `restart-emacs'

* doc/lispref/os.texi (Killing Emacs): Document it.

* lisp/files.el (save-buffers-kill-emacs): Add new RESTART parameter.
(restart-emacs): New function.

* src/emacs.c (terminate_due_to_signal, Fkill_emacs): Take an
optional RESTART parameter.

* test/lisp/files-tests.el
(files-tests-save-buffers-kill-emacs--confirm-kill-processes):
* src/xterm.c (x_connection_closed):
* src/xsmfns.c (Fhandle_save_session):
* src/keyboard.c (Fcommand_error_default_function, command_loop)
(command_loop_1, read_menu_command, read_event_from_main_queue)
(read_key_sequence, quit_throw_to_read_char):
* src/eval.c (process_quit_flag): Adjust Fkill_emacs callers.

2 years agoFix chunked encoding connections in url-http
Nacho Barrientos [Sun, 17 Apr 2022 11:00:12 +0000 (13:00 +0200)]
Fix chunked encoding connections in url-http

* lisp/url/url-http.el
(url-http-chunked-encoding-after-change-function): Ensure that chunked
encoding is interpreted correctly (bug#54989).

As per [0], the last chunk of 0 bytes is always accompanied by a last
CRLF that signals the end of the message:

     chunked-body   = *chunk
                      last-chunk
                      trailer-part
                      CRLF
                      ^ this one

     chunk          = chunk-size [ chunk-ext ] CRLF
                      chunk-data CRLF
     chunk-size     = 1*HEXDIG
     last-chunk     = 1*("0") [ chunk-ext ] CRLF

     chunk-data     = 1*OCTET ; a sequence of chunk-size octets

`url-http-chunked-encoding-after-change-function' is able to process
(and remove) that terminator IF AVAILABLE in the buffer when
processing the response, however it won't wait for it if it's not yet
there.

In other words:

| Bottom of the response buffer | Bottom of the full response |
|    (visible to url-http)      | (to be delivered to Emacs)  |
| ------------------------------+-----------------------------|
| 0\r\n                         | 0\r\n                       |
|                               | \r\n                        |

If the last chunk is processed when the bottom of the response buffer
is as above (note that the whole response has not yet been delivered
to Emacs), url-http will call the user callback without waiting for
the final terminator to be read from the socket.

This is normally not an issue when doing one-shot requests, but it's
problematic when the connection is reused immediately. As there are 2
bytes from the request N that have not been dealt with, they'll be
considered as part of the response of the request N+1. On top, it
turns out that when processing the headers of request N+1,
`url-http-wait-for-headers-change-function' will consider the request
a "headerless malformed response" delivering it broken to the caller.

The proposed fix implements a state in which
`url-http-chunked-encoding-after-change-function` properly waits for
the very last element of the message preventing the problem explained
above from happening.

For additional context, this bug was found when debugging
magit/ghub (see [1] for details).

[0] https://datatracker.ietf.org/doc/html/rfc7230#section-4.1
[1] https://github.com/magit/ghub/issues/81

Copyright-paperwork-exempt: yes

2 years agoRemove duplicates from Info-read-node-name-2
Oleh Krehel [Sun, 17 Apr 2022 10:50:05 +0000 (12:50 +0200)]
Remove duplicates from Info-read-node-name-2

* lisp/info.el (Info-read-node-name-2): Remove duplicates from
completions (bug#20365).

2 years agoFix instructions on how to enable password-store
Lars Ingebrigtsen [Sun, 17 Apr 2022 10:39:41 +0000 (12:39 +0200)]
Fix instructions on how to enable password-store

* doc/misc/auth.texi (Help for users): Give the correct
instructions on how to enable password store (bug#30900).

2 years agoClarify setopt NEWS entry
Lars Ingebrigtsen [Sun, 17 Apr 2022 10:27:40 +0000 (12:27 +0200)]
Clarify setopt NEWS entry

2 years agoDo some NEWS tagging
Lars Ingebrigtsen [Sun, 17 Apr 2022 10:18:58 +0000 (12:18 +0200)]
Do some NEWS tagging

2 years agoAdd a doc string to xref-current-item
Lars Ingebrigtsen [Sun, 17 Apr 2022 10:17:30 +0000 (12:17 +0200)]
Add a doc string to xref-current-item

* lisp/progmodes/xref.el (xref-after-jump-hook): Link to it.
(xref-current-item): Add a doc string to the now-public variable.

2 years agoClarify emacs-news--heading-p logic
Lars Ingebrigtsen [Sun, 17 Apr 2022 10:11:36 +0000 (12:11 +0200)]
Clarify emacs-news--heading-p logic

* lisp/textmodes/emacs-news-mode.el (emacs-news--heading-p):
Clarify the logic.

2 years agoMove some entries around in the NEWS file
Lars Ingebrigtsen [Sun, 17 Apr 2022 09:06:23 +0000 (11:06 +0200)]
Move some entries around in the NEWS file

2 years agoFix up the NEWS entry for emacs-news*-mode
Lars Ingebrigtsen [Sun, 17 Apr 2022 09:00:08 +0000 (11:00 +0200)]
Fix up the NEWS entry for emacs-news*-mode

2 years ago* src/filelock.c (Fcreate_lockfiles): Doc string fix.
Paul Eggert [Sun, 17 Apr 2022 08:50:59 +0000 (01:50 -0700)]
* src/filelock.c (Fcreate_lockfiles): Doc string fix.

2 years agoMerge from origin/emacs-28
Paul Eggert [Sun, 17 Apr 2022 08:44:30 +0000 (01:44 -0700)]
Merge from origin/emacs-28

4641bc1c55 Fix GC bug in filelock.c

2 years agoFix race conditions waiting for menu bar resize events on Haiku
Po Lu [Sun, 17 Apr 2022 08:13:49 +0000 (08:13 +0000)]
Fix race conditions waiting for menu bar resize events on Haiku

* src/haikufns.c (haiku_create_frame, haiku_create_tip_frame):
Clear `wait_for_event_type'.
(haiku_set_menu_bar_lines): Clean up coding style.
* src/haikuterm.c (haiku_wait_for_event): New function.
(haiku_read_socket): Implement waiting for MENU_BAR_RESIZE
events.
* src/haikuterm.h (struct haiku_output): New field
`wait_for_event_type'.

2 years agoFix race conditions waiting for menu bar resize events on Haiku
Po Lu [Sun, 17 Apr 2022 08:10:01 +0000 (08:10 +0000)]
Fix race conditions waiting for menu bar resize events on Haiku

* src/haikufns.c (haiku_create_frame, haiku_create_tip_frame)
(haiku_set_menu_bar_lines): Clear `wait_for_event_type'.
* src/haikumenu.c (set_frame_menubar): Wait for menu bar resize
event.
* src/haikuterm.c (haiku_wait_for_event): New function.
(haiku_read_socket): Handle waiting for MENU_BAR_RESIZE.
* src/haikuterm.h (struct haiku_output): New field
`wait_for_event_type'.

2 years agoGet rid of unused flags on Haiku
Po Lu [Sun, 17 Apr 2022 07:29:36 +0000 (07:29 +0000)]
Get rid of unused flags on Haiku

* src/haikufns.c (haiku_free_frame_resources): Syntax fixes.
* src/haikumenu.c (set_frame_menubar, run_menu_bar_help_event):
* src/haikuterm.c (haiku_read_socket): Stop setting and
consulting `menu_up_to_date_p'.
* src/haikuterm.h (struct haiku_output): Delete
`menu_up_to_date_p'.

2 years ago* src/haikufns.c (haiku_free_frame_resources): Free saved menu event.
Po Lu [Sun, 17 Apr 2022 07:16:03 +0000 (07:16 +0000)]
* src/haikufns.c (haiku_free_frame_resources): Free saved menu event.

2 years agoFix hangs when clicking on Haiku menu bar to activate frame
Po Lu [Sun, 17 Apr 2022 07:15:17 +0000 (07:15 +0000)]
Fix hangs when clicking on Haiku menu bar to activate frame

* src/haiku_io.c (haiku_len): Handle new event `MENU_BAR_CLICK'.
* src/haiku_support.cc (class EmacsWindow): Remove most of the
menu bar cv stuff.
(MessageReceived): Handle REPLAY_MENU_BAR message.
(EmacsWindow_signal_menu_update_complete): Delete function.
(be_replay_menu_bar_event): New function.

* src/haiku_support.h (enum haiku_event_type): New event type
`MENU_BAR_CLICK'.
(struct haiku_menu_bar_click_event): New struct.

* src/haikumenu.c (haiku_activate_menubar): New function.
* src/haikuterm.c (haiku_read_socket): Save a
MENU_BAR_ACTIVATE_EVENT and the menu bar click event instead of
handling the menu bar update synchronously.
(haiku_create_terminal): Set `activate_menubar_hook'.
(syms_of_haikuterm): Remove extraneous newline.

* src/haikuterm.h (struct haiku_output): New field
`saved_menu_event'.

2 years agoFix GC bug in filelock.c
Paul Eggert [Sun, 17 Apr 2022 08:06:46 +0000 (01:06 -0700)]
Fix GC bug in filelock.c

Fix a bug where if GC occurred at the wrong moment when locking a
file, the lock file’s name was trashed so file locking did not work.
This bug was introduced in Emacs 28.1.  The bug sometimes caused
filelock-tests-detect-external-change test failures on Fedora 35
x86-64 in an en_US.utf8 locale.
* src/filelock.c (lock_file_1, current_lock_owner, lock_if_free)
(lock_file, unlock_file, Ffile_locked_p):
Use Lisp_Object, not char *, for string, so that GC doesn’t trash
string contents.
(make_lock_file_name): Return the encoded name, not the original.
All callers changed.

2 years agoAdd 'G' argument predicate in Eshell
Jim Porter [Sat, 2 Apr 2022 05:06:02 +0000 (22:06 -0700)]
Add 'G' argument predicate in Eshell

* lisp/eshell/em-pred.el (eshell-predicate-alist): Add 'G' predicate.
(eshell-predicate-help-string): Document it.  (Bug#54470)

* test/lisp/eshell/em-pred-tests.el
(em-pred-test/predicate-effective-gid): New test.

* doc/misc/eshell.text (Argument Predication): Document 'G' predicate.

2 years agoAdd unit tests and documentation for Eshell predicates/modifiers
Jim Porter [Sat, 19 Mar 2022 19:41:13 +0000 (12:41 -0700)]
Add unit tests and documentation for Eshell predicates/modifiers

* lisp/eshell/esh-cmd.el (eshell-eval-argument): New function.
* lisp/eshell/esh-util.el (eshell-file-attributes): Pass original
value of FILE to 'file-attributes'.
* lisp/eshell/em-pred.el (eshell-predicate-alist): Change socket char
to '=', since 's' conflicts with setuid.
(eshell-modifier-alist): Fix 'E' (eval) modifier by using
'eshell-eval-argument'.  Also improve performance of 'O' (reversed
sort) modifier.
(eshell-modifier-help-string): Fix documentation of global
substitution modifier.
(eshell-pred-substitute): Fix infinite loop in some global
substitutions.
(eshell-join-members): Fix joining with implicit " " delimiter.
(Bug#54470)

* test/lisp/eshell/em-pred-tests.el: New file.

* doc/misc/eshell.texi (Argument Predication): New section.

2 years agoAdd unit tests and documentation for Eshell pattern-based globs
Jim Porter [Wed, 9 Mar 2022 01:07:26 +0000 (17:07 -0800)]
Add unit tests and documentation for Eshell pattern-based globs

* lisp/eshell/em-glob.el (eshell-extended-glob): Fix docstring.
(eshell-glob-entries): Refer to '**/' in error (technically, '**' can
end a glob, but it means the same thing as '*').  (Bug#54470)

* test/lisp/eshell/em-glob-tests.el: New file.

* doc/misc/eshell.texi (Globbing): Document pattern-based globs.

2 years agoMake sure the ftcr font driver is used on Haiku when Cairo is enabled
Po Lu [Sun, 17 Apr 2022 04:06:52 +0000 (04:06 +0000)]
Make sure the ftcr font driver is used on Haiku when Cairo is enabled

* src/haikufont.c (syms_of_haikufont): [USE_BE_CAIRO]: Make sure
`ftcr' superseeds `haiku'.

2 years agoDocument encode-time caveats
Paul Eggert [Sun, 17 Apr 2022 01:48:51 +0000 (18:48 -0700)]
Document encode-time caveats

* doc/lispref/os.texi (Time of Day, Time Conversion):
Move the warnings about DST being -1 to closer to where DST is
discussed, and reword and improve the discussions and warnings.
Be more precise about years before 1969 (possible west of UTC) vs the
Epoch.  Mention some problems due to leap seconds, leap years,
daylight saving transitions, and time zone changes.  Modernize
discussion of OS timestamp range.  Prefer secular ‘BCE’ to religious
‘BC’.  Omit discussion of decoded-time-add and make-decoded-time, as
they are in a library and are not always available; instead, mention
the library.  Warn about common mistakes when doing simple date
arithmetic.
* src/timefns.c (Fencode_time): In doc string, mention date
arithmetic and tighten up the wording a bit.

2 years agoStress difference of new and old ways to call `encode-time'
Max Nikulin [Sun, 17 Apr 2022 01:48:51 +0000 (18:48 -0700)]
Stress difference of new and old ways to call `encode-time'

* doc/lispref/os.texi (Time Conversion): Add a warning that blind
changing of code calling `encode-time' to use single list instead of
multiple values may cause deferred bugs since it is common to use nil
for ignored arguments such as DST in the old calling convention.
* src/timefns.c (encode-time): Mention the warning added to the elisp
reference in the docstring.

Refactoring related to `encode-time' caused (bug#54731), so it is better
to make apparent the difference between the recommended and the
obsolescent ways to call the function.  More details concerning the
purpose and limitations of the DST field are added after discussion with
Paul Eggert in (bug#54764).

2 years agoRestore pending_signals at a point in the DND event loop
Po Lu [Sun, 17 Apr 2022 00:38:37 +0000 (08:38 +0800)]
Restore pending_signals at a point in the DND event loop

* src/xterm.c (x_dnd_begin_drag_and_drop): Restore
pending_signals after unblock_input.

2 years agoAdd basic Texinfo support for Flymake.
Earl Hyatt [Tue, 7 Dec 2021 02:04:27 +0000 (21:04 -0500)]
Add basic Texinfo support for Flymake.

* lisp/textmodes/texinfo.el (texinfo-flymake, texinfo--flymake-proc)
(texinfo-mode):
Add the functions texinfo-flymake and process variable
texinfo--flymake-proc.  Modify texinfo-mode to automatically add this
function to the hook flymake-diagnostic-functions.

2 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Eli Zaretskii [Sat, 16 Apr 2022 18:05:54 +0000 (14:05 -0400)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs

Merge from emacs-28.

2 years ago; Merge from origin/emacs-28
Eli Zaretskii [Sat, 16 Apr 2022 17:58:34 +0000 (13:58 -0400)]
; Merge from origin/emacs-28

The following commit was skipped:

1c495aff71 Clarify when mode tagging is used

2 years agoMerge from origin/emacs-28
Eli Zaretskii [Sat, 16 Apr 2022 17:58:31 +0000 (13:58 -0400)]
Merge from origin/emacs-28

d53c999b4a Further vcs-cvs/rcs-responsible-p updates from master
dc3d1628ec ; * src/sysdep.c: Fix mistake in previous commit
855e15dbf1 Fix builds on older versions of macOS
9da744e450 Fix documentation of Outline minor mode options
a8bb12ab05 Improve discoverability of 'insert-directory-program'
3f166bdf44 ; * etc/PROBLEMS: Describe MS-Windows issues with fonts.  ...
803ac857ee Fix cursor motion under truncate-lines with Flymake fringe...

# Conflicts:
# etc/PROBLEMS
# lisp/outline.el
# src/sysdep.c

2 years ago; Merge from origin/emacs-28
Eli Zaretskii [Sat, 16 Apr 2022 17:46:05 +0000 (13:46 -0400)]
; Merge from origin/emacs-28

The following commit was skipped:

bc63651588 Make all vc-*-responsible-p functions return a string

2 years agoMerge from origin/emacs-28
Eli Zaretskii [Sat, 16 Apr 2022 17:46:04 +0000 (13:46 -0400)]
Merge from origin/emacs-28

b201823f63 Describe problems with invoking Python on MS-Windows
880f2734c9 A better fix for bug#54800
5ee959aa87 Add a comment about cl-concatenate
ab2b822b9b Revert "Make cl-concatenate an alias of seq-concatenate"

2 years ago; Merge from origin/emacs-28
Eli Zaretskii [Sat, 16 Apr 2022 17:46:04 +0000 (13:46 -0400)]
; Merge from origin/emacs-28

The following commit was skipped:

78e1640ad5 Fix 'window-text-pixel-width' when starting from display p...

2 years agoMerge from origin/emacs-28
Eli Zaretskii [Sat, 16 Apr 2022 17:45:50 +0000 (13:45 -0400)]
Merge from origin/emacs-28

5e47d6284b * lisp/gnus/mm-encode.el (mm-default-file-encoding): Fix "...
e71c7a7c60 Fix default-directory of buffers visiting files in renamed...
cccaa9c31d Fix a kill-append regression
33828e4818 * doc/misc/eww.texi (Advanced): Correct outdated info (bug...
e8d2f40f41 Clean up the MSDOS port
338eda09d8 Fix typo in next-error-find-buffer-function

# Conflicts:
# doc/misc/eww.texi

2 years ago; Merge from origin/emacs-28
Eli Zaretskii [Sat, 16 Apr 2022 17:43:33 +0000 (13:43 -0400)]
; Merge from origin/emacs-28

The following commit was skipped:

b385fd0b88 Revert "Make shell-resync-dirs handle whitespace in direct...

2 years agoMerge from origin/emacs-28
Eli Zaretskii [Sat, 16 Apr 2022 17:43:33 +0000 (13:43 -0400)]
Merge from origin/emacs-28

84a2857722 Fix scrolling of the stack window in Calc
9dd44505b1 ; * src/window.c (Fset_window_start): Clarify the effect o...
24a6c7c8c0 Update and fix instructions and scripts for updating the W...
886339747b Extend tramp-archive-test45-auto-load
ff997ad786 Ensure local `default-directory' in Tramp when needed
4f27588a16 Clarify "idleness" in the ELisp manual

2 years ago; Merge from origin/emacs-28
Eli Zaretskii [Sat, 16 Apr 2022 17:43:33 +0000 (13:43 -0400)]
; Merge from origin/emacs-28

The following commit was skipped:

98abf01fd6 Use correct signal oldset in posix_spawn implementation

2 years agoMerge from origin/emacs-28
Eli Zaretskii [Sat, 16 Apr 2022 17:43:32 +0000 (13:43 -0400)]
Merge from origin/emacs-28

aab36e1895 Fix error in tramp-archive-autoload-file-name-handler
11a1f7817e Merge branch 'emacs-28' of git.sv.gnu.org:/srv/git/emacs i...
93974198b6 Commit missing file from previous commit

2 years ago; Merge from origin/emacs-28
Eli Zaretskii [Sat, 16 Apr 2022 17:43:32 +0000 (13:43 -0400)]
; Merge from origin/emacs-28

The following commits were skipped:

71f51f1b9d Commit missing file from previous commit (Do not merge wit...
009e88e002 Merge with Tramp 2.5.2.3 (Do not merge with master)
4161a36849 cl-generic.el: Fix bug#46722

2 years agoMerge from origin/emacs-28
Eli Zaretskii [Sat, 16 Apr 2022 17:43:32 +0000 (13:43 -0400)]
Merge from origin/emacs-28

8c71ac606e Fix fallout from lexical-binding in vhdl-mode.el

2 years ago; Merge from origin/emacs-28
Eli Zaretskii [Sat, 16 Apr 2022 17:43:31 +0000 (13:43 -0400)]
; Merge from origin/emacs-28

The following commit was skipped:

dd3863d8bc ; Prepare the release branch for Emacs-28.2 development

2 years agoRegenerated ldefs-boot.el
Lars Ingebrigtsen [Sat, 16 Apr 2022 17:42:44 +0000 (19:42 +0200)]
Regenerated ldefs-boot.el

2 years agoDon't leave `C-h N' in a text-mode derived mode
Lars Ingebrigtsen [Sat, 16 Apr 2022 17:42:33 +0000 (19:42 +0200)]
Don't leave `C-h N' in a text-mode derived mode

* lisp/help.el (view-emacs-news): Use emacs-news-view-mode.
* lisp/textmodes/emacs-news-mode.el (emacs-news-view-mode): Split
into own mode to avoid confusion.

2 years agoFix button-buffer-map binding error
Lars Ingebrigtsen [Sat, 16 Apr 2022 17:32:26 +0000 (19:32 +0200)]
Fix button-buffer-map binding error

* lisp/button.el (button-buffer-map): Fix error in map rewriting
in previous commit.

2 years agoAdd new commands to go to headings/sections in the NEWS file
Lars Ingebrigtsen [Sat, 16 Apr 2022 17:14:34 +0000 (19:14 +0200)]
Add new commands to go to headings/sections in the NEWS file

* lisp/textmodes/emacs-news-mode.el (emacs-news-find-heading)
(emacs-news-goto-section): New commands.

2 years ago; * doc/emacs/mini.texi (Completion Commands): Fix markup.
Eli Zaretskii [Sat, 16 Apr 2022 16:37:00 +0000 (19:37 +0300)]
; * doc/emacs/mini.texi (Completion Commands): Fix markup.

2 years agoAdd emacs-news-previous-untagged-entry command
Lars Ingebrigtsen [Sat, 16 Apr 2022 16:35:11 +0000 (18:35 +0200)]
Add emacs-news-previous-untagged-entry command

* lisp/textmodes/emacs-news-mode.el
(emacs-news-next-untagged-entry): Allow searching backward.
(emacs-news-previous-untagged-entry): New command and keystroke.

2 years ago; * lisp/language/indian.el ("Brahmi"): Enhance composition rules.
Eli Zaretskii [Sat, 16 Apr 2022 16:27:25 +0000 (19:27 +0300)]
; * lisp/language/indian.el ("Brahmi"): Enhance composition rules.

2 years agoFold some too-long NEWS lines
Lars Ingebrigtsen [Sat, 16 Apr 2022 16:08:42 +0000 (18:08 +0200)]
Fold some too-long NEWS lines

2 years agoDo some NEWS tagging
Lars Ingebrigtsen [Sat, 16 Apr 2022 15:59:05 +0000 (17:59 +0200)]
Do some NEWS tagging

2 years agoDo some NEWS tagging
Lars Ingebrigtsen [Sat, 16 Apr 2022 15:38:37 +0000 (17:38 +0200)]
Do some NEWS tagging

2 years agoImprove exif-field discoverability
Lars Ingebrigtsen [Sat, 16 Apr 2022 15:35:44 +0000 (17:35 +0200)]
Improve exif-field discoverability

* lisp/image/exif.el (exif-parse-file, exif-parse-buffer): Link to
`exif-field'.

2 years agoDo some NEWS tagging
Lars Ingebrigtsen [Sat, 16 Apr 2022 15:33:19 +0000 (17:33 +0200)]
Do some NEWS tagging

2 years agoDocument project-kill-buffers-display-buffer-list
Lars Ingebrigtsen [Sat, 16 Apr 2022 15:30:32 +0000 (17:30 +0200)]
Document project-kill-buffers-display-buffer-list

* doc/emacs/maintaining.texi (Project Buffer Commands): Mention
project-kill-buffers-display-buffer-list.

* lisp/progmodes/project.el (project-kill-buffers): Link to
project-kill-buffers-display-buffer-list.

2 years agoDocument prefix to project-find-file
Lars Ingebrigtsen [Sat, 16 Apr 2022 15:27:37 +0000 (17:27 +0200)]
Document prefix to project-find-file

* doc/emacs/maintaining.texi (Project File Commands): Mention the
prefix in the project-find-file command.

2 years agoFix glyphless-display-mode indexing
Lars Ingebrigtsen [Sat, 16 Apr 2022 15:21:43 +0000 (17:21 +0200)]
Fix glyphless-display-mode indexing

* doc/lispref/display.texi (Glyphless Chars): Fix indexing.

2 years agoDocument completions-sort
Lars Ingebrigtsen [Sat, 16 Apr 2022 15:20:04 +0000 (17:20 +0200)]
Document completions-sort

* doc/emacs/mini.texi (Completion Options): Document completions-sort.