Merge from origin/emacs-27

48b9c47805 Minor fixes in authors.el and in tarball-making instructions
d7a4ceaa1e ; Add a new item to TODO
64fe805b19 Improve documentation of 'query-replace'
7cacf5da47 Update to Org 9.4.3

# Conflicts:
#	admin/authors.el
This commit is contained in:
Glenn Morris 2020-12-18 08:55:06 -08:00
commit 8d2d8d7f53
9 changed files with 89 additions and 27 deletions

View file

@ -467,7 +467,12 @@ Changes to files matching one of the regexps in this list are not listed.")
"notes/font-backend"
;; ada-mode has been deleted, now in GNU ELPA
"ada-mode.texi"
"doc/misc/ada-mode.texi"
"lisp/progmodes/ada-mode.el"
"lisp/progmodes/ada-prj.el"
"lisp/progmodes/ada-xref.el"
"GNUS-NEWS"
"etc/GNUS-NEWS"
"doc/misc/gnus-news.el"
"src/fingerprint-dummy.c"
"src/fingerprint.h"
@ -878,6 +883,7 @@ Changes to files in this list are not listed.")
"lisp/obsolete/spell.el"
"lisp/obsolete/swedish.el"
"lisp/obsolete/sym-comp.el"
"obsolete/sym-comp.el"
"library-of-babel.org"
"flymake-elisp.el"
"flymake-ui.el"
@ -999,7 +1005,8 @@ in the repository.")
("nxml/test.invalid.xml" . "test-invalid.xml")
("nxml/test.valid.xml" . "test-valid.xml")
("automated/Makefile.in" . "test/Makefile.in")
("test/rmailmm.el" . "rmailmm.el")
("test/rmailmm.el" . "test/manual/rmailmm.el")
("rmailmm.el" . "test/manual/rmailmm.el")
;; The one in lisp is eshell/eshell.el.
("eshell.el" . "eshell-tests.el")
("automated/eshell.el" . "eshell-tests.el")
@ -1123,10 +1130,13 @@ in the repository.")
("lisp/net/starttls.el" . "lisp/obsolete/starttls.el")
("url-ns.el" . "lisp/obsolete/url-ns.el")
("gnus-news.texi" . "doc/misc/gnus.texi")
("lisp/multifile.el". "lisp/fileloop.el")
("lisp/emacs-lisp/thread.el". "lisp/thread.el")
("lisp/multifile.el" . "lisp/fileloop.el")
("lisp/emacs-lisp/thread.el" . "lisp/thread.el")
("lisp/emacs-lisp/cl.el" . "lisp/emacs-lisp/cl-lib.el")
("lisp/progmodes/mantemp.el" . "lisp/obsolete/mantemp.el")
("src/mini-gmp.c" . "lib/mini-gmp.c")
("src/mini-gmp.h" . "lib/mini-gmp.h")
("sysdep.c" . "src/sysdep.c")
)
"Alist of files which have been renamed during their lifetime.
Elements are (OLDNAME . NEWNAME).")
@ -1600,7 +1610,7 @@ and a buffer *Authors Errors* containing references to unknown files."
;; the versioned ChangeLog.N rather than the unversioned ChangeLog.
(zerop (call-process "make" nil nil nil
"-C" root "change-history-nocommit"))
(error "Problem updating ChangeLog"))
(error "Problem updating ChangeLog, try \"C-u M-x authors RET\""))
(let ((logs (process-lines find-program root "-name" "ChangeLog*"))
(table (make-hash-table :test 'equal))
(buffer-name "*Authors*")

View file

@ -33,17 +33,32 @@ General steps (for each step, check for possible errors):
or some form of "git clean -x". It's probably simpler and safer to
make a new working directory exclusively for the release branch.
Make sure the tree is built, or at least configured. That's
because some of the commands below run Make, so they need
Makefiles to be present.
2. Regenerate the etc/AUTHORS file:
M-: (require 'authors) RET
M-x authors RET
(This first updates the current versioned ChangeLog.N)
If there is an "*Authors Errors*" buffer, address the issues.
If there was a ChangeLog typo, fix the relevant entry.
If a file was deleted or renamed, consider adding an appropriate
entry to authors-ignored-files, authors-valid-file-names, or
authors-renamed-files-alist.
If this says "Problem updating ChangeLog", find the reason for the
failure of the command it runs, viz.:
make -C ROOT change-history-nocommit
(where ROOT is the top-level directory where you run this). It
could be because there are uncommitted changes in ChangeLog.N, for
example. One possible way forward is to invoke "C-u M-x authors",
which will skip updating the versioned ChangeLog.N file.
After "M-x authors" finishes, if there is an "*Authors Errors*"
buffer, address the issues. If there was a ChangeLog typo, fix
the relevant entry. If a file was deleted or renamed, consider
adding an appropriate entry to variables authors-ignored-files,
authors-valid-file-names, or authors-renamed-files-alist in
authors.el.
If necessary, repeat 'C-u M-x authors' after making those changes.
Save the "*Authors*" buffer as etc/AUTHORS.

View file

@ -1771,6 +1771,7 @@ occurrence of @var{string}. When done, exit the recursive editing level
with @kbd{C-M-c} to proceed to the next occurrence.
@item e
@itemx E
to edit the replacement string in the minibuffer. When you exit the
minibuffer by typing @key{RET}, the minibuffer contents replace the
current occurrence of the pattern. They also become the new

View file

@ -4050,12 +4050,11 @@ replacement text. Here is an example:
@lisp
(setq org-link-abbrev-alist
'(("bugzilla" . "http://10.1.2.9/bugzilla/show_bug.cgi?id=")
("url-to-ja" . "http://translate.google.fr/translate?sl=en&tl=ja&u=%h")
("google" . "http://www.google.com/search?q=")
("gmap" . "http://maps.google.com/maps?q=%s")
("omap" . "http://nominatim.openstreetmap.org/search?q=%s&polygon=1")
("ads" . "https://ui.adsabs.harvard.edu/search/q=%20author%3A\"%s\"")))
'(("bugzilla" . "http://10.1.2.9/bugzilla/show_bug.cgi?id=")
("Nu Html Checker" . "https://validator.w3.org/nu/?doc=%h")
("duckduckgo" . "https://duckduckgo.com/?q=%s")
("omap" . "http://nominatim.openstreetmap.org/search?q=%s&polygon=1")
("ads" . "https://ui.adsabs.harvard.edu/search/q=%20author%3A\"%s\"")))
@end lisp
If the replacement text contains the string @samp{%s}, it is replaced with
@ -18285,8 +18284,7 @@ A note of warning: when @samp{cache} is used in a session, caching may
cause unexpected results.
When the caching mechanism tests for any source code changes, it does
not expand noweb style references (see @ref{Noweb Reference Syntax}). For
reasons why, see @uref{https://orgmode.org/list/86fvqqc8jb.fsf@@somewhere.org}
not expand noweb style references (see @ref{Noweb Reference Syntax}).
The @samp{cache} header argument can have one of two values: @samp{yes} or @samp{no}.

View file

@ -536,6 +536,42 @@ This should go with point, so that motion commands can also move
through tall images. This value would be to point as window-vscroll
is to window-start.
** Make redisplay smarter about which parts to redraw
Currently, redisplay has only 2 levels of redrawing: either it
redisplays only the selected window on the selected frame, or it
redisplays all the windows on all the frames. This doesn't scale well
when the number of visible frames is large.
Currently, two variables are used to make the decision what to
redisplay: update_mode_lines and windows_or_buffers_changed. These
are set by various functions called from Lisp, and if redisplay finds
one of them to be non-zero, it considers all the windows on all the
frames for redisplay.
The idea is to make the decision which parts need to be redrawn more
fine-grained. Instead of simple boolean variables, we could have a
bitmapped variable which records the kinds of changes done by Lisp
since the previous redisplay cycle. Then the decision what exactly
needs to be redrawn could be made based on the bits that are set.
For example, one reason to consider all frames is that some scrolling
command sets the update_mode_lines variable non-zero. This is done
because the frame title, which doesn't belong to any window, needs to
be reconsidered when the selected window is scrolled. But considering
the frame title doesn't have to redisplay all the other windows on the
frame, doesn't need to recompute the menu items and the tool-bar
buttons, and doesn't need to consider frames other than the selected
one. Being selective about what parts of the Emacs display need to be
reconsidered and redrawn given the changes since the last redisplay
will go along way towards making redisplay more scalable.
One way of making this change is to go through all the places that set
update_mode_lines and windows_or_buffers_changed, figure out which
portions of the Emacs display could be affected by each change, and
then implement the bitmap which will record each of these affected
display portions. The logic in redisplay_internal will then need to
be restructured so as to support this fine-grained redisplay.
** Address internationalization of symbols names
Essentially as if they were documentation, e.g. in command names and
Custom.

View file

@ -461,9 +461,15 @@ is selected, only the bare key is returned."
;; Display UI and let user select an entry or
;; a sub-level prefix.
(goto-char (point-min))
(unless (pos-visible-in-window-p (point-max))
(org-fit-window-to-buffer))
(setq header-line-format nil)
(org-fit-window-to-buffer)
(unless (pos-visible-in-window-p (1- (point-max)))
(setq header-line-format "Use C-n, C-p or C-v to navigate.")
(setq allowed-keys (append allowed-keys '("\C-n" "\C-p" "\C-v"))))
(let ((pressed (org--mks-read-key allowed-keys prompt)))
(while (and (member pressed '("\C-n" "\C-p" "\C-v")))
(org-scroll (string-to-char pressed))
(setq pressed (org--mks-read-key allowed-keys prompt)))
(setq current (concat current pressed))
(cond
((equal pressed "\C-g") (user-error "Abort"))

View file

@ -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.4.2"))
(let ((org-release "9.4.3"))
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.4.2"))
(let ((org-git-version "release_9.4.3"))
org-git-version))
(provide 'org-version)

View file

@ -8,7 +8,7 @@
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: https://orgmode.org
;; Version: 9.4.2
;; Version: 9.4.3
;; This file is part of GNU Emacs.
;;
@ -21214,8 +21214,4 @@ Started from `gnus-info-find-node'."
(run-hooks 'org-load-hook)
;; Local variables:
;; generated-autoload-file: "org-loaddefs.el"
;; End:
;;; org.el ends here

View file

@ -300,7 +300,7 @@ property on the headline itself.")
padding: 3px;
border: 1px solid black;
}
pre.src:hover:before { display: inline;}
pre.src:hover:before { display: inline; margin-top: 14px;}
/* Languages per Org manual */
pre.src-asymptote:before { content: 'Asymptote'; }
pre.src-awk:before { content: 'Awk'; }