Commit Graph

154451 Commits

Author SHA1 Message Date
Stefan Kangas
93dd09c709 ; Merge from origin/emacs-28
The following commit was skipped:

1bb5553619 ; Auto-commit of loaddefs files.
2022-02-02 06:30:32 +01:00
Stefan Kangas
a4b9dc58eb Merge from origin/emacs-28
9ab0b43a72 * etc/NEWS: Apply final fixes after proofreading.

# Conflicts:
#	etc/NEWS
2022-02-02 06:30:32 +01:00
Po Lu
d4c2f5b524 Improve behaviour of `mouse-autoselect-window' on Haiku
* src/haikuterm.c (haiku_read_socket): Don't select windows if
the selected window is a minibuffer window or a popup is
activated.
2022-02-02 04:56:55 +00:00
Po Lu
6869679be5 Fix display of vertical window dividers on Haiku
* src/haikuterm.c (haiku_draw_window_divider): Make drawing
consistent with X.
2022-02-02 02:25:00 +00:00
Po Lu
f1f0608fd1 Don't use XRender to fill rectangles unless an alpha channel exists
* src/xterm.c (x_clear_area): Don't use XRender unless
`alpha_bits' is set.
2022-02-02 09:17:31 +08:00
Stefan Kangas
bb4821c91e ; Auto-commit of loaddefs files. 2022-02-02 00:59:28 +01:00
Stefan Kangas
1bb5553619 ; Auto-commit of loaddefs files. 2022-02-02 00:57:27 +01:00
Juri Linkov
749ba35bf5 * lisp/replace.el (query-replace-read-from-default): New variable.
(query-replace-read-from-regexp-default): New variable.
(query-replace-read-from): Use new variables.

* lisp/progmodes/project.el (project-query-replace-regexp):
Let-bind query-replace-read-from-regexp-default to find-tag-default-as-regexp.

* lisp/progmodes/xref.el (xref-find-references-and-replace):
Let-bind query-replace-read-from-default to find-tag-default.

