Merge remote-tracking branch 'origin/master' into feature/pgtk

This commit is contained in:
Po Lu 2021-12-04 14:06:32 +08:00
commit 84c9369fd7
14 changed files with 147 additions and 61 deletions

View file

@ -99,6 +99,7 @@ files.")
("Gerd Möllmann" "Gerd Moellmann")
("Hallvard B. Furuseth" "Hallvard B Furuseth" "Hallvard Furuseth")
("Hrvoje Nikšić" "Hrvoje Niksic")
("Ian Dunn" "^Ian D\\>")
;; lisp/org/ChangeLog.1 2010-11-11.
(nil "immerrr")
(nil "aaa bbb")
@ -106,11 +107,16 @@ files.")
(nil "jakanakaevangeli")
("J. Alexander Branham" "Alex Branham")
("Jaeyoun Chung" "Jae-youn Chung" "Jae-you Chung" "Chung Jae-youn")
("Jan Djärv" "Jan D." "Jan Djarv")
("Jan Djärv" "Jan D\\>" "Jan Djarv")
("João Távora" "João Tãvora")
("Jay K. Adams" "Jay Adams")
("J.D. Smith" "Jd Smith")
("Jérôme Marant" "Jérôme Marant" "Jerome Marant")
("Jens Lechtenbörger" "Jens Lechtenboerger")
("Jens-Ulrik Holger Petersen" "Jens-Ulrik Petersen")
("Jérémie Courrèges-Anglas" "Jeremie Courreges-Anglas")
("Jeremy Bertram Maitin-Shepard" "Jeremy Maitin-Shepard")
("Jérémy Compostella" "Jeremy Compostella")
("Jimmy Aguilar Mena" "Ergus")
("Johan Bockgård" "Johan Bockgard")
("John F. Carr" "John F Carr")
@ -155,7 +161,7 @@ files.")
("Michael I. Bushnell" "Michael I Bushnell" "Michael I. Bushnell, p/BSG")
("Michael R. Cook" "Michael Cook")
("Michael Sperber" "Mike Sperber" "Michael Sperber \\[Mr. Preprocessor\\]")
("Michalis V" "mvar")
("Michalis V" "^mvar")
("Mikio Nakajima" "Nakajima Mikio")
("Nelson Jose dos Santos Ferreira" "Nelson Ferreira")
("Noorul Islam" "Noorul Islam K M")

View file

@ -1707,7 +1707,6 @@ circumstances.
@vindex minibuffer-local-completion-map
@vindex minibuffer-local-must-match-map
@vindex minibuffer-local-filename-completion-map
@vindex minibuffer-local-filename-must-match-map
The minibuffer has its own set of local keymaps; they contain various
completion and exit commands.
@ -1723,10 +1722,9 @@ just like @key{RET}.
@code{minibuffer-local-must-match-map} is for strict completion and
for cautious completion.
@item
@code{minibuffer-local-filename-completion-map} and
@code{minibuffer-local-filename-must-match-map} are like the two
previous ones, but they are specifically for file name completion.
They do not bind @key{SPC}.
@code{minibuffer-local-filename-completion-map} is like the two
previous ones, but specifically for file name completion.
It does not bind @key{SPC}.
@end itemize
By default, @key{TAB}, @key{SPC} and @key{?} do completion in

View file

