Make it possible to mark generalized variables as obsolete
* doc/lispref/variables.texi (Adding Generalized Variables):
Document it.
* lisp/emacs-lisp/bytecomp.el (byte-compile-warn-obsolete): Alter
the interface so that it can also be used by generalized variable
warnings.
(byte-compile-function-warn): Adjust caller.
(byte-compile-check-variable): Adjust caller.
* lisp/emacs-lisp/gv.el (gv-get): Warn about obsolete generalized
variables (bug#49730).
(make-obsolete-generalized-variable): New function.
* lisp/emacs-lisp/byte-opt.el (byte-opt--bool-value-form):
Recognise boolean identity in aset, put, function-put and puthash.
* lisp/emacs-lisp/byte-opt.el (byte-compile-trueconstp):
Mark more functins as non-nil-returning, including the new
pos-bol and pos-eol.
* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns):
Mark pos-bol and pos-eol as side-effect-free.
Don't use the system-file-manager icon in the toolbar
* lisp/term/x-win.el (x-gtk-stock-map):
* lisp/term/pgtk-win.el (x-gtk-stock-map): Don't use
n:system-file-manager, because it's larger than the other Gtk
icons in some themes (bug#56627).
Make conf-javaprop-mode only claim that # lines are comments
* lisp/textmodes/conf-mode.el (conf-javaprop-mode-syntax-table):
Make obsolete and remove syntax entries for // and /* (bug#49077),
because only # are comments in javaprop files.
(conf-javaprop-mode): Adjust doc string to just mention #
comments.
* modus-themes.org (Option for inhibiting theme reload)
(Option for completion framework aesthetics, Advanced customization)
(Remap face with local value, Cycle through arbitrary colors)
(Custom Org emphasis faces, Note on git-gutter in Doom Emacs): Fix
typographic errors.
Stefan Kangas [Fri, 19 Aug 2022 18:19:59 +0000 (20:19 +0200)]
Fix return value of help--key-description-fontified
This fixes a bug with warning about obsolete commands in
`command-execute', where we incorrectly showed empty parenthesis
instead of the empty string when there was no keybinding for the new
command.
* lisp/help.el (help--key-description-fontified): Return nil instead
of the empty string if KEYS argument is nil.
* test/lisp/help-tests.el (help--key-description-fontified): New test.
(with-substitute-command-keys-test): Fix indentation.
Stefan Kangas [Fri, 19 Aug 2022 17:00:24 +0000 (19:00 +0200)]
Display new keybinding in obsolete command warning
* lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
* lisp/simple.el (command-execute): When warning about an obsolete
command, display the keybinding for the new command.
Stefan Kangas [Fri, 19 Aug 2022 15:17:41 +0000 (17:17 +0200)]
Delete two functions obsolete since Emacs 23
These were announced as removed in Emacs 28.1 NEWS, but apparently
never actually deleted: only their obsoletion warning was removed.
So the warnings were reintroduced in Emacs 28.2, and we now actually
delete them here instead.
Stefan Kangas [Fri, 19 Aug 2022 15:30:18 +0000 (17:30 +0200)]
Merge from origin/emacs-28
f2c0fb2615 Resurrect obsoletion warning for two functions 9c0eec4ed8 * src/window.c (select_window): Fix assert for buffer = no... 16dfe04be2 Find libgccjit on macOS with Homebrew differently
Augusto Stoffel [Sat, 13 Aug 2022 16:10:14 +0000 (18:10 +0200)]
python.el: Add completion-predicate symbol property to commands
* lisp/progmodes/python.el: Add a completion-predicate property to
most commands defined in this file; some are only useful in
python-mode, others in inferior-python mode as well. (Bug#53913)
(python-skeleton-define, python-define-auxiliary-skeleton): Add
appropriate completion-predicate properties.
(python--completion-predicate): New function.
* doc/lispref/positions.texi (Text Lines): Document them
* lisp/emacs-lisp/shortdoc.el: Mention them, and also the
buffer/line predicates.
* src/editfns.c (bol): New function.
(Fbol): New defun.
(Fline_beginning_position): Use `bol'.
(eol): New function.
(Feol): New defun.
(Fline_end_position): Use `eol'.
Augusto Stoffel [Sat, 13 Aug 2022 15:39:57 +0000 (17:39 +0200)]
python.el: Adjustments to Flymake backend
* lisp/progmodes/python (python-flymake-command): Advertise possiblity
to use pylint.
(python-flymake-command-output-pattern): Make compatible with recent
versions of pyflakes. (Bug#53913)
This is of little consequence in practice since the input is always a
vector of keys representing a prefix, where bit 7 isn't likely to be
set when higher bits are set, but it silences a (justified) warning.
* doc/misc/modus-themes.org (Sample configuration with and without
use-package): Add missing parenthesis to the manual.
(Option for completion framework aesthetics)
(Custom Org emphasis faces): Minor rewording.
(Custom hl-todo colors): Add instructions on how to add user-level
support for the 'solaire' package, as the modus-themes no longer
support it.
(Full support for packages or face groups): Remove 'solaire' from the
list of supported packages.
(Note on git-gutter in Doom Emacs)
(Note on php-mode multiline comments)
(Note on highlight-parentheses.el): Clarify need to re-load the
theme for changes to take effect.
(Acknowledgements): Update acknowledgements.
* etc/themes/modus-themes.el (modus-themes-faces): Fix typo.
(modus-themes--version): Reword docstring and update to current value.
(modus-themes--weight): Stop using deprecated alias of symbol.
* etc/themes/modus-operandi-theme.el:
* etc/themes/modus-vivendi-theme.el: Bump version number.
Po Lu [Fri, 19 Aug 2022 02:06:29 +0000 (10:06 +0800)]
Fix more calls to XQueryPointer for MPX
* src/xterm.c (x_dnd_begin_drag_and_drop): Set DND devices to -1
if XI2 is not supported on the given display.
(x_query_pointer): Make wrapper around x_query_pointer_1.
(x_query_pointer_1): Split off most of x_query_pointer to this
function. Allow a specific client pointer to be specified.
(x_dnd_update_tooltip_now, x_dnd_update_state): Use
x_query_pointer_1 with the right device instead of
XQueryPointer.
Stefan Kangas [Thu, 18 Aug 2022 21:47:47 +0000 (23:47 +0200)]
Improve obsoletion of image-transform-fit-to-{height,width}
* lisp/image-mode.el (image-transform-fit-to-height)
(image-transform-fit-to-width): Change obsoletion to refer to new
command 'image-transform-fit-to-window'.
Stefan Kangas [Thu, 18 Aug 2022 16:46:10 +0000 (18:46 +0200)]
Make toggling between image, hex and text more consistent
* lisp/image-mode.el (image-toggle-hex-display, image-toggle-display):
Ensure commands work correctly also in `hexl-mode'.
(image-mode-to-text):
(image-mode-as-hex, image-mode-as-text): Enable image-minor-mode also
in hexl-mode, which adds the "C-c C-x" keybinding for easier toggling.
Stefan Kangas [Thu, 28 Oct 2021 01:36:28 +0000 (03:36 +0200)]
New command image-transform-set-percent
* lisp/image-mode.el (image-transform-set-percent): New command.
(image-mode-map): Bind above new command to "s p".
* doc/emacs/files.texi (Image Mode): Document it.
Copy-edit doc strings and comments wrt bignum and fixnum
Don't say that a value is a fixnum if small enough and a bignum
otherwise, because that is now how Lisp integers always work,
and we generally don't expose the fixnum/bignum difference to the user
unless really necessary.
* lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Shorten the
informational GEN file relative to the stated directory
(bug#57265). This makes the message nicer for ELPA packages.
Stefan Kangas [Thu, 18 Aug 2022 11:17:11 +0000 (13:17 +0200)]
Improve cryptic syntax switch message in re-builder
* lisp/emacs-lisp/re-builder.el (reb-restart-font-lock): Move message
from here...
* lisp/emacs-lisp/re-builder.el (reb-change-syntax): ...to here.
Change it to be less cryptic.