https://lists.gnu.org/archive/html/emacs-devel/2022-01/msg01909.html
2022-02-01 22:08:22 +02:00
Mattias Engdegård
4af491605c ; * src/eval.c (funcall_subr): Fix last change 2022-02-01 20:45:36 +01:00
Juri Linkov
e94f08b2d9 * lisp/tab-line.el: Support non-buffer tabs in some tab face functions.
(tab-line-tab-face-special, tab-line-tab-face-modified): For non-buffer tabs
when 'tab-line-tabs-function' is e.g. 'tab-line-tabs-buffer-groups',
try to get the buffer from the property 'buffer'.
https://lists.gnu.org/archive/html/emacs-devel/2022-01/msg01923.html
2022-02-01 21:42:51 +02:00
Andrea Corallo
02054d9cd1 * Improve 'maybe_defer_native_compilation'
* src/comp.c (maybe_defer_native_compilation): Always store the
function name in Vcomp_deferred_pending_h if pending for deferred
compilation.
2022-02-01 18:05:51 +01:00
Andrea Corallo
665ec8946d * lisp/startup.el (startup--require-comp-safely): Fix typo in a92c6191b0 2022-02-01 17:46:55 +01:00
Mattias Engdegård
a20f2b0ff9 Speed up calls to C primitives
* src/eval.c (funcall_subr): Test most likely cases first (conforming
calls to finite-arity or n-adic SUBRs), and the error cases last,
instead of doing it the other way around.  Simplify.
2022-02-01 17:37:05 +01:00
Michael Albinus
9ab0b43a72 * etc/NEWS: Apply final fixes after proofreading. 2022-02-01 14:17:32 +01:00
Po Lu
2b9c648de6 * src/pgtkterm.c (pgtk_draw_rectangle): Fix trivial typo. (bug#53677) 2022-02-01 20:15:37 +08:00
Andreas Schwab
2c4a24975c Remove extra \= from obsoletion message
* lisp/emacs-lisp/eieio.el (defclass): Remove \= from obsoletion
message.
* lisp/emacs-lisp/eieio-core.el (eieio-defclass-autoload)
(eieio-defclass-internal): Likewise.
2022-02-01 12:02:11 +01:00
Andrea Corallo
e7fd6fe7ec Rename comp--loadable' into comp--compilable'
* lisp/startup.el (comp--compilable): Rename from `comp--loadable'.
(startup--require-comp-safely): Update accordingly.
(startup--honor-delayed-native-compilations): Likewise.
* src/comp.c (syms_of_comp): Update.
(maybe_defer_native_compilation): Likewise.
2022-02-01 11:30:17 +01:00
Andrea Corallo
a92c6191b0 * Fix `startup--require-comp-safely' (bug#53675)
* lisp/startup.el (startup--require-comp-safely): Remove unnecessary
check.
2022-02-01 11:30:17 +01:00
Stefan Kangas
30ebb54410 Merge from origin/emacs-28
31ef751f94 Clarify documentation of a "face's font"
29bdedf12f Bind Qdebugger to Qdebug in signal_or_quit.
2022-02-01 06:57:16 +01:00
Po Lu
558c4dafa3 Clean up Haiku display structures
* src/haikufns.c (haiku_set_parent_frame): Set `parent_desc'
correctly.

* src/haikuterm.h (C_FRAME, C_FONT, C_TERMINAL):
(struct haiku_display_info):
(struct haiku_output): Get rid of C_* preprocessor defines,
since these files are no longer included in any way by C++ files.
2022-02-01 05:39:28 +00:00
Po Lu
cfbb6359ce ; * lisp/select.el (gui--selection-value-internal): Fix comment. 2022-02-01 13:24:55 +08:00
Stefan Kangas
7b63c00af4 Update publicsuffix.txt from upstream
* etc/publicsuffix.txt: Update from
https://publicsuffix.org/list/public_suffix_list.dat
dated 2022-01-27 20:16:15 UTC.
2022-02-01 06:11:36 +01:00
Po Lu
103ddfe387 Display images with a mask correctly when `alpha-background' is set
* src/xterm.c (x_query_frame_background_color): Return value
adjusted for background alpha.
(x_draw_image_glyph_string): Respect `alpha-background' when
generating background pixmap.
2022-02-01 12:58:00 +08:00
Po Lu
99c637499e Only apply last change to the clipboard
* lisp/select.el (gui--selection-value-internal): Only return
nil if we own the clipboard.
2022-02-01 10:13:15 +08:00
Po Lu
16174d796f Avoid extraneous selection querying if we own the selection
* lisp/select.el (gui--selection-value-internal): Return nil if
`gui-backend-selection-owner-p' on window systems where it is
reliable.
2022-02-01 02:03:05 +00:00
Po Lu
d6d73224a2 Make fringe bitmaps respect alpha-background
* src/xterm.c (x_draw_fringe_bitmap): Respect alpha-background
on non-overlay fringe bitmaps.
* src/xterm.h (struct x_display_info): New field `alpha_mask'.
2022-02-01 09:38:26 +08:00
Lars Ingebrigtsen
63edde9f0e Fix nnregistry byte compilation warning
* lisp/gnus/nnregistry.el (nnregistry-server-opened)
(nnregistry-open-server): Fix byte compilation warning.
2022-01-31 22:36:25 +01:00
Stefan Monnier
cce477cad7 (byte-compile-eval): Adjust to changes in load-history
The `function-history` patch introduced a regression which caused
spurious compiler warnings.  Fix it.
The new code also fixes a bug in the old code, thus causing some
new non-spurious warnings.  Fix them as well.

* lisp/emacs-lisp/bytecomp.el (byte-compile-eval): Adjust to changes in
`load-history`.

* lisp/gnus/gnus-group.el (nnrss-discover-feed)
(nnrss-save-server-data): Use `declare-function`.

* lisp/cedet/semantic/wisent/comp.el (wisent-defcontext)
(wisent-with-context):
* lisp/emacs-lisp/comp.el (comp-op-case): Silence compiler warning.
2022-01-31 16:25:09 -05:00
Alan Mackenzie
be2566eeab Enlarge max-specpdl-size for generation of files in .../admin/grammars
* admin/grammars/Makefile.in: Add a --eval clause to set max-specpdl-size to
5000 (previously 2500) for these targets.
2022-01-31 19:46:27 +00:00
Eric Abrahamsen
5819fcb63b Don't remove dummy.group from gnus-newsrc-alist on Gnus save
bug#53352

* lisp/gnus/gnus-start.el (gnus-gnus-to-quick-newsrc-format): This
function was removing dummy.group from the global value of
`gnus-newsrc-alist' on save; we only wanted to remove it temporarily.
2022-01-31 11:26:23 -08:00
Eric Abrahamsen
161382f76d Obsolete gnus-registry-enabled in favor of checking gnus-registry-db
* lisp/gnus/gnus-registry.el (gnus-registry-enabled): Obsolete this
variable; recommend using `gnus-registry-db' as a boolean instead.
(gnus-registry-load, gnus-registry-register-message-ids,
gnus-registry-article-marks-to-chars,
gnus-registry-article-marks-to-names, gnus-registry-clear,
gnus-registry-install-p): In all these functions, test
`gnus-registry-db' instead of `gnus-registry-enabled'. We no longer
set or clear that variable.
2022-01-31 11:25:42 -08:00
Juri Linkov
70f994f6d0 * lisp/vc/vc.el (vc-diff-internal): Assume revert-buffer is in current buffer.
Support the case when reverting is in the buffer with a name other than
the default name "*vc-diff*".  Then don't try to switch to the buffer
"*vc-diff*" with an assumption that revert-buffer is always performed
in the current buffer (bug#28852).
2022-01-31 20:46:06 +02:00
Alan Mackenzie
cf9c40159a * lisp/progmodes/cc-mode.el (c-common-init): Bind case-fold-search to nil
This fixes bug #53605.
2022-01-31 17:44:59 +00:00
Lars Ingebrigtsen
6766e30e1b Adjust toggle-menu-bar-mode-from-frame doc string
* lisp/menu-bar.el (toggle-menu-bar-mode-from-frame): Adjust the
doc string to reflect what it does (bug#43383).
2022-01-31 18:30:15 +01:00
Eli Zaretskii
31ef751f94 Clarify documentation of a "face's font"
* doc/lispref/display.texi (Attribute Functions)
(Face Attributes): Clarify that the :font attribute of a face and
the font returned by 'face-font' are by default for ASCII
characters.  (Bug#53664)
2022-01-31 19:29:54 +02:00
Alan Mackenzie
29bdedf12f Bind Qdebugger to Qdebug in signal_or_quit.
* src/eval.c (signal_or_quit): Bind the correct variable, Qdebugger (not
Vdebugger) to Qdebug in the section for errors in batch jobs.
(syms_of_eval): New DEFSYM for Qdebugger.
2022-01-31 17:20:45 +00:00
Eli Zaretskii
402988ec33 Minor copyedits of 'function-history' documentation
* doc/lispref/loading.texi (Where Defined): Fix indexing and
punctuation.
2022-01-31 18:59:43 +02:00
Lars Ingebrigtsen
530cb3a3f8 Fix misplaced braces in loading.texi
* doc/lispref/loading.texi (Where Defined): Fix misplaced braces.
2022-01-31 17:34:03 +01:00
Lars Ingebrigtsen
dbf08491a5 Make more ranges sort properly in describe-keymap
* lisp/subr.el (keymap-canonicalize): Don't consider two-character
ranges as a range (bug#11325).
2022-01-31 17:32:26 +01:00
Stefan Monnier
1d1b664fbb (function-history): New symbol property (bug#53632)
Rework the code we have in Fdefalias that tries to keep track
of definitions so as to be able to undo them later.

We used to store in `load-history` when an autoload is redefined as
a non-autoload and in the `autoload` symbol property we used to store
the autoload data that used to be used before it got overriden.

Instead, store the history of the function definition of
a symbol in its `function-history` symbol property.
To make this list cheap in the default case, the latest value is not stored
in the list (since it's in the `symbol-function`) and neither is the first
file.  So if there's only been a single definition (the most common case),
the list is empty and the property is just not present at all.

The patch also gets rid of the `autoload` vs `defun` distinction in
`load-history` which seems unnecessary (a significant part of the
motivation for this patch was to get rid of the special handling of
autoloads in this part of the code).

* src/data.c (add_to_function_history): New function.
(defalias): Use it.  Don't add the `t` entries for autoloads and always
use `defun` regardless of the kind of definition.
Change `Vautoload_queue` to only hold the function
symbols since the rest is now available from `function-history`.
* src/eval.c (un_autoload): Adjust accordingly.

* src/lread.c (load-history): Udate docstring.

* lisp/loadhist.el (loadhist-unload-filename): New var.
(unload-feature): Bind it.
(loadhist-unload-element): Document its availability.
(loadhist--restore-autoload): Delete var.
(loadhist--unload-function): Delete function.
(loadhist-unload-element): Delete the `t` and `autoload` methods.
Rewrite the `defun` method using `function-history`.

* lisp/help-fns.el: Require `seq`.
(help-fns--autoloaded-p): Rewrite.
(help-fns-function-description-header): Adjust call accordingly.

* doc/lispref/loading.texi (Where Defined): Remove `autoload` and `t`
entries from `load-history` since we don't generate them any more.
Document the `function-history` which replaces the `autoload` property.
(Unloading): Adjust symbol property name accordingly.

* test/lisp/loadhist-resources/loadhist--bar.el:
* test/lisp/loadhist-resources/loadhist--foo.el: New files.
* test/lisp/loadhist-tests.el (loadhist-tests-unload-feature-nested)
(loadhist-tests-unload-feature-notnested): New tests.
2022-01-31 11:07:26 -05:00
Lars Ingebrigtsen
90bbf27f02 Make Gnus address checking more resilient
* lisp/gnus/gnus-art.el (article--check-suspicious-addresses):
Check that we have an email address before checking the validity
(bug#53651).
2022-01-31 16:41:32 +01:00
Lars Ingebrigtsen
5d40e1be7e Clarify that INSTALL isn't for Git checkouts (bug#53627) 2022-01-31 16:24:25 +01:00
Michael Albinus
3ca32105d2 Extend filelock-tests.el for bug#53207
* test/src/filelock-tests.el (filelock-tests--fixture): Make it a
defmacro.  Adapt callees.
(filelock-tests-unlock-spoiled, filelock-tests-kill-buffer-spoiled):
Simplify.
(filelock-tests-detect-external-change): New test
2022-01-31 15:26:06 +01:00
Po Lu
6da021fce8 Fix artifacting on PGTK when bits are copied with an alpha channel
* src/pgtkterm.c (x_draw_stretch_glyph_string): Draw background
respecting `alpha-background'.
(pgtk_copy_bits): Use CAIRO_OPERATOR_SOURCE to draw onto the
destination surface.
2022-01-31 21:13:41 +08:00
Eli Zaretskii
fd42ba3adb Improve 'latin1-display-ucs-per-lynx'
* lisp/international/latin1-disp.el (latin1-display-ucs-per-lynx):
Don't judge display-ability of all the characters by testing just
one of them.  Instead, install an ASCII equivalent of every
character that the terminal cannot display.
2022-01-31 15:08:08 +02:00
Po Lu
4efab4330e ; * src/gtkutil.c (xg_create_frame_widgets): Avoid private GTK symbol. 2022-01-31 21:01:45 +08:00
Po Lu
46473a4eac Implement `alpha-background' on PGTK
* src/ftcrfont.c (ftcrfont_draw): Respect alpha-background where
appropriate.
* src/gtkutil.c (xg_create_frame_widgets): Swap some
conditionals around to get the right visual and signal handlers
on PGTK.
(xg_widget_style_updated): Likewise.
* src/pgtkfns.c (pgtk_set_alpha_background): New function.
(pgtk_frame_parm_handlers): Add it instead of the generic param
handler.
(Fx_create_frame): Fix typo.
* src/pgtkterm.c (pgtk_fill_rectangle):
(pgtk_set_cr_source_with_gc_foreground):
(pgtk_set_cr_source_with_gc_background):
(pgtk_set_cr_source_with_color): New argument
`respect_alpha_backend'.  All callers changed.
* src/pgtkterm.h: Update function prototypes.
2022-01-31 20:21:04 +08:00
Po Lu
790ad61fcf Fix accesses to GTK structures on tooltip frames
* src/xfns.c (xic_set_preeditarea): Don't set the GTK context on
tooltip frames.
(x_set_alpha_background): Don't make tooltip frames paintable.
* src/xterm.c (x_xr_ensure_picture): Get rid of GDK visual code.
This is now done in a better way inside xg_create_frame_widgets.
(bug#53654)
2022-01-31 18:38:24 +08:00
Po Lu
2ce7ac1c50 * src/haikufns.c (Fx_display_visual_class): Return correct values. 2022-01-31 10:14:52 +00:00
Po Lu
5edef4e98c Improve portability of GDK visual code
* src/gtkutil.c (xg_create_frame_widgets): Look up the visual
instead of assuming it based on the depth.
2022-01-31 18:13:19 +08:00