@ -849,6 +849,7 @@ in the Emacs development repository (@pxref{Latest version of Emacs}).
@menu
* Origin of the term Emacs::
* Latest version of Emacs::
* New in Emacs 28::
* New in Emacs 27::
* New in Emacs 26::
* New in Emacs 25::
@ -898,9 +899,9 @@ conventions}).
@cindex Repository, Emacs
Emacs @value{EMACSVER} is the current version as of this writing. A version
number with two components (e.g., @samp{24.5}) indicates a released
number with two components (e.g., @samp{28.1}) indicates a released
version; three components indicate a development
version (e.g., @samp{28.0.50} is what will eventually become @samp{28.1}).
version (e.g., @samp{29.0.50} is what will eventually become @samp{29.1}).
Emacs is under active development, hosted at
@uref{https://savannah.gnu.org/projects/emacs/, Savannah}.
@ -919,6 +920,50 @@ Emacs, type @kbd{C-h C-n} (@kbd{M-x view-emacs-news}). You can give
this command a prefix argument to read about which features were new
in older versions.
@node New in Emacs 28
@section What is different about Emacs 28?
@cindex Differences between Emacs 27 and Emacs 28
@cindex Emacs 28, new features in
Emacs 28 has too many new features and changes to list all of them
here. We list below a small selection; consult the Emacs @file{NEWS}
file (@kbd{C-h n}) for the full list of changes in Emacs 28.
@itemize
@cindex native compilation of Lisp files
@item
Emacs now optionally supports native compilation of Lisp files. This
can improves performance significantly in some cases. To enable this,
configure Emacs with the '--with-native-compilation' option.
@item
The new NonGNU ELPA archive is enabled by default alongside GNU ELPA.
Thus, packages on NonGNU ELPA will appear by default in the list shown
by the @code{list-packages} command.
@item
The Cairo graphics library is now used by default if present.
@item
The new themes @samp{modus-vivendi} and @samp{modus-operandi} have
been added. They are designed to conform with the highest standard
for color-contrast accessibility (WCAG AAA).
@item
On capable systems, Emacs now correctly displays Emoji and Emoji
sequences by default, provided that a suitable font is available.
@item
New system for displaying documentation for groups of functions
(@kbd{M-x shortdoc-display-group RET}).
@item
Among the many internal changes in this release, we would like to
highlight that all files in the tree now use @code{lexical-binding}.
@end itemize
@node New in Emacs 27
@section What is different about Emacs 27?
@cindex Differences between Emacs 26 and Emacs 27
@ -973,8 +1018,8 @@ Built-in support for tabs (tab bar and tab line).
Support for resizing and rotating of images without ImageMagick.
@end itemize
Consult the Emacs @file{NEWS} file (@kbd{C-h n}) for the full list of
changes in Emacs 27.
Consult the Emacs @file{NEWS.27} file for the full list of changes in
Emacs 27.
@node New in Emacs 26
@section What is different about Emacs 26?
@ -1052,8 +1097,8 @@ Emacs 26.2 comes with data files imported from the latest Unicode
Standard version 11.0.0.
@end itemize
Consult the Emacs @file{NEWS} file (@kbd{C-h n}) for the full list of
changes in Emacs 26.
Consult the Emacs @file{NEWS.26} file for the full list of changes in
Emacs 26.
@node New in Emacs 25
@section What is different about Emacs 25?
@ -1152,8 +1197,8 @@ provide toolkit scroll bars, namely Gtk+, Lucid, Motif and Windows.
@end itemize
Consult the Emacs @file{NEWS} file (@kbd{C-h n}) for the full list of
changes in Emacs 25.
Consult the Emacs @file{NEWS.25} file for the full list of changes in
Emacs 25.
@node New in Emacs 24
@section What is different about Emacs 24?
@ -1226,7 +1271,8 @@ Much more flexibility in the handling of windows and buffer display.
@end itemize
As always, consult the @file{NEWS} file for more information.
Consult the Emacs @file{NEWS.24} file for the full list of changes in
Emacs 24.
@node New in Emacs 23
@ -1285,6 +1331,9 @@ new Visual Line mode for line-motion; improved completion; a new mode
mode (for editing XML documents) is included; VC has been updated for
newer version control systems; etc.
Consult the Emacs @file{NEWS.23} file for the full list of changes in
Emacs 23.
@node New in Emacs 22
@section What is different about Emacs 22?
@ -1381,6 +1430,9 @@ In addition, Emacs 22 now includes the Emacs Lisp Reference Manual
(@pxref{Emacs Lisp documentation}) and the Emacs Lisp Intro.
@end itemize
Consult the Emacs @file{NEWS.22} file for the full list of changes in
Emacs 22.
@node New in Emacs 21
@section What is different about Emacs 21?
@ -1403,6 +1455,9 @@ In addition, Emacs 21 supports faces on text-only terminals. This means
that you can now have colors when you run Emacs on a GNU/Linux console
and on @code{xterm} with @kbd{emacs -nw}.
Consult the Emacs @file{NEWS.21} file for the full list of changes in
Emacs 21.
@node New in Emacs 20
@section What is different about Emacs 20?
@ -1420,6 +1475,10 @@ several languages in the same document; the ``Customize'' facility for
modifying variables without having to use Lisp; and automatic conversion
of files from Macintosh, Microsoft, and Unix platforms.
Consult the Emacs @file{NEWS.20} file for the full list of changes in
Emacs 20.
@node What was XEmacs?
@section What was XEmacs?
@cindex XEmacs

View file

@ -285,7 +285,7 @@ Go to beginning of line or end of prompt.
@item @key{RET} (@code{erc-send-current-line})
Send the current line
@item @key{TAB} (@code{erc-complete-word})
@item @key{TAB} (@code{completion-at-point} or @code{erc-button-next})
If at prompt, complete the current word.
Otherwise, move to the next link or button.

View file

@ -2189,9 +2189,7 @@ Hugh Daschbach: changed dbus-tests.el dbus.el org.gnu.Emacs.TestDBus.xml
Hynek Schlawack: changed gnus-art.el gnus-sum.el
Ian D: changed doc-view.el image-mode.el
Ian Dunn: changed eww.el vc-hg.el
Ian Dunn: changed eww.el doc-view.el image-mode.el vc-hg.el
Ian Eure: changed sql.el url-util.el
@ -2473,11 +2471,10 @@ Jay McCarthy: changed org-colview.el
Jay Sachs: changed gnus-score.el gnus-win.el
Jd Smith: co-wrote idlw-help.el idlw-shell.el idlwave.el
J.D. Smith: changed idlwave.el idlw-shell.el idlw-help.el idlw-rinfo.el
idlw-toolbar.el comint.el idlwave.texi vc.el bibtex.el files.texi
hideshow.el idlw-complete-structtag.el misc.texi mouse.el
J.D. Smith: co-wrote idlw-help.el idlw-shell.el idlwave.el
and changed idlw-rinfo.el idlw-toolbar.el comint.el idlwave.texi vc.el
bibtex.el files.texi hideshow.el idlw-complete-structtag.el misc.texi
mouse.el
Jean-Christophe Helary: changed emacs-lisp-intro.texi ns-win.el
package-tests.el package.el strings.texi subr-x.el ucs-normalize.el
@ -2530,10 +2527,9 @@ Jens Krinke: changed smime.el
Jens Lautenbacher: changed gnus.el
Jens Lechtenboerger: changed mml-sec.el gnus-util.el message.texi
mml-smime.el mml1991.el mml2015.el message.el package.el package.texi
Jens Lechtenbörger: wrote gnus-util-tests.el mml-sec-tests.el
and changed mml-sec.el gnus-util.el message.texi mml-smime.el mml1991.el
mml2015.el message.el package.el package.texi
Jens Petersen: wrote find-func.el
and changed mule-cmds.el pcmpl-rpm.el
@ -2547,17 +2543,13 @@ Jens Uwe Schmidt: changed edebug.el
Jeramey Crawford: changed amdx86-64.h configure.ac
Jeremie Courreges-Anglas: changed kqueue.c
Jérémie Courrèges-Anglas: changed org.texi ox-latex.el
Jérémie Courrèges-Anglas: changed kqueue.c org.texi ox-latex.el
Jeremy Bertram Maitin-Shepard: changed erc.el erc-backend.el
erc-button.el erc-track.el mml.el
Jeremy Compostella: changed mml.el
Jérémy Compostella: changed tramp-sh.el battery.el keyboard.c windmove.el
window.el xdisp.c
Jérémy Compostella: changed tramp-sh.el mml.el battery.el keyboard.c
windmove.el window.el xdisp.c
Jeremy Moore: changed hideif.el
@ -2661,8 +2653,6 @@ and changed flymake.el icomplete.el minibuffer.el flymake-proc.el
progmodes/python.el text.texi xref.el json-tests.el project.el
tex-mode.el buffers.texi cfengine.el and 55 other files
João Tãvora: changed jsonrpc.el
Jochen Hein: changed gnus-art.el
Jochen Küpper: changed gnus.texi calc-units.el

View file

@ -486,10 +486,8 @@ Activates the region if needed. Only lasts until the region is deactivated."
(cua--deactivate t))
(setq cua--last-rectangle nil)
(mouse-set-point event)
;; FIX ME -- need to calculate virtual column.
(cua-set-rectangle-mark)
(setq cua--buffer-and-point-before-command nil)
(setq cua--mouse-last-pos nil))
(activate-mark)
(cua-rectangle-mark-mode))
(defun cua-mouse-save-then-kill-rectangle (event arg)
"Expand rectangle to mouse click position and copy rectangle.

View file

@ -607,7 +607,11 @@ If SECRET is non-nil, list secret keys instead of public keys."
(_ "Error while executing \"%s\":\n\n"))
(epg-context-program context))
"\n\n"
(epg-context-error-output context)))
(epg-context-error-output context)
(if (string-search "Unexpected error"
(epg-context-error-output context))
"\n(File possibly not an encrypted file, but is perhaps a key ring file?)\n"
"")))
(epa-info-mode)
(goto-char (point-min)))
(display-buffer buffer)))))

