* src/xdisp.c (erase_phys_cursor, show_mouse_face): Adjust
phys_cursor.x as needed if the cursor is inside mouse-highlight.
(get_cursor_offset_for_mouse_face): New function.
* src/dispnew.c (gui_update_window_end): Set
'mouse_face_overwritten_p' if the cursor is in mouse-face, to
trigger more thorough redisplay of the cursor.
(Bug#50660)
* lisp/window.el (window--display-buffer): Make sure
that (window-height . nil), (window-width . nil)
and (window-size . nil) action alist entries are processed
as intended.
* etc/NEWS: Mention the change.
* lisp/vc/vc.el (vc-switch-backend): Mark as obsolete (bug#50344).
(vc-transfer-file): Wrap the calls in 'with-suppressed-warnings'.
* lisp/simple.el (kill-ring-max): Double the default to 120.
* lisp/menu-bar.el (yank-menu-length): Doc fix.
(yank-menu-max-items): New variable.
(menu-bar-update-yank-menu): Don't display more than
'yank-menu-max-items' in the yank menu.
* doc/emacs/custom.texi (Changing a Variable):
* doc/emacs/killing.texi (Kill Ring):
* doc/lispintro/emacs-lisp-intro.texi (kill-new function):
* doc/lispref/text.texi (Internals of Kill Ring): Doc fix to use
the new value.
* lisp/abbrev.el (define-abbrev):
(define-abbrev-table): Mark all functions that have names that
start with "def" that should indent according to the current
heuristics (bug#43329).
* lisp/autoinsert.el (define-auto-insert):
* lisp/button.el (define-button-type):
* lisp/subr.el (define-key-after):
(define-mail-user-agent):
(define-keymap):
* lisp/widget.el (define-widget):
* lisp/emacs-lisp/package.el (define-package):
* lisp/international/mule-cmds.el (define-char-code-property):
* lisp/international/mule.el (define-charset):
(define-coding-system):
(define-translation-table):
(define-translation-hash-table):
This fixes the only remaining GCC diagnostics when emacs-28 is
configured with --enable-gcc-warnings. It does so by adding
ATTRIBUTE_RETURNS_NONNULL so that GCC knows certain functions
return nonnull. It also arranges for three of those functions to
always return nonnull; I thought these functions already were
doing so, but apparently not, and it is conceivable (though I
haven’t checked this) that changing these functions to always
return nonnull even on non-GNU platforms may fix unlikely
portability bugs elsewhere in Emacs. I used GCC 11.2.1 20210728
(Red Hat 11.2.1-1) on x86-64 when checking the diagnostics.
* configure.ac: Invoke gl_EEMALLOC before gl_INIT, in case
the regex code doesn't invoke gl_EEMALLOC; needed for src/alloc.c’s
use of MALLOC_0_IS_NONNULL.
* src/alloc.c (xmalloc, xzalloc, xrealloc): Don’t worry about the
special case where SIZE == 0, since lmalloc and lrealloc now
return null only on allocation failure.
(lmalloc, lrealloc): Return null only on allocation failure,
instead of having special cases that treat malloc (0) and
realloc (X, 0) as successes even when they return null.
* src/lisp.h: Add ATTRIBUTE_RETURNS_NONNULL to a few functions
that always return nonnull pointers, so that gcc -fanalyzer
does not issue diagnostics like “alloc.c: In function
‘allocate_vector_block’: alloc.c:2985:15: warning: dereference of
possibly-NULL ‘block’ [CWE-690] [-Wanalyzer-possible-null-dereference]”
as per <https://cwe.mitre.org/data/definitions/690.html>.
efb1cd7fa9 ; * etc/charsets/README: Update the format documentation.
cc796b7409 Tramp doc cleanup
a338d46060 Make emacs-lisp-byte-compile-and-load load the .elc file a...
3eac7dc780 Fix point movement in image-dired
4e9452a399 Improve shortdoc for vector
f223ac6ef9 Fix test bug when calloc returns null
ebeaa54f19 Pacify GCC 11 -fanalyzer on x86-64
56d1f42f30 Improve handling of non-character events in input methods
3fbe6fd367 ; Fix mistakes in last doc rewording about shorthands
* lisp/emacs-lisp/bytecomp.el (byte-compile-warning-types): Allow
inhibiting the `not-unused' warning (bug#31641). (There has been
some discussion about removing the `not-unused' warning, but it's
still in there, so making it possible to inhibit it seems like the
right thing to do.)
* lisp/emacs-lisp/cconv.el (cconv--analyze-use): Don't warn about
`not-unused'.
* lisp/progmodes/python.el
(python-shell-font-lock-post-command-hook): When doing multi-line
(`C-c SPC') inputs, remove all the preceding lines when doing
fontification (bug#47657).
* lisp/image-dired.el (image-dired-thumb-file-marked-p): Don't
move point in associated dired buffer.
(image-dired-delete-marked): Revert "Fix deletion of associated image"
because it was wrong and introduced another problem (bug#51152).
* doc/lispref/display.texi (Temporary Displays): Explain how
to override the effect of 'temp-buffer-resize-mode' with a
suitable 'display-buffer' action alist entry.
* doc/lispref/windows.texi (Buffer Display Action Alists):
Mention that an 'inhibit-switch-frame' entry might not work
with every WM. Describe the 'window-size' entry. Describe
how automatic window resizing can be overridden.
* lisp/help.el (resize-temp-buffer-window-inhibit): New variable.
(resize-temp-buffer-window): Handle case where user overrides
automatic resizing.
* lisp/window.el (temp-buffer-window-show): Bind
'resize-temp-buffer-window-inhibit' to nil around
'display-buffer'. Do not raise frame automatically to avoid
defeating 'inhibit-switch-frame'.
(window--display-buffer): Set 'resize-temp-buffer-window-inhibit'
to t when the action alist contains a 'window-height',
'window-width' or 'window-size' entry. Use
'modify-frame-parameters' instead of 'set-frame-height' and
'set-frame-width' to avoid that the latter step on each others
toes.
(display-buffer): Fix 'inhibit-switch-frame' part in and add
'window-size' part to doc-string.
* lisp/mh-e/mh-show.el:
* lisp/mh-e/mh-folder.el: Restore "obsolete key" message for "J w" that
was lost in the conversion from gnus-define-keys to define-keymap.
For discussion, see bug#51139.
* lisp/edmacro.el (edmacro-fix-menu-commands): Load mwheel to pacify
free variable warnings in without-x builds.
* lisp/mh-e/mh-compat.el: Declare image.el functions that are not
preloaded in without-x builds.
* lisp/mh-e/mh-utils.el (mh--with-image-load-path): New macro.
(mh-logo-display):
* lisp/mh-e/mh-tool-bar.el (mh-tool-bar-folder-buttons-init)
(mh-tool-bar-letter-buttons-init): Use it to pacify byte-compilation
warnings about image.el definitions not preloaded without-x.
* lisp/gnus/nnimap.el (nnimap-keepalive): If the keepalive "NOOP"
fails, remove the buffer with the dead process from
`nnimap-process-buffers' and `nnimap-connection-alist'.
(nnimap-find-connection): Do the same here, when the connection can't
be found.
(nnimap-close-server): Remove process buffer from lists when closing
server.
bug#51089
1. The 'punctuation' syntax class is actually empty in Emacs Lisp.
The class used in the implementation is 'symbol constituents';
2) The prefix to escape shorthands is '#_' together, not '#' or '_'.
* doc/lispref/symbols.texi (Shorthands): Fix exception.
66b8dfd060 (origin/emacs-28) ; Fix last change related to shorthands
3832b983cf In Fdelete_other_windows_internal fix new total window siz...
5deb0ec14f * lisp/mh-e/mh-show.el (mh-junk-whitelist): Custom obsoles...
cf1409db71 Don't apply shorthands to punctuation-only symbols (bug#51...
b3d0f53b29 * lisp/progmodes/python.el: Bump package version to 0.28.
* src/lread.c (read1): Minor stylistic fixes of the last change,
including the wording of the comment.
* doc/lispref/symbols.texi (Shorthands): Fix wording and typos.