Commit graph

161585 commits

Author SHA1 Message Date
Stefan Kangas
2fa8f1b77a elide-head: Make trailing "/" in URL optional
* lisp/elide-head.el (elide-head-headers-to-hide): Make trailing
"/" in the gnu.org URL optional for the GPL.
* test/lisp/elide-head-tests.el
(elide-head--test-headers-to-hide/gpl3-5): New test.
2022-10-30 14:32:24 +01:00
Damien Cassou
b1fa7974bb Make previous-buffer and next-buffer repeatable
* lisp/bindings.el (buffer-navigation-repeat-map): Add new map.
* lisp/bindings.el (previous-buffer, next-buffer): Mark as
repeatable.  (Bug#58800)
2022-10-30 14:14:13 +01:00
Eli Zaretskii
cb8918d7cc ; Fix unclean code in w32fns.c
* src/w32fns.c (setup_w32_kbdhook): Fix a typo and check errors
from the call to StringFromGUID2.  Reported by Juanma Barranquero
<lekktu@gmail.com>.
2022-10-30 14:45:18 +02:00
Damien Cassou
0922e755d2 Make winner key sequences repeatable in repeat-mode
* lisp/winner.el (winner-repeat-map): New variable.
(winner-undo, winner-redo): Put 'repeat-map' property with
'winner-repeat-map'.  (Bug#58799)
2022-10-30 13:19:05 +01:00
Stefan Kangas
16686bdb86 Prefer defvar-keymap in etags.el
* lisp/progmodes/etags.el (select-tags-table-mode-map): Prefer
defvar-keymap.
2022-10-30 13:16:03 +01:00
Eli Zaretskii
d4dffae72c ; Change parent language-environment of Kharoshthi
* lisp/language/misc-lang.el ("Kharoshthi"): Change its parent to
"Indian".  (Bug#58376)
* lisp/international/mule-cmds.el (set-language-info-alist): Fix
indentation.
2022-10-30 13:16:30 +02:00
Visuwesh
fa249fd824 Fix set-language-info-alist when multiple PARENTS are given
* lisp/international/mule-cmds.el (set-language-info-setup-keymap):
Function factored out from...
(set-language-info-alist): ...here.  Do not mess up the keymaps when
multiple parents are given in PARENTS.  (Bug#58376)
2022-10-30 13:09:14 +02:00
Eli Zaretskii
3ceaa91829 ; * src/sqlite.c (Fsqlite_select): Doc fix. (Bug#58885) 2022-10-30 10:31:00 +02:00
Juri Linkov
b489ca5070 * lisp/tab-bar.el: Minibuffer follows selected tabs (bug#58728)
(tab-bar-select-tab): Set set-window-configuration
arg DONT-SET-MINIWINDOW to t.  Reselect the previously active minibuffer
and unselect unnecessarily selected minibuffer.
(tab-bar-history-back, tab-bar-history-forward): Set set-window-configuration
arg DONT-SET-MINIWINDOW to t.
2022-10-30 09:33:38 +02:00
Po Lu
ae0ec1eede Plug big leaks upon display IO error
Frame GCs are still leaked, but there is nothing that can be
done in that case because the display connection is dead.

* src/xterm.c (x_delete_terminal): Always free xkb desc and
modmap.
2022-10-30 13:13:28 +08:00
Basil L. Contovounesios
1d62c96423 ; Silence warning in last hierarchy.el change. 2022-10-30 00:44:44 +03:00
Eli Zaretskii
44f1b1edcf ; * lisp/dired.el (dired--make-directory-clickable): Fix typo. 2022-10-29 19:52:48 +03:00
Eli Zaretskii
df7ca69920 Set 'native-comp-debug' to zero on MS-Windows
* lisp/emacs-lisp/comp.el (native-comp-debug): Don't emit debug
symbols on MS-Windows.  The default was originally made 1 because
without that, C backtraces on Windows would not show
natively-compiled functions correctly, or would even stop short of
reaching the topmost call frame.  But that turned out to be due to
a bug in GDB, which was meanwhile fixed in GDB 12.  So we can now
reset the value back to zero, and gain smaller *.eln files on
MS-Windows.
2022-10-29 18:59:04 +03:00
Stefan Kangas
81d7827f34 Prefer defvar-keymap in ps-mode.el
* lisp/progmodes/ps-mode.el (ps-mode-map, ps-run-mode-map): Prefer
defvar-keymap.
2022-10-29 17:08:51 +02:00
Stefan Kangas
5686df3d21 ; Remove redundant declares of w3m-minor-mode-map
* lisp/gnus/gnus-art.el (w3m-minor-mode-map):
* lisp/net/newst-backend.el (w3m-minor-mode-map): Don't declare.
2022-10-29 17:06:16 +02:00
Eli Zaretskii
647c36cbfa ; * etc/NEWS: Add entry about more performant overlays. 2022-10-29 16:34:08 +03:00
Alan Mackenzie
31e7b9c073 Fix the subr-arity returned by native compiled functions with lots of args
This fixes bug #58739.  Make subr-arity return, e.g., (12 . 12) rather than
(12 . many) for a function with a fixed number of arguments more than 8.

* lisp/emacs-lisp/comp.el (comp-prepare-args-for-top-level): Only return a cdr
of 'many when there are &rest arguments.

* src/eval.c (eval_sub): Also check for a fixed number of args over 8 when
using the nargs + *args calling convention.
(funcall_subr): Also check numargs <= 8 before using the fixed args calling
convention.  Include the case numargs > 8 in the aMany calling convention.

* src/lisp.h (DEFUN): Amend the comment about MANY.
2022-10-29 13:21:39 +00:00
Eli Zaretskii
174dd06464 Make Dired header clickable on non-Posix systems as well
* lisp/dired.el (dired--make-directory-clickable): Support
MS-Windows and MS-DOS absolute directory names with drive letters
and UNCs.  (Bug#21973)
2022-10-29 16:16:06 +03:00
Eli Zaretskii
e9bdf3d4bd Display the Dired buffer as unmodified initially
* lisp/dired.el (dired-readin): Make sure a newly-created Dired
buffer is shown as unmodified.  (Bug#58863)
2022-10-29 16:02:35 +03:00
Po Lu
f826f56a41 Fix another GCC warning
* src/nsterm.m (ns_draw_glyphless_glyph_string_foreground): Fix
another compiler warning.
2022-10-29 18:22:28 +08:00
Po Lu
6f3d8ec4f5 Fix crash destroying NS frame tool bar
* src/nsterm.m (ns_draw_glyphless_glyph_string_foreground): Work
around silly GCC bug causing splurious warnings.
([EmacsWindow dealloc]): Detach tool bar before dealloc'ing
window.  (bug#58857)
2022-10-29 18:22:28 +08:00
Alan Mackenzie
dfde4fc82b c-get-fontification-context: Refine the last non-default arm of the cond
This fixes bug #58772.

* lisp/progmodes/cc-fonts.el (c-get-fontification-context): Make the function
return (decl . nil) when MATCH-POS is in the second paren list of something
like DEFUN (..) (..).  Tidy up untidy code with save-excursion's for greater
accuracy.  Set a c-type text property value c-decl-arg-start to speed up
future calls.  Reindent the entire function.
2022-10-29 10:04:37 +00:00
Stefan Kangas
ce52746444 Prefer defvar-keymap in help.el
* lisp/help.el (help-key): New function.
(help-map): Prefer defvar-keymap.
2022-10-29 08:21:59 +02:00
Stefan Kangas
3b0296c8b0 Prefer defvar-keymap in page-ext.el
* lisp/textmodes/page-ext.el (pages--ctl-x-ctl-p-map)
(pages-directory-mode-map): Prefer defvar-keymap.
2022-10-29 04:02:20 +02:00
Stefan Kangas
aa23bf987a ; Minor cleanups in make-mode.el
* lisp/progmodes/make-mode.el
(makefile-query-one-target-method-function)
(makefile-insert-macro, makefile-insert-target)
(makefile-insert-target-ref, makefile-backslash-region)
(makefile-browser-next-line, makefile-browser-previous-line)
(makefile-remember-target): Minor cleanups.
2022-10-29 03:42:46 +02:00
Po Lu
6fca31fdb8 Fix last change
* src/itree.c (struct itree_iterator):
(itree_iterator_next): Fix some fields and const confusion.
2022-10-29 08:55:40 +08:00
Po Lu
fbf2bfba07 Fix function declarations in itree headers
* src/itree.h: Make all declarations `extern'.
2022-10-29 08:48:58 +08:00
Po Lu
7ca456da7f Fix coding style of latest feature branch merge
* src/itree.c (interval_stack_ensure_space)
(interval_stack_push_flagged, struct itree_iterator)
(struct check_subtree_result, check_subtree, check_tree)
(itree_newlimit, interval_tree_inherit_offset)
(interval_tree_propagate_limit, itree_node_init, itree_node_begin)
(itree_node_end, itree_create, interval_tree_rotate_left)
(interval_tree_rotate_right, interval_tree_insert_fix)
(interval_tree_insert, itree_insert, itree_node_set_region)
(interval_tree_contains, interval_tree_subtree_min)
(interval_tree_remove_fix, interval_tree_replace_child)
(interval_tree_transplant, itree_remove, itree_iterator_start)
(itree_insert_gap, itree_delete_gap, interval_node_intersects)
(itree_iterator_next, itree_iterator_narrow): Tabify.  Fix
comment and code coding style.
2022-10-29 08:47:16 +08:00
Po Lu
8562a23fc6 Include Cairo FreeType header when available
* src/xsettings.c: Include cairo-ft.h if CAIRO_HAS_FT_FONT.
(bug#58830)
2022-10-29 08:38:43 +08:00
Stefan Monnier
71589b101c Merge remote-tracking branch 'origin/feature/noverlay' 2022-10-28 17:44:44 -04:00
Stefan Kangas
69121c33e4 Fix warning in xsettings.c
* src/xsettings.c [USE_CAIRO]: Include cairo-ft.h.
Thanks to Vincent Bernat <bernat@luffy.cx>.
2022-10-28 23:09:49 +02:00
Stefan Kangas
61226605f6 ; Fix sit-for calling convention in zone.el
* lisp/play/zone.el (zone-pgm-2nd-putz-with-case)
(zone-pgm-putz-with-case): Don't use obsolete calling convention for
'sit-for'.
2022-10-28 22:34:52 +02:00
Stefan Kangas
cabb496d6e Remove redundant requires from make-mode.el
* lisp/progmodes/make-mode.el (imenu, dabbrev, add-log): Remove
redundant requires.
2022-10-28 22:30:31 +02:00
Stefan Kangas
44d2d23ffe Use new sit-for calling convention in zone.el
* lisp/play/zone.el (zone-exploding-remove): Don't use obsolete
calling convention for 'sit-for'.
2022-10-28 22:23:08 +02:00
Stefan Kangas
4fc5670a72 Minor doc fixes in make-mode.el
* lisp/progmodes/make-mode.el:
(makefile-insert-macro, makefile-pickup-everything)
(makefile-backslash-region): Minor doc fixes.
(makefile-browse): Use substitute-command-keys.
2022-10-28 22:23:08 +02:00
Stefan Kangas
bf0e4d1b03 Prefer defvar-keymap in make-mode.el
* lisp/progmodes/make-mode.el (makefile-mode-map)
(makefile-browser-map): Prefer defvar-keymap.
2022-10-28 22:23:08 +02:00
Stefan Kangas
6f42782a57 Prefer make-temp-name in make-mode.el
* lisp/progmodes/make-mode.el
(makefile-generate-temporary-filename): Make obsolete in favor of
'make-temp-name'.  Simplify.
(makefile-save-temporary): Don't use above obsolete function.
2022-10-28 22:23:08 +02:00
Stefan Kangas
dee3d93e73 Ensure temp file is deleted in makefile overview
* lisp/progmodes/make-mode.el (makefile-create-up-to-date-overview):
Ensure temp file is always deleted.
2022-10-28 22:23:08 +02:00
Stefan Kangas
943f95e03c Merge from origin/emacs-28
510020d30d ; Improve doc strings in whitespace.el

# Conflicts:
#	lisp/whitespace.el
2022-10-28 21:51:44 +02:00
Eli Zaretskii
27b817ad32 ; * doc/lispref/frames.texi (Drag and Drop): Fix typos and wording. 2022-10-28 22:06:31 +03:00
Alan Mackenzie
622724e95d CC Mode: Fontify cast types without adding them to c-found-types
* lisp/progmodes/cc-engine.el (c-forward-type): Test for the special new
value `just-one' of c-promote-possible-types, and if found, fontify the type,
but don't add it to c-found-types.
(c-forward-decl-or-cast-1): Add the new &optional parameter inside-macro.
Whilst checking for a cast construct, analyze the text following the closing
paren more rigorously.
Check for, and allow, the closing paren of a macro arglist before the putative
cast construct.

* lisp/progmodes/cc-fonts.el (c-font-lock-declarations): In the lambda
function, pass the parameter inside-macro to c-forward-decl-or-cast-1.

* lisp/progmodes/cc-langs.el (c-primary-expr-regexp-details): New
c-lang-defvar which calculates `c-primary-expr-regexp' and three match
numbers for various sub-expressions in the regexp.
(c-primary-expr-regexp): Now extracted from `c-primary-expr-regexp-details'.
(c-per-++---match, c-per-&*+--match, c-per-\(-match): New
c-lang-defconsts/vars extracted from `c-primary-expr-regexp-details'.
2022-10-28 17:50:33 +00:00
Stefan Monnier
d79cdcd4ff cconv.el: Fix regression in cconv-tests-interactive-closure-bug51695
The new code to make interpreted closures safe-for-space introduced
a regression in `cconv-tests-interactive-closure-bug51695`, only seen
when using TEST_LOAD_EL.
A few other issues were found and fixed along the way.

* lisp/emacs-lisp/cconv.el (cconv-fv): Change calling convention and
focus on finding the free variables.
(cconv-make-interpreted-closure): New function.

* lisp/loadup.el: Use `compiled-function-p` rather than
`byte-code-function-p` so we also use safe-for-space interpreted
closures when we build with native compilation.
(internal-make-interpreted-closure-function):
Use `cconv-make-interpreted-closure`.

* src/eval.c (syms_of_eval): Rename `internal-filter-closure-env-function`
to `internal-make-interpreted-closure-function`.
(Ffunction): Let that new var build the actual closure.

* test/lisp/emacs-lisp/cconv-tests.el
(cconv-tests-interactive-closure-bug51695): Test specifically the
interpreted case.
2022-10-28 11:33:24 -04:00
Jonas Bernoulli
de5a3fa1e5 * lisp/transient.el: Update to package version v0.3.7-173-g81b29ca 2022-10-28 16:27:25 +02:00
Po Lu
e8b59a9bb9 Improve Drag and Drop preamble in the Lisp reference manual
* doc/lispref/frames.texi (Drag and Drop): Reword contents and
clear up some ambiguities and redundancies.
2022-10-28 22:23:35 +08:00
Stefan Monnier
c0f7a276cf * lisp/emacs-lisp/re-builder.el: Cosmetic changes
(reb-valid-string): Declare it risky so the mode-line will obey its
text-properties.
(reb-lisp-syntax-p): No need to make it `defsubst`.
(reb-target-value): New function to replace the
`reb-target-binding` macro.  Adjust all callers.
(reb-auto-update): Give a more informative error message than just
"invalid" and give it a warning face.
(reb-update-regexp): Always update `reb-regexp-src` (it's harmless),
rather than only when it's necessary (reduces the need for advice in pcre.el).
2022-10-28 09:36:40 -04:00
Jonas Bernoulli
1073e16960 Include more information in error data for sqlite errors
Introduce a new 'sqlite-error' and use it for all errors signaled in
'src/sqlite.c', except those that already used 'sqlite-locked-error'.
Include the values of 'sqlite3_errcode', 'sqlite3_extended_errcode',
'sqlite3_errstr' and 'sqlite3_errmsg' in the error data.

* src/sqlite.c (load_dll_functions): Load 'sqlite3_extended_errcode'.
(sqlite-load-extension): Use 'xsignal1' as required by argument type.
(syms_of_sqlite): Introduce a new error type 'sqlite-error'.
(check_sqlite, sqlite-open, bind_values, sqlite-execute)
(sqlite-select, sqlite-load-extension, sqlite-next): Use it.
(sqlite_prepare_errdata): New function.
(sqlite_prepare_errmsg): Remove function.
(sqlite-execute, sqlite-select): Use new function.
(sqlite-locked-error): Derive from 'sqlite-error'.
2022-10-28 14:33:49 +02:00
Alan Mackenzie
f9ed80f9d0 CC Mode: Fix wrong fontification of enum foo bar; in Objective C Mode
This fixes bug #58795 and bug #58796.

* lisp/progmodes/cc-langs.el (c-type-prefix-kwds): Add the missing entry for
objc.
2022-10-28 12:15:18 +00:00
Po Lu
879c65a5fc Simplify scroll valuator reset handling
* src/xterm.c (xi_populate_device_from_info)
(xi_reset_scroll_valuators_for_device_id, xi_handle_device_changed)
(handle_one_xevent):
* src/xterm.h (struct xi_scroll_valuator_t): Get rid of
`pending_enter_reset', which was extremely convoluted and kept
hitting server bugs.  Now, valuators are reset upon all crossing
events.
2022-10-28 20:06:06 +08:00
Po Lu
90caddc986 Clean up some xwidgets code
* src/xterm.c (handle_one_xevent): [HAVE_XWIDGETS]: Fix coding
style and remove extra ifdefs.  Also avoid redundant frame
lookups in some cases.
2022-10-28 19:55:18 +08:00
Po Lu
93aff6e533 Fix Haiku subprocess support
* src/callproc.c: Disable posix_spawn on Haiku until some things
are fixed.
2022-10-28 11:41:08 +00:00