View file

@ -407,10 +407,10 @@ be a number or marker, in which case the keymap properties at the
specified buffer position instead of point are used."
(declare (compiler-macro (lambda (form) (keymap--compile-check key) form)))
(keymap--check key)
(when (and keymap (not position))
(when (and keymap position)
(error "Can't pass in both keymap and position"))
(if keymap
(let ((value (lookup-key (key-parse key) keymap accept-default)))
(let ((value (lookup-key keymap (key-parse key) accept-default)))
(when (and (not no-remap)
(symbolp value))
(or (command-remapping value) value)))

View file

@ -283,7 +283,7 @@ the form (concat S2 S)."
((eq (car-safe action) 'boundaries)
(let ((beg (or (and (eq (car-safe res) 'boundaries) (cadr res)) 0)))
`(boundaries
,(max (length s1)
,(max (min (length string) (length s1))
(+ beg (- (length s1) (length s2))))
. ,(and (eq (car-safe res) 'boundaries) (cddr res)))))
((stringp res)

View file

@ -101,7 +101,8 @@
("2.2.13.25.2" . "25.3")
("2.3.3" . "26.1") ("2.3.3.26.1" . "26.1") ("2.3.5.26.2" . "26.2")
("2.3.5.26.3" . "26.3")
("2.4.3.27.1" . "27.1") ("2.4.5.27.2" . "27.2")))
("2.4.3.27.1" . "27.1") ("2.4.5.27.2" . "27.2")
("2.5.2.28.1" . "28.1")))
(add-hook 'tramp-unload-hook
(lambda ()

View file

@ -401,10 +401,7 @@ Otherwise, redisplay will reset the window's vscroll."
(set-window-start nil (pixel-point-at-unseen-line) t)
(set-window-vscroll nil vscroll t))
;; FIXME: This doesn't work when DELTA is larger than the height
;; of the current window, and someone should probably fix that
;; at some point.
(defun pixel-scroll-precision-scroll-down (delta)
(defun pixel-scroll-precision-scroll-down-page (delta)
"Scroll the current window down by DELTA pixels.
Note that this function doesn't work if DELTA is larger than
the height of the current window."
@ -437,11 +434,28 @@ the height of the current window."
delta)
t)
(unless (eq (window-start) desired-start)
(set-window-start nil desired-start t))
(set-window-start nil (if (zerop (window-hscroll))
desired-start
(save-excursion
(goto-char desired-start)
(beginning-of-visual-line)
(point)))
t))
(set-window-vscroll nil desired-vscroll t))))
(defun pixel-scroll-precision-scroll-up (delta)
"Scroll the current window up by DELTA pixels."
(defun pixel-scroll-precision-scroll-down (delta)
"Scroll the current window down by DELTA pixels."
(let ((max-height (- (window-text-height nil t)
(frame-char-height))))
(while (> delta max-height)
(pixel-scroll-precision-scroll-down-page max-height)
(setq delta (- delta max-height)))
(pixel-scroll-precision-scroll-down-page delta)))
(defun pixel-scroll-precision-scroll-up-page (delta)
"Scroll the current window up by DELTA pixels.
Note that this function doesn't work if DELTA is larger than
the height of the current window."
(let* ((edges (window-edges nil t nil t))
(max-y (- (nth 3 edges)
(nth 1 edges)))
@ -486,10 +500,25 @@ the height of the current window."
(desired-start (posn-point desired-pos))
(desired-vscroll (cdr (posn-object-x-y desired-pos))))
(progn
(set-window-start nil desired-start t)
(set-window-start nil (if (zerop (window-hscroll))
desired-start
(save-excursion
(goto-char desired-start)
(beginning-of-visual-line)
(point)))
t)
(set-window-vscroll nil desired-vscroll t))
(set-window-vscroll nil (abs delta) t)))))))
(defun pixel-scroll-precision-scroll-up (delta)
"Scroll the current window up by DELTA pixels."
(let ((max-height (- (window-text-height nil t)
(frame-char-height))))
(while (> delta max-height)
(pixel-scroll-precision-scroll-up-page max-height)
(setq delta (- delta max-height)))
(pixel-scroll-precision-scroll-up-page delta)))
;; FIXME: This doesn't _always_ work when there's an image above the
;; current line that is taller than the window, and scrolling can
;; sometimes be jumpy in that case.
@ -500,8 +529,7 @@ scroll the display according to the user's turning the mouse
wheel."
(interactive "e")
(let ((window (mwheel-event-window event)))
(if (and (nth 4 event)
(zerop (window-hscroll window)))
(if (and (nth 4 event))
(let ((delta (round (cdr (nth 4 event)))))
(unless (zerop delta)
(if (> (abs delta) (window-text-height window t))

View file

@ -647,7 +647,7 @@ do\\([ \t]*while\\)?\\|select[ \t]*\\(?:case\\|type\\)\\|where\\|\
forall\\|block\\|critical\\)\\)\\_>"
(2 font-lock-constant-face nil t) (3 font-lock-keyword-face))
;; Implicit declaration.
'("\\_<\\(implicit\\)[ \t]*\\(real\\|integer\\|c\\(haracter\\|omplex\\)\
'("\\_<\\(implicit\\)[ \t]+\\(real\\|integer\\|c\\(haracter\\|omplex\\)\
\\|enumerator\\|procedure\\|\
logical\\|double[ \t]*precision\\|type[ \t]*(\\(?:\\sw\\|\\s_\\)+)\\|none\\)[ \t]*"
(1 font-lock-keyword-face) (2 font-lock-type-face))
@ -657,8 +657,10 @@ logical\\|double[ \t]*precision\\|type[ \t]*(\\(?:\\sw\\|\\s_\\)+)\\|none\\)[ \t
'("\\(&\\)[ \t]*\\(!\\|$\\)" (1 font-lock-keyword-face))
"\\_<\\(then\\|continue\\|format\\|include\\|\\(?:error[ \t]+\\)?stop\\|\
return\\)\\_>"
'("\\_<\\(exit\\|cycle\\)[ \t]*\\(\\(?:\\sw\\|\\s_\\)+\\)?\\_>"
'("\\_<\\(exit\\|cycle\\)[ \t]+\\(\\(?:\\sw\\|\\s_\\)+\\)?\\_>"
(1 font-lock-keyword-face) (2 font-lock-constant-face nil t))
'("\\_<\\(exit\\|cycle\\)\\_>"
(1 font-lock-keyword-face))
'("\\_<\\(case\\)[ \t]*\\(default\\|(\\)" . 1)
;; F2003 "class default".
'("\\_<\\(class\\)[ \t]*default" . 1)

View file

@ -58,8 +58,8 @@ DEFUN ("int86", Fint86, Sint86, 2, 2, 0,
Return the updated REGISTER vector.
INTERRUPT should be an integer in the range 0 to 255.
REGISTERS should be a vector produced by `make-register' and
`set-register-value'. */)
REGISTERS should be a vector produced by `dos-make-register' and
`dos-set-register-value'. */)
(Lisp_Object interrupt, Lisp_Object registers)
{
register int i;

View file

@ -2854,7 +2854,7 @@ dump_bool_vector (struct dump_context *ctx, const struct Lisp_Vector *v)
static dump_off
dump_subr (struct dump_context *ctx, const struct Lisp_Subr *subr)
{
#if CHECK_STRUCTS && !defined (HASH_Lisp_Subr_AA236F7759)
#if CHECK_STRUCTS && !defined (HASH_Lisp_Subr_F09D8E8E19)
# error "Lisp_Subr changed. See CHECK_STRUCTS comment in config.h."
#endif
struct Lisp_Subr out;