mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2026-09-10 07:46:51 -04:00
Merge from origin/emacs-31
0748af27c0; * admin/notes/repo (Bisecting): Refine 'git bisect run'...c565251dd6; * admin/notes/repo (Bisecting): Provide a 'git bisect r...ba781ed754Fix blinking Eldoc messages3e7908fe23; Fix two tests924d88a736; Warn about killed buffers returned by 'window-prev-buff...b07e634e4cFix undefined behavior in pbm_load5404761a47; Correct treesit-font-lock-level customize type (issue#8...6464453558Avoid destructively modifying 'package--builtin-alist'ffad15bf73Update to Org 9.8.79ab1aa887aEnsure, that `buffer-file-name' is expanded in tramp-archive4721a44e8a; * doc/lispref/buffers.texi (Buffer File Name): Clarify ...9777acdc95; etc/NEWS: Fix duplicate "Emacs Lisp mode" heading. # Conflicts: # etc/NEWS
This commit is contained in:
commit
202d29726d
|
|
@ -118,6 +118,8 @@ again.
|
|||
This is a semi-automated way to find the revision that introduced a bug.
|
||||
Browse 'git help bisect' for technical instructions.
|
||||
|
||||
** Starting a bisection
|
||||
|
||||
It is recommended to start a bisection with the admin/git-bisect-start
|
||||
script. Using that script ensures that commits in branches that are
|
||||
the result of merging external trees into the Emacs repository, as
|
||||
|
|
@ -126,6 +128,34 @@ during the bisection process. That script can also be executed
|
|||
automatically when 'git bisect start' is called, with the help of a
|
||||
wrapper script that is included in its commentary section.
|
||||
|
||||
** Automated bisection
|
||||
|
||||
In the case that you have a command which exits non-zero if and only if
|
||||
the bug is present, then after starting the bisection, you can have Git
|
||||
automatically recompile Emacs at the relevant revisions and run that
|
||||
command for you, recording a result based on the exit code.
|
||||
|
||||
Suppose 'emacs -batch -eval "(foo)"' exits non-zero if and only if the
|
||||
bug is present. Then you may be able to use something like this:
|
||||
|
||||
git bisect run sh -xc '{ test -e Makefile && { make || make bootstrap; }; } \
|
||||
|| { git clean -xdff && ./autogen.sh autoconf && ./configure && make; } \
|
||||
|| exit 125; src/emacs -batch -eval "(foo)"'
|
||||
|
||||
This tries to recompile Emacs, tries a bootstrap build if that fails,
|
||||
and completely empties out your working tree of build products with 'git
|
||||
clean -xdff' if even that fails. If that isn't enough for a successful
|
||||
build, returning code 125 tells Git to skip evaluating that commit.
|
||||
|
||||
You can substitute in any options to './configure' you need on your
|
||||
machine, and the test command at the end. It is usually best to
|
||||
configure with '--without-native-compilation' for rebuild speed, unless
|
||||
the bug only occurs with native compilation enabled.
|
||||
|
||||
Note that this runs 'git clean -xdff', which deletes **any and all
|
||||
untracked files**, so it is best to run it in a throwaway Git worktree.
|
||||
You can create these using 'C-x v w c' from inside Emacs.
|
||||
|
||||
* Maintaining ChangeLog history
|
||||
|
||||
Older ChangeLog entries are kept in history files named ChangeLog.1,
|
||||
|
|
|
|||
|
|
@ -391,7 +391,7 @@ the buffer name are distinct and can be set independently.
|
|||
@xref{Visiting Files}.
|
||||
|
||||
@defun buffer-file-name &optional buffer
|
||||
This function returns the absolute file name of the file that
|
||||
This function returns the fully-expanded absolute file name of the file that
|
||||
@var{buffer} is visiting. If @var{buffer} is not visiting any file,
|
||||
@code{buffer-file-name} returns @code{nil}. If @var{buffer} is not
|
||||
supplied, it defaults to the current buffer.
|
||||
|
|
@ -405,10 +405,11 @@ supplied, it defaults to the current buffer.
|
|||
@end defun
|
||||
|
||||
@defvar buffer-file-name
|
||||
This buffer-local variable contains the name of the file being visited
|
||||
This buffer-local variable contains the absolute name of the file being visited
|
||||
in the current buffer, or @code{nil} if it is not visiting a file. It
|
||||
is a permanent local variable, unaffected by
|
||||
@code{kill-all-local-variables}.
|
||||
@code{kill-all-local-variables}. The value is identical to the one
|
||||
which the @code{buffer-file-name} function returns.
|
||||
|
||||
@example
|
||||
@group
|
||||
|
|
|
|||
|
|
@ -4939,6 +4939,11 @@ and @var{window-pos} is a marker that gives the window point position
|
|||
The list is ordered so that earlier elements correspond to more
|
||||
recently-shown buffers, and the first element usually corresponds to the
|
||||
buffer most recently removed from the window.
|
||||
|
||||
As a rule, elements are removed from this list when their buffer gets
|
||||
killed. In rare cases, however, elements may have survived the killing
|
||||
of their buffer. It's a good idea therefore to always check buffers for
|
||||
liveness when processing the return value of this function.
|
||||
@end defun
|
||||
|
||||
@defun set-window-prev-buffers window prev-buffers
|
||||
|
|
|
|||
|
|
@ -10013,8 +10013,8 @@ entries with a =NEXT= TODO keyword.
|
|||
((org-agenda-max-entries 5)))))
|
||||
#+end_src
|
||||
|
||||
Once you mark one of these five entry as DONE, rebuilding the agenda
|
||||
will again the next five entries again, including the first entry that
|
||||
Once you mark one of these five entries as DONE, rebuilding the agenda
|
||||
will show the next five entries again, including the first entry that
|
||||
was excluded so far.
|
||||
|
||||
You can also dynamically set temporary limits, which are lost when
|
||||
|
|
@ -10269,7 +10269,7 @@ the other commands, point needs to be in the desired line.
|
|||
Toggle Archives mode. In Archives mode, trees that are archived
|
||||
(see [[*Internal archiving]]) are also scanned when producing the
|
||||
agenda. To exit archives mode, press {{{kbd(v a)}}} again. The
|
||||
initial setting for this mode in new agenda buffers can set with the
|
||||
initial setting for this mode in new agenda buffers can be set with the
|
||||
variable ~org-agenda-start-with-archives-mode~, which can be set
|
||||
with the same values as ~org-agenda-archives-mode~.
|
||||
|
||||
|
|
@ -14552,11 +14552,13 @@ include:
|
|||
#+vindex: org-latex-tables-booktabs
|
||||
#+vindex: org-latex-tables-centered
|
||||
All three commands are toggles. =:booktabs= brings in modern
|
||||
typesetting enhancements to regular tables. The booktabs package
|
||||
has to be loaded through ~org-latex-packages-alist~. =:center= is
|
||||
for centering the table. =:rmlines= removes all but the very first
|
||||
horizontal line made of ASCII characters from "table.el" tables
|
||||
only.
|
||||
typesetting enhancements to regular tables. The =booktabs= package
|
||||
needs to be loaded through ~org-latex-packages-alist~, unless it is
|
||||
already included by your document class[fn:: For example,
|
||||
[[https://authors.acm.org/proceedings/production-information/preparing-your-article-with-latex][the
|
||||
ACM article template]].]. =:center= is for centering the table.
|
||||
=:rmlines= removes all but the very first horizontal line made of
|
||||
ASCII characters from "table.el" tables only.
|
||||
|
||||
- =:math-prefix=, =:math-suffix=, =:math-arguments= ::
|
||||
|
||||
|
|
|
|||
16
etc/NEWS.31
16
etc/NEWS.31
|
|
@ -1640,15 +1640,6 @@ at run-time for the use of the associated deprecated features.
|
|||
'(setq eieio-backward-compatibility t)' can be used to recover
|
||||
the previous silence.
|
||||
|
||||
** Emacs Lisp mode
|
||||
|
||||
+++
|
||||
*** Semantic highlighting support for Emacs Lisp.
|
||||
'emacs-lisp-mode' can now use code analysis to highlight more symbols
|
||||
more accurately. Customize the new user option
|
||||
'elisp-fontify-semantically' to non-nil to enable this feature, and see
|
||||
the Info node "(emacs) Semantic Font Lock" for more information.
|
||||
|
||||
** Text mode
|
||||
|
||||
---
|
||||
|
|
@ -2338,6 +2329,13 @@ To get the old behavior back, add an element '(enum-open
|
|||
|
||||
** Emacs Lisp mode
|
||||
|
||||
+++
|
||||
*** Semantic highlighting support for Emacs Lisp.
|
||||
'emacs-lisp-mode' can now use code analysis to highlight more symbols
|
||||
more accurately. Customize the new user option
|
||||
'elisp-fontify-semantically' to non-nil to enable this feature, and see
|
||||
the Info node "(emacs) Semantic Font Lock" for more information.
|
||||
|
||||
---
|
||||
*** Checkdoc no longer warns about missing footer lines in some cases.
|
||||
Emacs Lisp libraries have traditionally ended with a footer line
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
% Reference Card for Org Mode
|
||||
\def\orgversionnumber{9.8.6}
|
||||
\def\orgversionnumber{9.8.7}
|
||||
\def\versionyear{2026} % latest update
|
||||
\input emacsver.tex
|
||||
|
||||
|
|
|
|||
|
|
@ -144,6 +144,11 @@ This setting is an alternative to `help-at-pt-display-when-idle'. If
|
|||
the value is non-nil, `eldoc-show-help-at-pt' will show help-at-point
|
||||
via Eldoc."
|
||||
:type 'boolean
|
||||
:set (lambda (sym val)
|
||||
(custom-set-default sym val)
|
||||
(if val
|
||||
(add-hook 'eldoc-documentation-functions #'eldoc-show-help-at-pt 90)
|
||||
(remove-hook 'eldoc-documentation-functions #'eldoc-show-help-at-pt)))
|
||||
:version "31.1")
|
||||
|
||||
(defface eldoc-highlight-function-argument
|
||||
|
|
@ -417,7 +422,7 @@ Also store it in `eldoc-last-message' and return that value."
|
|||
(overlay-end show-paren--overlay)))))))
|
||||
|
||||
|
||||
(defvar eldoc-documentation-functions (list #'eldoc-show-help-at-pt)
|
||||
(defvar eldoc-documentation-functions nil
|
||||
"Hook of functions that produce doc strings.
|
||||
|
||||
A doc string is typically relevant if point is on a function-like
|
||||
|
|
@ -813,7 +818,9 @@ all."
|
|||
|
||||
(defun eldoc--supported-p ()
|
||||
"Non-nil if an ElDoc function is set for this buffer."
|
||||
(and (not (memq eldoc-documentation-strategy '(nil ignore)))
|
||||
;; Exclude ephemeral *eldoc* buffers, to avoid blinking (bug#81356).
|
||||
(and (not (string-prefix-p " *eldoc" (buffer-name)))
|
||||
(not (memq eldoc-documentation-strategy '(nil ignore)))
|
||||
(or eldoc-documentation-functions
|
||||
;; The old API had major modes set `eldoc-documentation-function'
|
||||
;; to provide eldoc support. It's impossible now to determine
|
||||
|
|
|
|||
|
|
@ -2186,7 +2186,7 @@ NAME should be a symbol."
|
|||
(package-desc-version (cadr elt))
|
||||
(package-desc-version available)))
|
||||
(not (package-vc-p (cadr elt))))))
|
||||
(nconc (and include-builtins (package--builtin-alist))
|
||||
(append (and include-builtins (package--builtin-alist))
|
||||
(package--alist)))))
|
||||
|
||||
;;;###autoload
|
||||
|
|
|
|||
|
|
@ -710,11 +710,12 @@ offered."
|
|||
(defun tramp-archive-handle-insert-file-contents
|
||||
(filename &optional visit beg end replace)
|
||||
"Like `insert-file-contents' for file archives."
|
||||
(setq filename (expand-file-name filename))
|
||||
(let ((result
|
||||
(insert-file-contents
|
||||
(tramp-archive-gvfs-file-name filename) visit beg end replace)))
|
||||
(when visit (setq buffer-file-name filename))
|
||||
(cons (expand-file-name filename) (cdr result))))
|
||||
(cons filename (cdr result))))
|
||||
|
||||
(defun tramp-archive-handle-load
|
||||
(file &optional noerror nomessage nosuffix must-suffix)
|
||||
|
|
|
|||
|
|
@ -9723,8 +9723,10 @@ the dedicated frame."
|
|||
(pos (marker-position marker)))
|
||||
(with-current-buffer buffer
|
||||
(save-excursion
|
||||
(save-restriction
|
||||
(widen)
|
||||
(goto-char pos)
|
||||
(org-tree-to-indirect-buffer arg))))
|
||||
(org-tree-to-indirect-buffer arg)))))
|
||||
(setq org-agenda-last-indirect-buffer org-last-indirect-buffer))
|
||||
|
||||
(defvar org-last-heading-marker (make-marker)
|
||||
|
|
|
|||
|
|
@ -112,7 +112,7 @@
|
|||
|
||||
(defcustom org-feed-alist nil
|
||||
"Alist specifying RSS feeds that should create inputs for Org.
|
||||
Each entry in this list specified an RSS feed tat should be queried
|
||||
Each entry in this list specified an RSS feed that should be queried
|
||||
to create inbox items in Org. Each entry is a list with the following items:
|
||||
|
||||
name a custom name for this feed
|
||||
|
|
|
|||
|
|
@ -5,13 +5,13 @@
|
|||
(defun org-release ()
|
||||
"The release version of Org.
|
||||
Inserted by installing Org mode or when a release is made."
|
||||
(let ((org-release "9.8.6"))
|
||||
(let ((org-release "9.8.7"))
|
||||
org-release))
|
||||
;;;###autoload
|
||||
(defun org-git-version ()
|
||||
"The Git version of Org mode.
|
||||
Inserted by installing Org or when a release is made."
|
||||
(let ((org-git-version "release_9.8.6"))
|
||||
(let ((org-git-version "release_9.8.7"))
|
||||
org-git-version))
|
||||
|
||||
(provide 'org-version)
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
;; URL: https://orgmode.org
|
||||
;; Package-Requires: ((emacs "28.2"))
|
||||
|
||||
;; Version: 9.8.6
|
||||
;; Version: 9.8.7
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
;;
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
;; Author: Carsten Dominik <carsten.dominik AT gmail DOT com>
|
||||
;; Nicolas Goaziou <n.goaziou AT gmail DOT com>
|
||||
;; Maintainer: Pedro A. Aranda <paaguti aT gmail d.T com>
|
||||
;; Keywords: org, text, tex
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
|
|
|
|||
|
|
@ -1598,7 +1598,7 @@ variable `treesit-font-lock-feature-list'.
|
|||
|
||||
Setting this variable directly with `setq' or `let' doesn't work;
|
||||
use `setopt' or \\[customize-option] instead."
|
||||
:type 'integer
|
||||
:type '(choice integer (alist :key-type symbol :value-type integer))
|
||||
:set #'treesit--font-lock-level-setter
|
||||
:version "29.1")
|
||||
|
||||
|
|
|
|||
15
src/image.c
15
src/image.c
|
|
@ -7774,20 +7774,23 @@ pbm_load (struct frame *f, struct image *img)
|
|||
}
|
||||
else
|
||||
{
|
||||
int expected_size = height * width;
|
||||
bool two_byte = 255 < max_color_idx;
|
||||
if (two_byte)
|
||||
expected_size *= 2;
|
||||
if (type == PBM_COLOR)
|
||||
expected_size *= 3;
|
||||
|
||||
if (raw_p && p + expected_size > end)
|
||||
if (raw_p)
|
||||
{
|
||||
ptrdiff_t expected_size;
|
||||
bool bad = ckd_mul (&expected_size, height, width);
|
||||
bad |= ckd_mul (&expected_size, expected_size,
|
||||
(two_byte ? 2 : 1) * (type == PBM_COLOR ? 3 : 1));
|
||||
bad |= end - p < expected_size;
|
||||
if (bad)
|
||||
{
|
||||
image_destroy_x_image (ximg);
|
||||
image_clear_image (f, img);
|
||||
image_error ("Invalid image size in image `%s'", img->spec);
|
||||
goto error;
|
||||
}
|
||||
}
|
||||
|
||||
for (y = 0; y < height; ++y)
|
||||
for (x = 0; x < width; ++x)
|
||||
|
|
|
|||
|
|
@ -2326,7 +2326,11 @@ WINDOW must be a live window and defaults to the selected one.
|
|||
|
||||
The return value is a list of elements (BUFFER WINDOW-START POS),
|
||||
where BUFFER is a buffer, WINDOW-START is the start position of the
|
||||
window for that buffer, and POS is a window-specific point value. */)
|
||||
window for that buffer, and POS is a window-specific point value.
|
||||
|
||||
In rare ocasions BUFFER may have been already killed. It's therefore
|
||||
advisable to always check the return value for the occurrence of dead
|
||||
buffers before using it. */)
|
||||
(Lisp_Object window)
|
||||
{
|
||||
return decode_live_window (window)->prev_buffers;
|
||||
|
|
|
|||
|
|
@ -100,7 +100,7 @@ global enabled."
|
|||
(condition-case err
|
||||
(semanticdb-enable-gnu-global-in-buffer)
|
||||
(error (if standardfile
|
||||
(error err)
|
||||
(signal err)
|
||||
(save-match-data
|
||||
(set-buffer (find-file-noselect semanticdb-test-gnu-global-startfile)))
|
||||
(semanticdb-enable-gnu-global-in-buffer))))
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@
|
|||
(error
|
||||
(unless (string= "No further undo information"
|
||||
(cadr err))
|
||||
(error err))))
|
||||
(signal err))))
|
||||
(undo-boundary)
|
||||
(insert "This")
|
||||
(undo-boundary)
|
||||
|
|
|
|||
Loading…
Reference in a new issue