1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-04-27 16:51:06 -07:00
Commit graph

153611 commits

Author SHA1 Message Date
Alan Mackenzie
d87a34597c Merge branch 'master' into scratch/correct-warning-pos
Merge branch:
commit d29291d665 (HEAD -> master,
origin/master, origin/HEAD)
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Date:   Fri Jan 14 12:26:30 2022 -0500

    (macroexp--expand-all): Fix bug#53227 and bug#46636
2022-01-14 19:28:07 +00:00
Alan Mackenzie
57b698f159 Commit fixes and enhancements to the scratch/correct-warning-pos branch
No longer strip positions from symbols before each use of a form, instead
relying on the low level C routines to do the right thing.  Instead strip them
from miscellaneous places where this is needed.  Stip them alson in
`function-put'.

Push forms onto byte-compile-form-stack and pop them "by hand" rather than by
binding the variable at each pushing, so that it will still have its data
after an error has been thrown and caught by a condition case.  This gives an
source position to the ensuing error message.

* lisp/emacs-lisp/byte-run.el (byte-run--ssp-seen, byte-run--circular-list-p)
(byte-run--strip-s-p-1, byte-run-strip-symbol-positions): New functions and
variables, which together implement stripping of symbol positions.  The latest
(?final) version modifies the argument in place rather than making a copy.
(function-put): Strip symbol positions from all of the arguments before doing
the `put'.

* lisp/emacs-lisp/bytecomp.el (byte-compile--form-stack): has been renamed to
byte-compile-form-stack and moved to macroexp.el.
(byte-compile-initial-macro-environment (eval-and-compile)): Replace
macroexpand-all-toplevel with macroexpand--all-toplevel.
(displaying-byte-compile-warnings): bind byte-compile-form-stack here.
(byte-compile-toplevel-file-form, byte-compile-form): Push the top level form
onto byte-compile-form-stack (whereas formally the variable was bound at each
pushing).  Manually pop this from of the variable at the end of the function.

* lisp/emacs-lisp/cl-macs.el (cl-define-compiler-macro): Remove the symbol
stripping.

* lisp/emacs-lisp/comp.el (comp--native-compile): Set max-specpdl-size to at
least 5000 (previously it was 2500).  Bind print-symbols-bare to t.

* lisp/emacs-lisp/macroexp.el (byte-compile-form-stack): Definition move here
from bytecomp.el for easier compilation.
(byte-compile-strip-symbol-positions and associated functions): Removed.
(macro--expand-all): push argument FORM onto byte-compile-form-stack at the
start of this function, and pop it off at the end.
(internal-macroexpand-for-load): No longer strip symbol positions.  Bind
symbols-with-pos-enabled and print-symbols-bare to t.

* lisp/help.el (help--make-usage): Strip any position from argument ARG.

