Merge from origin/emacs-29

e9b88f61cc Fix a defcustom :type
3216cd9695 Fix pulse-flag :type
2065ab5562 Fix defcustoms in timeclock.el
bdd3013249 ; * lisp/image-mode.el (image-mode-to-text, image-mode-as...
5c2d9ae48e ; * lisp/image-mode.el: Fix typos in doc strings (bug#663...
fa0d3f45ae ; Improve wording of last change
3ef259e28a Improve documentation of `ns-use-proxy-icon`
712505a82b Document assigning libraries to packages in make-tarball.txt
6bdc5cfe38 Doc fix; more consistently refer to "text terminals"
d210d761b1 ; Fix doc strings of overlay-arrow variables
4fd00ff1f7 Fix defcustoms in type-break.el (Bug#66210)
47770b0eca Fix term-scroll-to-bottom-on-output :type
f8bdc8dff0 ; Normalize GNU ELPA :core package statements
63ec6d998d ; * doc/emacs/custom.texi (Early Init File): Improve inde...
a4185f87bd ; Silence macOS 14 warning
d9d6e14a69 ; * lisp/vc/vc.el (vc-next-action): Improve commentary.
d558f38fe5 ; * lisp/emacs-lisp/let-alist.el (let-alist): Fix quoting...
71feee7930 Doc fix in let-alist for keys with nil value
72cc9cf2cd ; Fix typos
This commit is contained in:
Eli Zaretskii 2023-10-07 03:46:48 -04:00
commit 1c9ddf3948
27 changed files with 97 additions and 61 deletions

View file

@ -79829,7 +79829,7 @@
Some adjustments to last change
* src/gtkutil.c (xg_set_undecorated): Only set ARGB visual on
Cairo builds wtihout PGTK.
Cairo builds without PGTK.
* src/xfns.c (select_visual): Likewise.
2022-01-29 Håkon Flatval <hkon20@hotmail.com>

View file

@ -22,6 +22,11 @@ Steps to take before starting on the first pretest in any release sequence:
You can use 'gnupload --delete' (see below for more gnupload details).
(We currently don't bother with this.)
4. Check that all new Lisp libraries belong to sensible packages.
Run "make -C lisp finder-data" and check the diff of the generated
file against the previously released Emacs version to see what has
changed.
General steps (for each step, check for possible errors):
1. git pull # fetch from the repository

View file

@ -2924,6 +2924,7 @@ Type @kbd{C-q}, followed by the key you want to bind, to insert @var{char}.
@node Early Init File
@subsection The Early Init File
@cindex early init file
@cindex @file{early-init.el} file
Most customizations for Emacs should be put in the normal init file.
@xref{Init File}. However, it is sometimes necessary

View file

@ -740,7 +740,7 @@ frame:
This is the base face used for the mode lines, as well as header lines
and for menu bars when toolkit menus are not used. By default, it's
drawn with shadows for a raised effect on graphical displays, and
drawn as the inverse of the default face on non-windowed terminals.
drawn as the inverse of the default face on text terminals.
The @code{mode-line-active} and @code{mode-line-inactive} faces (which
are the ones used on the mode lines) inherit from this face.

View file

@ -20,8 +20,7 @@ This is the @cite{GNU Emacs Manual},
@end ifclear
updated for Emacs version @value{EMACSVER}.
Copyright @copyright{} 1985--1987, 1993--2023 Free Software Foundation,
Inc.
Copyright @copyright{} 1985--2023 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@ -553,7 +552,7 @@ Frames and Graphical Displays
* Dialog Boxes:: Controlling use of dialog boxes.
* Tooltips:: Displaying information at the current mouse position.
* Mouse Avoidance:: Preventing the mouse pointer from obscuring text.
* Non-Window Terminals:: Multiple frames on terminals that show only one.
* Text Terminals:: Multiple frames on terminals that show only one.
* Text-Only Mouse:: Using the mouse in text terminals.
International Character Set Support

View file

@ -1,6 +1,5 @@
@c This is part of the Emacs manual.
@c Copyright (C) 1985--1987, 1993--1995, 1997, 1999--2023 Free Software
@c Foundation, Inc.
@c Copyright (C) 1985--2023 Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Frames
@chapter Frames and Graphical Displays
@ -30,9 +29,9 @@ displays (@pxref{Exiting}). To close just the selected frame, type
frames. On text terminals, many of these features are unavailable.
However, it is still possible to create multiple frames on text
terminals; such frames are displayed one at a time, filling the entire
terminal screen (@pxref{Non-Window Terminals}). It is also possible
to use the mouse on some text terminals (@pxref{Text-Only Mouse}, for
doing so on GNU and Unix systems; and
terminal screen (@pxref{Text Terminals}). It is also possible to use
the mouse on some text terminals (@pxref{Text-Only Mouse}, for doing
so on GNU and Unix systems; and
@iftex
@pxref{MS-DOS Mouse,,,emacs-xtra,Specialized Emacs Features},
@end iftex
@ -62,7 +61,7 @@ for doing so on MS-DOS). Menus are supported on all text terminals.
* Dialog Boxes:: Controlling use of dialog boxes.
* Tooltips:: Displaying information at the current mouse position.
* Mouse Avoidance:: Preventing the mouse pointer from obscuring text.
* Non-Window Terminals:: Multiple frames on terminals that show only one.
* Text Terminals:: Multiple frames on terminals that show only one.
* Text-Only Mouse:: Using the mouse in text terminals.
@end menu
@ -593,7 +592,7 @@ the ordinary, interactive frames are deleted. In this case, @kbd{C-x
The @kbd{C-x 5 1} (@code{delete-other-frames}) command deletes all
other frames on the current terminal (this terminal refers to either a
graphical display, or a text terminal; @pxref{Non-Window Terminals}).
graphical display, or a text terminal; @pxref{Text Terminals}).
If the Emacs session has frames open on other graphical displays or
text terminals, those are not deleted.
@ -1765,8 +1764,8 @@ You can also use the command @kbd{M-x mouse-avoidance-mode} to enable
the mode. Whenever Mouse Avoidance mode moves the mouse, it also
raises the frame.
@node Non-Window Terminals
@section Non-Window Terminals
@node Text Terminals
@section Text Terminals
@cindex text terminal
On a text terminal, Emacs can display only one Emacs frame at a

View file

@ -149,7 +149,10 @@ the corresponding left-hand key.
@vindex ns-use-proxy-icon
@item ns-use-proxy-icon
This variable specifies whether to display the proxy icon in the
titlebar.
titlebar. The proxy icon can be used to drag the file associated with
the current buffer to other applications, a printer, the desktop,
etc., in the same way you can from Finder. You might have to disable
@code{tool-bar-mode} to see the proxy icon.
@vindex ns-confirm-quit
@item ns-confirm-quit

View file

@ -2146,7 +2146,7 @@ overrides the environment variable.)
Create a new client frame on the current text terminal, instead of
using an existing Emacs frame. This behaves just like the @samp{-c}
option, described above, except that it creates a text terminal frame
(@pxref{Non-Window Terminals}).
(@pxref{Text Terminals}).
On MS-Windows, @samp{-t} behaves just like @samp{-c} if the Emacs
server is using the graphical display, but if the Emacs server is

View file

@ -1368,13 +1368,13 @@ the variable @code{ediff-help-message}, which is local to
@node Window and Frame Configuration
@section Window and Frame Configuration
On a non-windowing display, Ediff sets things up in one frame, splitting
On a non-graphical display, Ediff sets things up in one frame, splitting
it between a small control window and the windows for buffers A, B, and C@.
The split between these windows can be horizontal or
vertical, which can be changed interactively by typing @kbd{|} while the
cursor is in the control window.
On a window display, Ediff sets up a dedicated frame for Ediff Control
On a graphical display, Ediff sets up a dedicated frame for Ediff Control
Panel and then it chooses windows as follows: If one of the buffers
is invisible, it is displayed in the currently selected frame. If
a buffer is visible, it is displayed in the frame where it is visible.
@ -1477,7 +1477,7 @@ The multiframe setup is done by the
@code{ediff-setup-windows-multiframe} function, which is the default on
windowing displays. The plain setup, one where all windows are always
in one frame, is done by @code{ediff-setup-windows-plain}, which is the
default on a non-windowing display (or in an xterm window). In fact,
default on a non-graphical display (or in an xterm window). In fact,
under Emacs, you can switch freely between these two setups by executing
the command @code{ediff-toggle-multiframe} using the Minibuffer of the
Menubar.

View file

@ -24841,7 +24841,7 @@ ends such as Bogofilter (@pxref{Bogofilter}) and the Spam Statistics
package (@pxref{Spam Statistics Filtering}).
The spam and ham processors that apply to each group are determined by
the group's@code{spam-process} group parameter. If this group
the group's @code{spam-process} group parameter. If this group
parameter is not defined, they are determined by the variable
@code{gnus-spam-process-newsgroups}.

View file

@ -8,8 +8,7 @@
@include docstyle.texi
@copying
Copyright @copyright{} 1995--1997, 2001--2023 Free Software Foundation,
Inc.
Copyright @copyright{} 1995--2023 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@ -1700,7 +1699,7 @@ a text-formatting function, @code{indent-for-tab-command} (which facilitates
programming and document writing). Instead, the tab is inserted via the
command @code{viper-insert-tab}, which is bound to @kbd{S-tab} (shift + tab).
On some non-windowing terminals, Shift doesn't modify the @key{TAB} key, so
On some text terminals, Shift doesn't modify the @key{TAB} key, so
@kbd{S-tab} behaves as if it were @key{TAB}. In such a case, you will have
to bind @code{viper-insert-tab} to some other convenient key.
@ -2232,7 +2231,7 @@ For this reason, Viper doesn't change the standard Emacs binding of
(except for users at level 1). Instead, in Viper, the key
@kbd{S-tab} (shift+ tab) is chosen to emulate Vi's @key{TAB}.
We should note that on some non-windowing terminals, Shift doesn't modify
We should note that on some text terminals, Shift doesn't modify
the @key{TAB} key, so @kbd{S-tab} behaves as if it were @key{TAB}. In such
a case, you will have to bind @code{viper-insert-tab} to some other
convenient key.

View file

@ -100,19 +100,21 @@ into account any discrepancy of time under-worked or over-worked on
previous days. This only affects the timeclock mode line display."
:type 'boolean)
(defcustom timeclock-get-project-function 'timeclock-ask-for-project
(defcustom timeclock-get-project-function #'timeclock-ask-for-project
"The function used to determine the name of the current project.
When clocking in, and no project is specified, this function will be
called to determine what is the current project to be worked on.
If this variable is nil, no questions will be asked."
:type 'function)
:type '(choice (const :tag "Don't ask" nil)
function))
(defcustom timeclock-get-reason-function 'timeclock-ask-for-reason
(defcustom timeclock-get-reason-function #'timeclock-ask-for-reason
"A function used to determine the reason for clocking out.
When clocking out, and no reason is specified, this function will be
called to determine what is the reason.
If this variable is nil, no questions will be asked."
:type 'function)
:type '(choice (const :tag "Don't ask" nil)
function))
(defcustom timeclock-get-workday-function nil
"A function used to determine the length of today's workday.

View file

@ -312,7 +312,8 @@ All specific project types must derive from this project."
"File containing the list of projects EDE has viewed.
If set to nil, then the cache is not saved."
:group 'ede
:type 'file)
:type '(choice (const :tag "Don't save the cache" nil)
file))
(defvar ede-project-cache-files nil
"List of project files EDE has seen before.")

View file

@ -71,7 +71,9 @@ Any other value means to do the default pulsing behavior.
If `pulse-flag' is non-nil, but `pulse-available-p' is nil, then
this flag is ignored."
:group 'pulse
:type 'boolean)
:type '(choice (const :tag "Highlight with unchanging color" nil)
(const :tag "No highlight" never)
(other :tag "Pulse" t)))
(defface pulse-highlight-start-face
'((((class color) (background dark))

View file

@ -9,8 +9,8 @@
;; Prefix: let-alist
;; Separator: -
;; This is an Elpa :core package. Don't use functionality that is not
;; compatible with Emacs 24.1.
;; This is a GNU ELPA :core package. Avoid functionality that is not
;; compatible with the version of Emacs recorded above.
;; This file is part of GNU Emacs.
@ -60,7 +60,7 @@
;; the variables of the outer one. You can, however, access alists
;; inside the original alist by using dots inside the symbol, as
;; displayed in the example above by the `.site.contents'.
;;
;;; Code:
@ -139,7 +139,14 @@ essentially expands to
If you nest `let-alist' invocations, the inner one can't access
the variables of the outer one. You can, however, access alists
inside the original alist by using dots inside the symbol, as
displayed in the example above."
displayed in the example above.
Note that there is no way to differentiate the case where a key
is missing from when it is present, but its value is nil. Thus,
the following form evaluates to nil:
(let-alist \\='((some-key . nil))
.some-key)"
(declare (indent 1) (debug t))
(let ((var (make-symbol "alist")))
`(let ((,var ,alist))

View file

@ -772,9 +772,8 @@ to switch back to
;;;###autoload
(defun image-mode-to-text ()
"Set a non-image mode as major mode in combination with image minor mode.
A non-mage major mode found from `auto-mode-alist' or fundamental mode
displays an image file as text."
"Set current buffer's modes be a non-image major mode, plus `image-minor-mode'.
A non-image major mode displays an image file as text."
;; image-mode-as-text = normal-mode + image-minor-mode
(let ((previous-image-type image-type)) ; preserve `image-type'
(major-mode-restore '(image-mode image-mode-as-text))
@ -785,15 +784,14 @@ displays an image file as text."
(image-toggle-display-text))))
(defun image-mode-as-hex ()
"Set `hexl-mode' as major mode in combination with image minor mode.
A non-mage major mode found from `auto-mode-alist' or fundamental mode
displays an image file as hex. `image-minor-mode' provides the key
\\<image-mode-map>\\[image-toggle-hex-display] to switch back to `image-mode' \
to display an image file as
the actual image.
"Set current buffer's modes be `hexl-mode' major mode, plus `image-minor-mode'.
This will by default display an image file as hex. `image-minor-mode'
provides the key sequence \\<image-mode-map>\\[image-toggle-hex-display] to \
switch back to `image-mode' to display
an image file's buffer as an image.
You can use `image-mode-as-hex' in `auto-mode-alist' when you want to
display an image file as hex initially.
display image files as hex by default.
See commands `image-mode' and `image-minor-mode' for more information
on these modes."

View file

@ -38,12 +38,12 @@
;; This was `cyrillic-jcuken'. Alexander Mikhailian
;; <mikhailian@altern.org> says: "cyrillic-jcuken" is actually
;; russian. It is ok but a bit outdated. This layout has been used
;; Russian. It is ok but a bit outdated. This layout has been used
;; in typewriters for ages but it has been superseded on desktops by
;; a variation of this layout, implemented in M$ Windows software.
;; The Windows layout is greatly preferred because of the comma and
;; period being placed more conveniently and, of course, because of
;; the popularity of Windows software. This layout is a common option
;; the popularity of Windows software. This layout is a common option
;; in X Windows and console layouts for GNU/Linux. [See
;; `russian-computer' below.]
(quail-define-package

View file

@ -414,7 +414,7 @@ Another host name is useful only in combination with
;; an external method.
(cond
;; PuTTY is installed. We don't take it, if it is installed on a
;; non-windows system, or pscp from the pssh (parallel ssh) package
;; non-Windows system, or pscp from the pssh (parallel ssh) package
;; is found.
((and (eq system-type 'windows-nt) (executable-find "pscp")) "pscp")
;; There is an ssh installation.

View file

@ -1,6 +1,6 @@
;;; printing.el --- printing utilities -*- lexical-binding:t -*-
;; Copyright (C) 2000-2001, 2003-2023 Free Software Foundation, Inc.
;; Copyright (C) 2000-2023 Free Software Foundation, Inc.
;; Author: Vinicius Jose Latorre <viniciusjl.gnu@gmail.com>
;; Keywords: wp, print, PostScript
@ -5518,7 +5518,7 @@ COMMAND.exe, COMMAND.bat and COMMAND.com in this order."
(setq ext (cdr ext)
found nil))
found)
;; non-windows systems
;; non-Windows systems
(and (file-regular-p cmd)
(file-executable-p cmd)
cmd)))

View file

@ -4,8 +4,8 @@
;; Version: 0.10.0
;; Package-Requires: ((emacs "26.1") (xref "1.4.0"))
;; This is a GNU ELPA :core package. Avoid using functionality that
;; not compatible with the version of Emacs recorded above.
;; This is a GNU ELPA :core package. Avoid functionality that is not
;; compatible with the version of Emacs recorded above.
;; This file is part of GNU Emacs.

View file

@ -486,7 +486,7 @@ Customize this option to nil if you want the previous behavior."
(defcustom term-scroll-to-bottom-on-output nil
"Controls whether interpreter output causes window to scroll.
If nil, then do not scroll. If t or `all', scroll all windows showing buffer.
If nil, then do not scroll. If t, scroll all windows showing buffer.
If `this', scroll only the selected window.
If `others', scroll only those that are not the selected window.
@ -494,7 +494,12 @@ The default is nil.
See variable `term-scroll-show-maximum-output'.
This variable is buffer-local."
:type 'boolean
:type '(choice (const :tag "Don't scroll" nil)
(const :tag "Scroll selected window only" this)
(const :tag "Scroll unselected windows" others)
;; We also recognize `all', but we don't advertise it
;; anymore. (Bug#66071)
(other :tag "Scroll all windows" t))
:group 'term)
(defcustom term-scroll-snap-to-bottom t

View file

@ -77,7 +77,8 @@ rest from typing, then the next typing break is simply rescheduled for later.
If a break is interrupted before this much time elapses, the user will be
asked whether or not really to interrupt the break."
:set-after '(type-break-interval)
:type 'natnum
:type '(choice (const :tag "Don't check idle time" nil)
natnum)
:group 'type-break)
(defcustom type-break-good-break-interval nil
@ -201,7 +202,8 @@ key is pressed."
"Name of file used to save state across sessions.
If this is nil, no data will be saved across sessions."
:version "24.4" ; added locate-user
:type 'file)
:type '(choice (const :tag "Don't save data" nil)
file))
(defvar type-break-post-command-hook '(type-break-check)
"Hook run indirectly by `post-command-hook' for typing break functions.

View file

@ -909,7 +909,7 @@ MERGE-AUTOSTORE-DIR is the directory in which to store merged files."
(defun ediff-windows-wordwise (dumb-mode &optional wind-A wind-B startup-hooks)
"Compare WIND-A and WIND-B, which are selected by clicking, wordwise.
This compares the portions of text visible in each of the two windows.
With prefix argument, DUMB-MODE, or on a non-windowing display, works as
With prefix argument, DUMB-MODE, or on a non-graphical display, works as
follows:
If WIND-A is nil, use selected window.
If WIND-B is nil, use window next to WIND-A.
@ -923,7 +923,7 @@ arguments after setting up the Ediff buffers."
(defun ediff-windows-linewise (dumb-mode &optional wind-A wind-B startup-hooks)
"Compare WIND-A and WIND-B, which are selected by clicking, linewise.
This compares the portions of text visible in each of the two windows.
With prefix argument, DUMB-MODE, or on a non-windowing display, works as
With prefix argument, DUMB-MODE, or on a non-graphical display, works as
follows:
If WIND-A is nil, use selected window.
If WIND-B is nil, use window next to WIND-A.
@ -935,7 +935,7 @@ arguments after setting up the Ediff buffers."
;; Compare visible portions of text in WIND-A and WIND-B, which are
;; selected by clicking.
;; With prefix argument, DUMB-MODE, or on a non-windowing display,
;; With prefix argument, DUMB-MODE, or on a non-graphical display,
;; works as follows:
;; If WIND-A is nil, use selected window.
;; If WIND-B is nil, use window next to WIND-A.

View file

@ -1264,6 +1264,8 @@ the revision ID or branch ID."
(error "Fileset files are missing, so cannot be operated on"))
((eq state 'ignored)
(error "Fileset files are ignored by the version-control system"))
;; Fileset comes from a diff-mode buffer, see
;; 'diff-vc-deduce-fileset', and the buffer is the patch to apply.
((eq model 'patch)
(vc-checkin files backend nil nil nil (buffer-string)))
((or (null state) (eq state 'unregistered))

View file

@ -3987,7 +3987,12 @@ - (Lisp_Object)lispString
DEFVAR_BOOL ("ns-use-proxy-icon", ns_use_proxy_icon,
doc: /* When non-nil display a proxy icon in the titlebar.
Default is t. */);
The proxy icon can be used to drag the file associated with the
current buffer to other applications, a printer, the desktop, etc., in
the same way you can from Finder. Note that you might have to disable
`tool-bar-mode' to see the proxy icon.
The default value is t. */);
ns_use_proxy_icon = true;
DEFVAR_LISP ("x-max-tooltip-size", Vx_max_tooltip_size,

View file

@ -6110,6 +6110,11 @@ - (void)antialiasThresholdDidChange:(NSNotification *)notification
*/
- (BOOL) applicationSupportsSecureRestorableState: (NSApplication *)app
{
return YES;
}
- (void) terminate: (id)sender
{
struct input_event ie;

View file

@ -37045,14 +37045,15 @@ See also `overlay-arrow-string'. */);
Voverlay_arrow_position = Qnil;
DEFVAR_LISP ("overlay-arrow-string", Voverlay_arrow_string,
doc: /* String to display as an arrow in non-window frames.
doc: /* String to display as an arrow in text-mode frames.
See also `overlay-arrow-position'. */);
Voverlay_arrow_string = build_pure_c_string ("=>");
DEFVAR_LISP ("overlay-arrow-variable-list", Voverlay_arrow_variable_list,
doc: /* List of variables (symbols) which hold markers for overlay arrows.
The symbols on this list are examined during redisplay to determine
where to display overlay arrows. */);
where to display overlay arrows.
See also `overlay-arrow-string'. */);
Voverlay_arrow_variable_list
= list1 (intern_c_string ("overlay-arrow-position"));