[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 8d2d8d7 1/2: Merge from origin/emacs-27
From: |
Glenn Morris |
Subject: |
master 8d2d8d7 1/2: Merge from origin/emacs-27 |
Date: |
Fri, 18 Dec 2020 11:55:23 -0500 (EST) |
branch: master
commit 8d2d8d7f53055d93ed2d8a435533c9a6a6303725
Merge: fdaaf88 48b9c47
Author: Glenn Morris <rgm@gnu.org>
Commit: Glenn Morris <rgm@gnu.org>
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
---
admin/authors.el | 18 ++++++++++++++----
admin/make-tarball.txt | 25 ++++++++++++++++++++-----
doc/emacs/search.texi | 1 +
doc/misc/org.texi | 14 ++++++--------
etc/TODO | 36 ++++++++++++++++++++++++++++++++++++
lisp/org/org-macs.el | 10 ++++++++--
lisp/org/org-version.el | 4 ++--
lisp/org/org.el | 6 +-----
lisp/org/ox-html.el | 2 +-
9 files changed, 89 insertions(+), 27 deletions(-)
diff --git a/admin/authors.el b/admin/authors.el
index cf9cf98..ced0e56 100644
--- a/admin/authors.el
+++ b/admin/authors.el
@@ -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*")
diff --git a/admin/make-tarball.txt b/admin/make-tarball.txt
index 2c81a49..5125086 100644
--- a/admin/make-tarball.txt
+++ b/admin/make-tarball.txt
@@ -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.
diff --git a/doc/emacs/search.texi b/doc/emacs/search.texi
index 5be45ce..77a4e80 100644
--- a/doc/emacs/search.texi
+++ b/doc/emacs/search.texi
@@ -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
diff --git a/doc/misc/org.texi b/doc/misc/org.texi
index a5d28bf..2f17816 100644
--- a/doc/misc/org.texi
+++ b/doc/misc/org.texi
@@ -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}.
diff --git a/etc/TODO b/etc/TODO
index 8e93e7f..08f8510 100644
--- a/etc/TODO
+++ b/etc/TODO
@@ -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.
diff --git a/lisp/org/org-macs.el b/lisp/org/org-macs.el
index f375c33..506fba8 100644
--- a/lisp/org/org-macs.el
+++ b/lisp/org/org-macs.el
@@ -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"))
diff --git a/lisp/org/org-version.el b/lisp/org/org-version.el
index 738dbd6..479ca46 100644
--- a/lisp/org/org-version.el
+++ b/lisp/org/org-version.el
@@ -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)
diff --git a/lisp/org/org.el b/lisp/org/org.el
index 063d044..1f7e434 100644
--- a/lisp/org/org.el
+++ b/lisp/org/org.el
@@ -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
diff --git a/lisp/org/ox-html.el b/lisp/org/ox-html.el
index d2f24f5..1a466fb 100644
--- a/lisp/org/ox-html.el
+++ b/lisp/org/ox-html.el
@@ -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'; }