* src/fns.c (Fput): No longer strip symbol positions from any of the
arguments.
2022-01-14 19:06:04 +00:00
Stefan Monnier
d29291d665 (macroexp--expand-all): Fix bug#53227 and bug#46636
* lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Don't mis-expand
invalid funcalls.
2022-01-14 12:26:30 -05:00
Stefan Kangas
bef9fcc999 image-dired: Use MD5 for thumb filename generation
* lisp/image-dired.el (image-dired-thumb-name): Revert back to MD5 for
file name generation to preserve backwards-compatibility.  (Bug#53229)
2022-01-14 16:18:34 +01:00
Po Lu
30dbdecd4a * src/xterm.c: Add a small writeup on input handling on X.
Hopefully I will extend this section with details about more
aspects of X11 support in the future.
2022-01-14 19:50:40 +08:00
Lars Ingebrigtsen
85299991e4 Regenerate ldefs-boot.el 2022-01-14 12:12:47 +01:00
Lars Ingebrigtsen
edcb1f3a3b Skip ffap test on some systems 2022-01-14 12:10:46 +01:00
Lars Ingebrigtsen
dd3715b0cb Make function-alias-p use a better error symbol
* lisp/subr.el (function-alias-p): Use the same error symbol as
`indirect-function'.
2022-01-14 11:51:24 +01:00
Lars Ingebrigtsen
f729c333c7 Don't have ffap interpret ":/bin" as the current directory
* lisp/ffap.el (ffap-file-at-point): Don't interpret :/bin as the
current directory (bug#52441).
2022-01-14 10:51:15 +01:00
Lars Ingebrigtsen
19566fb51a Add a `shortdoc' convenience alias
* lisp/emacs-lisp/shortdoc.el (shortdoc): Add a convenience alias
(bug#52968).
2022-01-14 10:51:15 +01:00
Po Lu
e0268fd7d5 Fix leak when refs are sent to a frame during destruction on Haiku
* src/haikuterm.c (haiku_read_socket): Free b->ref if it was
sent from a frame that was destroyed.
2022-01-14 09:46:50 +00:00
Po Lu
a970a2a489 Make sure the X mouse position hook always looks at an X frame
* src/xterm.c (XTmouse_position): Check that f1 is an X frame.
2022-01-14 17:43:09 +08:00
Robert Pluim
53eaec6dc3 spelling-tests.el: use ert-with-temp-directory
* test/lisp/so-long-tests/spelling-tests.el (so-long-spelling): Use
;ert-with-temp-directory' instead of passing :directory to
'ert-with-temp-file', and restore the prefix/suffix values used
originally with 'make-temp-file'.
2022-01-14 10:06:21 +01:00
Robert Pluim
8df6f00223 spelling-tests.el: ignore errors when checking for ispell
ispell-valid-dictionary-list can signal an error, eg when the local
hunspell installation cannot find any dictionaries, so it's best to
ignore that error.

* test/lisp/so-long-tests/spelling-tests.el (so-long-spelling): Wrap
ispell check in ignore-errors, as ispell-valid-dictionary-list can
signal an error.
2022-01-14 10:06:21 +01:00
Lars Ingebrigtsen
373618d3a8 Add new context menu functions to the context-menu-functions type
* lisp/mouse.el (context-menu-functions): Add new menu functions
to the defcustom type list (bug#52973).
2022-01-14 09:49:44 +01:00
Philip Kaludercic
3f36d08362 Add command to invoke a search engine
* mouse.el (context-menu-online-search): Add new function
(eww-search-prefix): Declare variable from eww.el
(mouse-online-search-at-point): Add new command
2022-01-14 09:47:02 +01:00
Philip Kaludercic
f62fe2ebde Implement context-menu-mode support for hi-lock
* hi-lock.el (hi-lock-symbol-at-mouse): Add new command
(hi-lock-context-menu): Add new function
2022-01-14 09:46:59 +01:00
Philip Kaludercic
df44b2d956 Implement context-menu-mode support for man pages
* man.el (Man-at-mouse): Add new command
(Man-context-menu): Add new function
2022-01-14 09:46:56 +01:00
Juri Linkov
10cf00648b Fix @item in the Emacs manual
* doc/emacs/maintaining.texi (Identifier Search): Replace @itemx with @item.

* doc/emacs/search.texi (Special Isearch): Remove @item.
2022-01-14 10:32:36 +02:00
Lars Ingebrigtsen
e3b43f6cd8 Fix mailcap setup when no mailcap files exist
* lisp/net/mailcap.el (mailcap-parse-mailcaps): Ensure that we
populate mailcap--computed-mime-data even if none of the files
exist (bug#53009).
2022-01-14 09:26:06 +01:00
Lucien Cartier-Tilet
3c0e51e4e5 (battery-status-function) Fix errors in Termux
* lisp/battery.el (battery-status-function): In Termux, neither
/sys/ or /proc/ are readable on phones that are not rooted. This
patch makes Emacs verify if they are readable before it attemps
reading them (bug#53026).

Copyright-paperwork-exempt: yes
2022-01-14 09:26:06 +01:00
Robert Pluim
39114e1e2b Improve some nntp/nnimap error messages
* lisp/gnus/nntp.el (nntp-send-string):
(nntp-wait-for):
(nntp-accept-process-output):
(nntp-possibly-change-group):
* lisp/gnus/nnimap.el (nnimap-retrieve-headers): Improve error
messages (bug#53070).
2022-01-14 09:26:06 +01:00
Juri Linkov
102dd6e59b * lisp/progmodes/xref.el (xref-query-replace-in-results): Fix prefix-arg.
Use current-prefix-arg.
2022-01-14 10:18:43 +02:00
Juri Linkov
16764cc305 * doc/emacs/search.texi (Special Isearch): Put related items together.
Move isearch-char-by-name closer to isearch-emoji-by-name.
2022-01-14 10:17:37 +02:00
Eli Zaretskii
9c953c40a9 Update docs of 'xref-query-replace-in-results'
* doc/emacs/maintaining.texi (Identifier Search): Update the
documentation of 'xref-query-replace-in-results'.
2022-01-14 10:01:39 +02:00
Sergey Vinokurov
a5ce31a192 Use assq_no_quit on all local_var_alist accesses
* src/data.c (Fkill_local_variable):
* src/buffer.c (buffer_local_value): Use assq_no_quit instead of
Fassoc/Fassq on local_var_alist (bug#53242).

* src/data.c (Flocal_variable_p): Use assq_no_quit instead of
open-coding the search on local_var_alist.
2022-01-14 08:50:06 +01:00
Eli Zaretskii
3ae74c2e47 Improve documentation of 'xref-find-references-and-replace'
* etc/NEWS: Clarify the 'xref-find-references-and-replace' entry.

* doc/emacs/maintaining.texi (Identifier Search): Document
'xref-find-references-and-replace'.
2022-01-14 09:41:24 +02:00
Miha Rihtaršič
07335abeb4 Fix python-eldoc affecting unrelated comint processes
* lisp/progmodes/python.el (python-shell-send-string-no-output): Don't
let-bind comint-preoutput-filter-functions globally for all comint
processes.  Modify the behaviour of only the current python
process (bug#53219).
2022-01-14 08:34:27 +01:00
Eli Zaretskii
fa1dd64ba8 ; * INSTALL (Alternative window systems): Improve wording. 2022-01-14 09:26:20 +02:00
Robert Pluim
9cc1344c9f Improve function-alias-p documentation
* doc/lispref/functions.texi (Defining Functions): Improve the text.
2022-01-14 08:25:41 +01:00
Po Lu
1158c880e2 Try to make sure an XKB desc is always available
* src/xterm.c (handle_one_xevent): Re-retrieve XKB map if it's
unavailable for some reason upon handling an XKB map or keyboard
notify event.
2022-01-14 14:57:55 +08:00
Lars Ingebrigtsen
d63d647c11 Fix byte-compilation warning in pcvs-info
* lisp/vc/pcvs-info.el (cvs-mode-toggle-mark): Fix
byte-compilation warning.
2022-01-14 07:10:26 +01:00
Stefan Kangas
b9fecb0dae Merge from origin/emacs-28
34ca4ff9a5 Fix Edebug specification for inline functions (Bug#53068).
3c06c37a8b Remove mention of removed `gnus-treat-play-sounds' variabl...
2022-01-14 06:30:23 +01:00
Po Lu
7eb91aaaf4 * INSTALL: Document using Emacs on alternative window systems. 2022-01-14 12:34:18 +08:00
Dmitry Gutov
5114e97774 ; Tweak the NEWS entry 2022-01-14 04:45:39 +02:00
Dmitry Gutov
c7bf60465a xref-find-references-and-replace: New command
* lisp/progmodes/xref.el (xref-find-references-and-replace):
New command.
2022-01-14 04:38:39 +02:00
Dmitry Gutov
b2cc03d572 Steamline xref-query-replace-in-results
* lisp/progmodes/xref.el (xref-query-replace-in-results):
Steamline the most common scenario
(https://lists.gnu.org/archive/html/emacs-devel/2022-01/msg00864.html).
2022-01-14 04:30:25 +02:00
Po Lu
4e1bf9bf48 Fix out of bounds bitmap access on Haiku
* src/haiku_draw_support.cc (BView_DrawBitmapWithEraseOp): Fix
out of bounds access to bitmap data.
2022-01-14 01:24:34 +00:00
Po Lu
83ae392d59 Refresh keyboard mapping upon receiving new XKB map
* src/xterm.c (handle_one_xevent): Call
XkbRefreshKeyboardMapping where required.
2022-01-14 08:52:53 +08:00
Stefan Kangas
53dba32022 Prefer defvar-keymap to easy-mmode-defmap
* lisp/progmodes/gud.el (gud-minibuffer-local-map):
* lisp/vc/pcvs-info.el (cvs-status-map): Use defvar-keymap.

* lisp/emacs-lisp/easy-mmode.el (easy-mmode-defmap): Document as
deprecated.
2022-01-13 23:24:25 +01:00
Sam Steingold
fbffe2cc30 ; tweak doc 2022-01-13 12:13:41 -05:00
Eli Zaretskii
d983e080e0 Improve documentation of 'isearch-emoji-by-name'
* lisp/isearch.el (isearch-menu-bar-map, isearch-emoji-by-name):
Fix wording of documentation.

* etc/NEWS: Fix wording of the 'isearch-emoji-by-name' entry.

* doc/emacs/search.texi (Special Isearch): Fix wording of the
documentation of 'isearch-emoji-by-name'; move it out of the
enumeration that deals with non-ASCII characters in general.
2022-01-13 16:40:28 +02:00
Eli Zaretskii
7fd5e92931 Fix frame-undeletion menu items
* lisp/menu-bar.el (menu-bar-file-menu): Fix wording of the new
menu items and their help-echo.  Don't show "Undelete Frame"
in the menu unless there is a frame to undelete.
2022-01-13 16:18:50 +02:00
Eli Zaretskii
1ee9275c1b Avoid scrolling display when point moves into invisible text
* src/xdisp.c (try_cursor_movement): Handle point moving into
invisible text.  (Bug#53215)
2022-01-13 15:40:30 +02:00
Michael Albinus
2dc4b1008d * doc/lispref/functions.texi (Defining Functions): Fix thinko. 2022-01-13 14:09:44 +01:00
Philipp Stephani
34ca4ff9a5 Fix Edebug specification for inline functions (Bug#53068).
* lisp/emacs-lisp/inline.el (inline-quote): Fix Edebug specification.

* test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-inline): New unit
test.
2022-01-13 13:52:40 +01:00
Eli Zaretskii
8ec475e558 Improve preserving X coordinate during scroll commands
* src/window.c (window_scroll_pixel_based): Don't unnecessarily
move the iterator.  (Bug#53220)
2022-01-13 14:21:10 +02:00
Stefan Kangas
50654cf0b1 * lisp/jsonrpc.el (Version): Bump to 1.0.15. 2022-01-13 13:00:25 +01:00
Po Lu
8c8403af36 Fix passive input focus when the pointer moves over inferiors
* src/xterm.c (handle_one_xevent): Don't detect focus on entry
and exit events if we're not on the top window.
2022-01-13 19:43:55 +08:00
Mattias Engdegård
dbf55ec080 ; * test/lisp/progmodes/flymake-tests.el: remove duplicate function 2022-01-13 11:27:21 +01:00