Merge branch 'master' into feature/package+vc

This commit is contained in:
Philip Kaludercic 2022-10-15 17:38:30 +02:00
commit 01e45efcd4
No known key found for this signature in database
GPG key ID: F2C3CC513DB89F66
160 changed files with 1800 additions and 807 deletions

View file

@ -1,4 +1,4 @@
;;; Directory Local Variables
;;; Directory Local Variables -*- no-byte-compile: t; -*-
;;; For more information see (info "(emacs) Directory Variables")
((nil . ((tab-width . 8)

View file

@ -5685,7 +5685,7 @@
(__mktime_internal): Use it systematically for all isdst comparisons.
This completes the fix for libc BZ #6723, and removes the need for
normalizing tm_isdst.
See <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
See <https://sourceware.org/bugzilla/show_bug.cgi?id=6723>
(not_equal_tm) [DEBUG]: Use isdst_differ here, too.
mktime: fix some integer overflow issues and sidestep the rest

View file

@ -185373,7 +185373,7 @@
* lisp/image.el (image-type-header-regexps):
Allow two or more CRs or LFs in initial whitespace sequences. See:
http://netpbm.sourceforge.net/doc/pbm.html
https://netpbm.sourceforge.net/doc/pbm.html
2017-10-16 Paul Eggert <eggert@cs.ucla.edu>
@ -197097,7 +197097,7 @@
Clang on macOS warns about these with -Wtautological-compare. POSIX
guarantees that rlim_t is
unsigned (cf.
http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/resource.h.html),
https://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/resource.h.html),
so these resource limits can never be negative.
* src/emacs.c (main): Remove tautological comparisons.
@ -199197,7 +199197,7 @@
' is commonly used as an apostrophe in the prose sections of spec
files, which was erroneously highlighted as strings. See for example
http://kmymoney2.sourceforge.net/phb/rpm-example.html
https://kmymoney2.sourceforge.net/phb/rpm-example.html
* lisp/progmodes/sh-script.el (sh-mode-syntax-table): Treat ' as
punctuation in RPM spec files.

View file

@ -187,7 +187,7 @@ X11 is being used.
libz (for PNG): https://www.zlib.net/
X libjpeg for JPEG: https://www.ijg.org/
X libtiff for TIFF: http://www.simplesystems.org/libtiff/
X libgif for GIF: http://giflib.sourceforge.net/
X libgif for GIF: https://giflib.sourceforge.net/
librsvg2 for SVG: https://wiki.gnome.org/Projects/LibRsvg
libwebp for WebP: https://developers.google.com/speed/webp/

View file

@ -530,6 +530,11 @@ lisp: src
lib lib-src lisp nt: Makefile
$(MAKE) -C $@ all
trampolines: src lisp
ifeq ($(HAVE_NATIVE_COMP),yes)
$(MAKE) -C lisp trampolines
endif
# Pass an unexpanded $srcdir to src's Makefile, which then
# expands it using its own value of srcdir (which points to the
# source directory of src/).

View file

@ -54,7 +54,7 @@
#
# [v0.1, 5 May 1995] First release.
#
# Use the Unicode reporting form <http://www.unicode.org/reporting.html>
# Use the Unicode reporting form <https://www.unicode.org/reporting.html>
# for any questions or comments or to report errors in the data.
#
0020 20 # SPACE # space

View file

@ -57,7 +57,7 @@
#
# [v0.1, 5 May 1995] First release.
#
# Use the Unicode reporting form <http://www.unicode.org/reporting.html>
# Use the Unicode reporting form <https://www.unicode.org/reporting.html>
# for any questions or comments or to report errors in the data.
#
0020 20 # SPACE # space

View file

@ -390,7 +390,7 @@ Next, regenerate the various manuals in HTML, PDF, and PS formats:
Now change to the 'manual' directory and invoke upload-manuals:
../admin/updload-manuals /path/to/webpages/cvs/checkout
../admin/upload-manuals /path/to/webpages/cvs/checkout
where /path/to/webpages/cvs/checkout is the place where you have the
CVS checkout of the Emacs Web pages, with subdirectories 'manual'

View file

@ -6,31 +6,31 @@ copyright.html.
The names, URLs, and dates for these files are as follows.
BidiBrackets.txt
http://www.unicode.org/Public/UNIDATA/BidiBrackets.txt
https://www.unicode.org/Public/UNIDATA/BidiBrackets.txt
2021-06-30
BidiMirroring.txt
http://www.unicode.org/Public/UNIDATA/BidiMirroring.txt
https://www.unicode.org/Public/UNIDATA/BidiMirroring.txt
2021-08-08
Blocks.txt
http://www.unicode.org/Public/8.0.0/ucd/Blocks.txt
https://www.unicode.org/Public/8.0.0/ucd/Blocks.txt
2021-01-22
IVD_Sequences.txt
http://www.unicode.org/ivd/
https://www.unicode.org/ivd/
2020-11-06
NormalizationTest.txt
http://www.unicode.org/Public/UNIDATA/NormalizationTest.txt
https://www.unicode.org/Public/UNIDATA/NormalizationTest.txt
2021-05-28
SpecialCasing.txt
http://unicode.org/Public/UNIDATA/SpecialCasing.txt
https://unicode.org/Public/UNIDATA/SpecialCasing.txt
2021-03-08
UnicodeData.txt
http://www.unicode.org/Public/UNIDATA/UnicodeData.txt
https://www.unicode.org/Public/UNIDATA/UnicodeData.txt
2021-07-06
emoji-data.txt

View file

@ -23,7 +23,7 @@
### Commentary:
## This script takes as input Unicode's Blocks.txt
## (http://www.unicode.org/Public/UNIDATA/Blocks.txt)
## (https://www.unicode.org/Public/UNIDATA/Blocks.txt)
## and produces output for Emacs's lisp/international/charscript.el.
## It lumps together all the blocks belonging to the same language.

View file

@ -13,7 +13,7 @@
<title>Unicode Terms of Use</title>
<link rel="stylesheet" type="text/css"
href="http://www.unicode.org/webscripts/standard_styles.css">
href="https://www.unicode.org/webscripts/standard_styles.css">
<style type="text/css">
pre {
@ -32,8 +32,8 @@
<td colspan="2">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td class="icon" style="width:38px; height:35px"><a href="http://www.unicode.org/"><img border="0"
src="http://www.unicode.org/webscripts/logo60s2.gif" align="middle" alt="[Unicode]" width="34" height="33"></a></td>
<td class="icon" style="width:38px; height:35px"><a href="https://www.unicode.org/"><img border="0"
src="https://www.unicode.org/webscripts/logo60s2.gif" align="middle" alt="[Unicode]" width="34" height="33"></a></td>
<td class="icon" style="vertical-align:middle;"> &nbsp;<a class="bar"
href="https://www.unicode.org/copyright.html"><font size="3">Terms of Use</font></a></td>
<td class="bar"><a href="https://www.unicode.org/main.html" class="bar">Tech Site</a>
@ -112,7 +112,7 @@ <h1>Unicode® Copyright and Terms of Use</h1>
<p>For the general privacy policy governing access to this site, see
the&nbsp;
<a href="http://www.unicode.org/policies/privacy_policy.html">
<a href="https://www.unicode.org/policies/privacy_policy.html">
Unicode Privacy Policy</a>.</p>
<ol type="A">
@ -158,7 +158,7 @@ <h1>Unicode® Copyright and Terms of Use</h1>
specifications of rights and restrictions of use. For the book
editions (Unicode 5.0 and earlier), these are found on the back
of the
<a href="http://www.unicode.org/versions/Unicode5.0.0/Title.pdf">title page</a>.</li>
<a href="https://www.unicode.org/versions/Unicode5.0.0/Title.pdf">title page</a>.</li>
<li>
The Unicode PDF <a href="https://www.unicode.org/charts/">online code charts</a> carry specific restrictions. Those restrictions are incorporated as the
first page of each PDF code chart.</li>
@ -224,7 +224,7 @@ <h1>Unicode® Copyright and Terms of Use</h1>
<li><u><a name="5"></a>Trademarks &amp; Logos</u>
<ol>
<li>The Unicode Word Mark and the Unicode Logo are trademarks of Unicode, Inc. “The Unicode Consortium” and “Unicode, Inc.” are trade names of Unicode, Inc. Use of the information and materials found on this website indicates your acknowledgement of Unicode, Inc.s exclusive worldwide rights in the Unicode Word Mark, the Unicode Logo, and the Unicode trade names.</li>
<li><a href="http://www.unicode.org/policies/logo_policy.html">The Unicode Consortium Name and Trademark Usage Policy</a> (“Trademark Policy”) are incorporated herein by reference and you agree to abide by the provisions of the Trademark Policy, which may be changed from time to time in the sole discretion of Unicode, Inc.</li>
<li><a href="https://www.unicode.org/policies/logo_policy.html">The Unicode Consortium Name and Trademark Usage Policy</a> (“Trademark Policy”) are incorporated herein by reference and you agree to abide by the provisions of the Trademark Policy, which may be changed from time to time in the sole discretion of Unicode, Inc.</li>
<li>All third party trademarks referenced herein are the property of their respective owners.</li>
</ol>
</li>
@ -270,15 +270,15 @@ <h1>Unicode® Copyright and Terms of Use</h1>
<center>
<table cellspacing="0" cellpadding="0" border="0" id="table2">
<tr>
<td><a href="http://www.unicode.org/copyright.html">
<img src="http://www.unicode.org/img/hb_notice.gif"
<td><a href="https://www.unicode.org/copyright.html">
<img src="https://www.unicode.org/img/hb_notice.gif"
border="0" alt="Access to Copyright and terms of use"
width="216" height="50"></a></td>
</tr>
</table>
<script language="Javascript" type="text/javascript"
src="http://www.unicode.org/webscripts/lastModified.js">
src="https://www.unicode.org/webscripts/lastModified.js">
</script>
</center>

View file

@ -667,6 +667,16 @@ type @kbd{M-x disable-theme}.
the @file{*Custom Themes*} buffer; or type @kbd{M-x describe-theme}
anywhere in Emacs and enter the theme name.
@findex theme-choose-variant
Some themes have variants (most often just two: light and dark). You
can switch to another variant using @kbd{M-x theme-choose-variant}.
If the currently active theme has only one other variant, it will be
selected; if there are more variants, the command will prompt you
which one to switch to.
Note that @code{theme-choose-variant} only works if a single theme
is active.
@node Creating Custom Themes
@subsection Creating Custom Themes
@cindex custom themes, creating

View file

@ -2302,7 +2302,9 @@ Display the reference on the current line in the other window
@item r @var{pattern} @key{RET} @var{replacement} @key{RET}
Perform interactive query-replace on references that match
@var{pattern} (@code{xref-query-replace-in-results}), replacing
the match with @var{replacement}. @xref{Identifier Search}.
the match with @var{replacement}. This command can only be used in
@file{*xref*} buffers that show all the matches for an identifier in
all the relevant files. @xref{Identifier Search}.
@item g
@findex xref-revert-buffer
@ -2336,7 +2338,8 @@ them.
@item M-?
Find all the references for the identifier at point.
@item M-x xref-query-replace-in-results @key{RET} @var{replacement} @key{RET}
@item r
@itemx M-x xref-query-replace-in-results @key{RET} @var{replacement} @key{RET}
@itemx C-u M-x xref-query-replace-in-results @key{RET} @var{regexp} @key{RET} @var{replacement} @key{RET}
Interactively replace @var{regexp} with @var{replacement} in the names
of all the identifiers shown in the @file{*xref*} buffer.
@ -2382,16 +2385,18 @@ shown. The default value is @code{nil}, which just shows the results
in the @file{*xref*} buffer, but doesn't select any of them.
@findex xref-query-replace-in-results
@kbd{M-x xref-query-replace-in-results} reads a @var{replacement}
@kbd{r} (@code{xref-query-replace-in-results}) reads a @var{replacement}
string, just like ordinary @kbd{M-x query-replace-regexp}. It then
renames the identifiers shown in the @file{*xref*} buffer in all the
places in all the files where these identifiers are referenced, such
that their new name is @var{replacement}. This is useful when you
rename your identifiers as part of refactoring. This command should
be invoked in the @file{*xref*} buffer generated by @kbd{M-?}. With a
prefix argument, the command also prompts for a regexp to match
identifier names, and renames that regexp in the names of the matching
identifiers with @var{replacement}.
be invoked in the @file{*xref*} buffer generated by @kbd{M-?}. By
default, the command replaces the entire name of each identifier with
@var{replacement}, but if invoked with a prefix argument, the command
prompts for a regexp to match identifier names, and replaces only the
matches of that regexp in the names of the identifiers with
@var{replacement}.
@findex xref-find-references-and-replace
@kbd{M-x xref-find-references-and-replace} works similarly to

View file

@ -291,8 +291,13 @@ When collaborating on projects it is common to send patches via email,
to share changes. If you wish to do this using VC, you can use the
@code{vc-prepare-patch} command. This will prompt you for the
revisions you wish to share, and which destination email address(es)
to use. The command will then prepare those revisions using your
@abbr{MUA, Mail User Agent} for you to review and send.
to use. The revisions are separated using commas (or whatever was
configured by @var{crm-separator}). The command will then prepare
those revisions using your @abbr{MUA, Mail User Agent} for you to
review and send.
When invoked interactively in a Log View buffer with marked revisions,
these revisions will be used.
@vindex vc-prepare-patches-separately
Depending on the value of the user option

View file

@ -427,19 +427,19 @@ It is a permanent local, unaffected by
@end defvar
@defvar buffer-file-number
This buffer-local variable holds the file number and directory device
number of the file visited in the current buffer, or @code{nil} if no
This buffer-local variable holds the inode number and device
identifier of the file visited in the current buffer, or @code{nil} if no
file or a nonexistent file is visited. It is a permanent local,
unaffected by @code{kill-all-local-variables}.
The value is normally a list of the form @code{(@var{filenum}
@var{devnum})}. This pair of numbers uniquely identifies the file among
The value is normally a list of the form @code{(@var{inodenum}
@var{device})}. This tuple uniquely identifies the file among
all files accessible on the system. See the function
@code{file-attributes}, in @ref{File Attributes}, for more information
about them.
If @code{buffer-file-name} is the name of a symbolic link, then both
numbers refer to the recursive target.
@var{inodenum} and @var{device} refer to the recursive target of the link.
@end defvar
@defun get-file-buffer filename

View file

@ -985,7 +985,7 @@ too late.
While setting this variable disables automatic compilation of Lisp
files, the compiler may still be invoked to install @dfn{trampolines}
if any built-in functions are redefined. However, these trampolines
will not get written to disk.
will not get written to your cache directory.
You can also use the @samp{EMACS_INHIBIT_AUTOMATIC_NATIVE_COMPILATION}
environment variable to disable native compilation.

View file

@ -1428,12 +1428,32 @@ emacs, The GNU Emacs Manual}.)
be a call to @code{deftheme}, and the last form should be a call to
@code{provide-theme}.
@defmac deftheme theme &optional doc
@defmac deftheme theme &optional doc &rest properties
This macro declares @var{theme} (a symbol) as the name of a Custom
theme. The optional argument @var{doc} should be a string describing
the theme; this is the description shown when the user invokes the
@code{describe-theme} command or types @kbd{?} in the @samp{*Custom
Themes*} buffer.
Themes*} buffer. The remaining arguments @var{properties} are used
pass a property list with theme attributes.
The following attributes are supported:
@table @code
@item :family
A symbol designating what ``family'' a theme belongs to. A
@dfn{family} of themes is a set of similar themes that differ by minor
aspects, such as face colors that are meant for the light vs dark
background of the frame.
@item :kind
A symbol. If a theme is enabled and this property has the value
@code{color-scheme}, then the @code{theme-choose-variant} command will
look for other available themes that belong to the same family in
order to switch the themes. Other values are currently unspecified
and should not be used.
@item :background-mode
A symbol, either @code{light} or @code{dark}. This attribute is
currently unused, but should still be specified.
@end table
Two special theme names are disallowed (using them causes an error):
@code{user} is a dummy theme that stores the user's direct

View file

@ -1253,14 +1253,6 @@ the @samp{smb} method. For all other connection methods, runtime
tests are performed.
@end defun
@defun file-in-directory-p file dir
This function returns @code{t} if @var{file} is a file in directory
@var{dir}, or in a subdirectory of @var{dir}. It also returns
@code{t} if @var{file} and @var{dir} are the same directory. It
compares the truenames of the two directories. If @var{dir} does not
name an existing directory, the return value is @code{nil}.
@end defun
@defun vc-responsible-backend file
This function determines the responsible VC backend of the given
@var{file}. For example, if @file{emacs.c} is a file tracked by Git,
@ -1412,14 +1404,17 @@ The file's inode number (@code{file-attribute-inode-number}),
a nonnegative integer.
@item
The filesystem number of the device that the file is on
@code{file-attribute-device-number}), an integer.
This element and the file's inode number
together give enough information to distinguish any two files on the
system---no two files can have the same values for both of these
numbers.
The filesystem's identifier of the device that the file is on
(@code{file-attribute-device-number}), an integer or a cons cell of
two integers. The latter is sometimes used by remote files, in order
to distinguish remote filesystems from local ones.
@end enumerate
The file's inode and device together give enough information
to distinguish any two files on the system---no two files can have the
same values for both of these attributes. This tuple that uniquely
identifies the file is returned by @code{file-attribute-file-identifier}.
For example, here are the file attributes for @file{files.texi}:
@example
@ -3100,6 +3095,17 @@ is called with one argument (the file or directory) and should return
non-@code{nil} if that directory is the one it is looking for.
@end defun
@cindex parent directory of file
@cindex ancestor directory of file
@cindex file, ancestor directory of
@defun file-in-directory-p file dir
This function returns @code{t} if @var{file} is a file in directory
@var{dir}, or in a subdirectory of @var{dir}. It also returns
@code{t} if @var{file} and @var{dir} are the same directory. It
compares the truenames of the two directories. If @var{dir} does not
name an existing directory, the return value is @code{nil}.
@end defun
@defun directory-files-and-attributes directory &optional full-name match-regexp nosort id-format count
This is similar to @code{directory-files} in deciding which files
to report on and how to report their names. However, instead

View file

@ -662,7 +662,7 @@ and @code{define-overloadable-function} (see the commentary in
and @code{define-global-minor-mode}.
@item Other definition types:
@code{defcustom}, @code{defgroup}, @code{defclass}
@code{defcustom}, @code{defgroup}, @code{deftheme}, @code{defclass}
(@pxref{Top,EIEIO,,eieio,EIEIO}), and @code{define-skeleton}
(@pxref{Top,Autotyping,,autotype,Autotyping}).
@end table

View file

@ -5321,9 +5321,12 @@ This has exactly the same effect as the previous example, but is more
efficient and safer (because it doesn't involve any string parsing or
interpolation).
@code{sqlite-execute} returns the number of affected rows. For
instance, an @samp{insert} statement will return @samp{1}, whereas an
@samp{update} statement may return zero or a higher number.
@code{sqlite-execute} usually returns the number of affected rows.
For instance, an @samp{insert} statement will typically return
@samp{1}, whereas an @samp{update} statement may return zero or a
higher number. However, when using @acronym{SQL} statements like
@w{@samp{insert into @dots{} returning @dots{}}} and the like, the values
specified by @w{@samp{returning @dots{}}} will be returned instead.
Strings in SQLite are, by default, stored as @code{utf-8}, and
selecting a text column will decode the string using that charset.

View file

@ -6684,32 +6684,32 @@ time window change functions were run for @var{window}'s frame. If it
returns @code{nil}, @var{window} has been created after that. If it
returns @code{t}, @var{window} was not shown at that time but has been
restored from a previously saved window configuration afterwards.
Otherwise, the return value is the buffer shown by @code{window} at
Otherwise, the return value is the buffer shown by @var{window} at
that time.
@end defun
@defun window-old-pixel-width &optional window
This function returns the total pixel width of @var{window} the
last time window change functions found @code{window} live on its
frame. It is zero if @code{window} was created after that.
last time window change functions found @var{window} live on its
frame. It is zero if @var{window} was created after that.
@end defun
@defun window-old-pixel-height &optional window
This function returns the total pixel height of @var{window} the last
time window change functions found @code{window} live on its frame.
It is zero if @code{window} was created after that.
time window change functions found @var{window} live on its frame.
It is zero if @var{window} was created after that.
@end defun
@defun window-old-body-pixel-width &optional window
This function returns the pixel width of @var{window}'s text area the
last time window change functions found @code{window} live on its
frame. It is zero if @code{window} was created after that.
last time window change functions found @var{window} live on its
frame. It is zero if @var{window} was created after that.
@end defun
@defun window-old-body-pixel-height &optional window
This function returns the pixel height of @var{window}'s text area the
last time window change functions found @code{window} live on its
frame. It is zero if @code{window} was created after that.
last time window change functions found @var{window} live on its
frame. It is zero if @var{window} was created after that.
@end defun
In order to find out which window or frame was selected the last time

View file

@ -580,7 +580,7 @@ you are going to be editing AWK files, @file{README} describes how to
configure your (X)Emacs so that @ccmode{} will supersede the obsolete
@code{awk-mode.el} which might have been supplied with your (X)Emacs.
@ccmode{} might not work with older versions of Emacs or XEmacs. See
the @ccmode{} release notes at @uref{http://cc-mode.sourceforge.net}
the @ccmode{} release notes at @uref{https://cc-mode.sourceforge.net}
for the latest information on Emacs version and package compatibility
(@pxref{Updating CC Mode}).
@ -3170,7 +3170,7 @@ E. Jones' Filladapt package@footnote{It's available from
lack a feature that makes it work suboptimally when
@code{c-comment-prefix-regexp} matches the empty string (which it does
by default). A patch for that is available from
@uref{http://cc-mode.sourceforge.net/,, the CC Mode web site}.},
@uref{https://cc-mode.sourceforge.net/,, the CC Mode web site}.},
@c 2005/11/22: The above is still believed to be the case.
which handles things like bulleted lists nicely. There's a convenience
function @code{c-setup-filladapt} that tunes the relevant variables in
@ -7583,7 +7583,7 @@ have old versions of @ccmode{} and so should be upgraded. Access to the
compatibility, etc.@: are all available on the web site:
@quotation
@uref{http://cc-mode.sourceforge.net/}
@uref{https://cc-mode.sourceforge.net/}
@end quotation
@ -7617,7 +7617,7 @@ the GNU Bug Tracker at @url{https://debbugs.gnu.org}, then sends it on
to @email{bug-cc-mode@@gnu.org}. You can also send reports, other
questions, and suggestions (kudos?@: @t{;-)} to that address. It's a
mailing list which you can join or browse an archive of; see the web site at
@uref{http://cc-mode.sourceforge.net/} for further details.
@uref{https://cc-mode.sourceforge.net/} for further details.
@cindex announcement mailing list
If you want to get announcements of new @ccmode{} releases, send the

View file

@ -1744,7 +1744,7 @@ date now, so no concrete pointers are available.
You will need an implementation of TeX for Windows.
A number of implementations are listed on the
@uref{http://www.tug.org/interest.html#free, TeX Users Group} website.
@uref{https://www.tug.org/interest.html#free, TeX Users Group} website.
@node Spell check
@section How do I perform spell checks?
@ -1899,7 +1899,7 @@ Christopher Payne wrote a Visual Studio add-in that makes Emacs the
default text editor, this has now been taken over by Jeff Paquette.
See the following two URLs for details:
@itemize
@item @uref{http://sourceforge.net/projects/visemacs/} for the latest version.
@item @uref{https://sourceforge.net/projects/visemacs/} for the latest version.
@item @uref{http://www.smathers.net/VisEmacs.htm} for notes on usage.
@end itemize
@ -2039,7 +2039,7 @@ this option is set. (I don't see it on VC++ 4.0.)
@cindex Borland C++, integration with Emacs
Jonathan Arnold has written an
@uref{http://www.buddydog.org/C++Builder/c++builder.html, EmacsEdit
@uref{https://www.buddydog.org/C++Builder/c++builder.html, EmacsEdit
``expert''} for interfacing C++ Builder and Emacs.
@node Version control
@ -2194,7 +2194,7 @@ to port software to Windows.
@cindex image libraries, gnuwin32
@cindex image libraries, development
@uref{http://gnuwin32.sourceforge.net/}
@uref{https://gnuwin32.sourceforge.net/}
GnuWin32 provides precompiled native Windows ports of a wide selection
of Free software and libraries. Unfortunately, the ports are

View file

@ -3622,13 +3622,13 @@ To build Emacs from source for MS-DOS, see the instructions in the file
on plain DOS, and also on all versions of MS-Windows from version 3.X
onwards, including Windows XP and Vista. Pre-built binaries may be
available at
@uref{http://www.delorie.com/pub/djgpp/current/v2gnu/emacs.README}
@uref{https://www.delorie.com/pub/djgpp/current/v2gnu/emacs.README}
For a list of other implementations of Emacs (and Emacs
look-alikes), consult the list of ``Emacs implementations and literature,''
available at
@uref{http://www.finseth.com/emacs.html}
@uref{https://www.finseth.com/emacs.html}
Note that while many of these programs look similar to Emacs, they often
lack certain features, such as the Emacs Lisp extension language.
@ -3757,7 +3757,7 @@ Various spell-checkers are compatible with Emacs, including:
@table @b
@item Hunspell
@uref{http://hunspell.sourceforge.net/}
@uref{https://hunspell.github.io/}
@item GNU Aspell
@uref{http://aspell.net/}

View file

@ -1330,7 +1330,7 @@ details.
However, what you really want is the Insidious Big Brother
Database bbdb. Get it from
@uref{http://bbdb.sourceforge.net/, bbdb's website}.
@uref{https://bbdb.sourceforge.net/, bbdb's website}.
Now place the following in @file{~/.gnus.el}, to activate bbdb for Gnus:
@example
@ -1782,13 +1782,13 @@ when you're online.
Let's talk about Unix systems first: For the news part,
the easiest solution is a small nntp server like
@uref{https://www.leafnode.org/, Leafnode} or
@uref{http://patrik.iki.fi/sn/, sn},
@uref{https://patrik.iki.fi/sn/, sn},
of course you can also install a full featured news
server like
@uref{https://www.isc.org/othersoftware/, inn}.
Then you want to fetch your Mail, popular choices
are @uref{https://www.fetchmail.info/, fetchmail}
and @uref{http://pyropus.ca/software/getmail/, getmail}.
and @uref{https://pyropus.ca/software/getmail/, getmail}.
You should tell those to write the mail to your disk and
Gnus to read it from there. Last but not least the mail
sending part: This can be done with every MTA like

View file

@ -8045,7 +8045,7 @@ to a string containing the default command and options (default
@findex gnus-summary-muttprint
@vindex gnus-summary-muttprint-program
Save the current article into muttprint. That is, print it using the
external program @uref{http://muttprint.sourceforge.net/,
external program @uref{https://muttprint.sourceforge.net/,
Muttprint}. The program name and options to use is controlled by the
variable @code{gnus-summary-muttprint-program}.
(@code{gnus-summary-muttprint}).
@ -9343,7 +9343,7 @@ Use Gnus rendered based on w3m.
Use @uref{http://emacs-w3m.namazu.org/, emacs-w3m}.
@item w3m-standalone
Use @uref{http://w3m.sourceforge.net/, w3m}.
Use @uref{https://w3m.sourceforge.net/, w3m}.
@item links
Use @uref{http://links.twibright.com/, Links}.
@ -13602,7 +13602,7 @@ Here's the method for a public spool:
If you are behind a firewall and only have access to the @acronym{NNTP}
server from the firewall machine, you can instruct Gnus to @code{rlogin}
on the firewall machine and connect with
@uref{http://netcat.sourceforge.net/, netcat} from there to the
@uref{https://netcat.sourceforge.net/, netcat} from there to the
@acronym{NNTP} server.
Doing this can be rather fiddly, but your virtual server definition
should probably look something like this:
@ -23794,7 +23794,7 @@ On a GNU/Linux system, the @code{display} program is included in the
ImageMagick package. For external conversion programs look for packages
with names like @code{netpbm}, @code{libgr-progs} and @code{compface}.
On Windows, you may use the packages @code{netpbm} and @code{compface}
from @url{http://gnuwin32.sourceforge.net}. You need to add the
from @url{https://gnuwin32.sourceforge.net}. You need to add the
@code{bin} directory to your @code{PATH} environment variable.
@c In fact only the following DLLs and binaries seem to be required:
@c compface1.dll uncompface.exe libnetpbm10.dll icontopbm.exe

View file

@ -3082,7 +3082,7 @@ retracted---without question@footnote{In previous versions of MH-E,
this option suppressed the confirmation in @code{mh-kill-folder}.
Since this kept most users from setting this option,
@code{mh-kill-folder} was modified in version 6.0 to always ask for
confirmation subject to @code{mh-kill-folder-suppress-prompt-hook}.
confirmation subject to @code{mh-kill-folder-suppress-prompt-functions}.
@xref{Folders}.}.
@cindex MH-Folder mode
@ -3364,7 +3364,7 @@ Hook run by q before quitting MH-E (default: @code{nil}).
Hook run by @code{mh-folder-mode} when visiting a new folder (default:
@code{nil}).
@c -------------------------
@item mh-kill-folder-suppress-prompt-hook
@item mh-kill-folder-suppress-prompt-functions
Abnormal hook run at the beginning of @code{mh-kill-folder} (default:
@code{'mh-search-p}).
@c -------------------------
@ -7540,8 +7540,8 @@ Allowlisted message face
@cindex spam filters, bogofilter
MH-E depends on @uref{https://spamassassin.apache.org/, SpamAssassin},
@uref{http://bogofilter.sourceforge.net/, bogofilter}, or
@uref{http://spamprobe.sourceforge.net/, SpamProbe} to throw the dreck
@uref{https://bogofilter.sourceforge.net/, bogofilter}, or
@uref{https://spamprobe.sourceforge.net/, SpamProbe} to throw the dreck
away. This chapter describes briefly how to configure these programs
to work well with MH-E and how to use MH-E's interface that provides
continuing education for these programs.
@ -7721,7 +7721,7 @@ done by adding the following to your @file{crontab}:
Bogofilter is a Bayesian spam filtering program. Get it from your
local distribution or from the
@uref{http://bogofilter.sourceforge.net/, bogofilter web site}.
@uref{https://bogofilter.sourceforge.net/, bogofilter web site}.
Bogofilter is taught by running:
@ -7791,7 +7791,7 @@ bogofilter.
@cindex spam filters, SpamProbe
SpamProbe is a Bayesian spam filtering program. Get it from your local
distribution or from the @uref{http://spamprobe.sourceforge.net,
distribution or from the @uref{https://spamprobe.sourceforge.net,
SpamProbe web site}.
To use SpamProbe, add the following recipes to @file{~/.procmailrc}:
@ -8633,7 +8633,7 @@ via SourceForge (@pxref{Bug Reports}).
@cindex FAQ
@cindex MH FAQ
The article @uref{http://www.newt.com/faq/mh.html, @cite{MH Frequently
The article @uref{https://www.newt.com/faq/mh.html, @cite{MH Frequently
Asked Questions (FAQ) with Answers}} appears monthly in the newsgroup
@samp{comp.mail.mh}. While very little is there that deals with MH-E
specifically, there is an incredible wealth of material about MH

View file

@ -68,8 +68,8 @@ of Org, as well as additional information, frequently asked questions
[[https://orgmode.org]].
#+cindex: print edition
An earlier version (7.3) of this manual is available as a [[http://www.network-theory.co.uk/org/manual/][paperback
book from Network Theory Ltd.]].
An earlier version (7.3) of this manual was published as a paperback book by
Network Theory Ltd. in 2010.
** Installation
:PROPERTIES:
@ -3234,7 +3234,7 @@ options:
| Link Type | Example |
|------------+----------------------------------------------------------|
| http | =http://staff.science.uva.nl/c.dominik/= |
| http | =https://staff.science.uva.nl/c.dominik/= |
| https | =https://orgmode.org/= |
| doi | =doi:10.1000/182= |
| file | =file:/home/dominik/images/jupiter.jpg= |
@ -3567,7 +3567,7 @@ replacement text. Here is an example:
'(("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")
("omap" . "https://nominatim.openstreetmap.org/search?q=%s&polygon=1")
("ads" . "https://ui.adsabs.harvard.edu/search/q=%20author%3A\"%s\"")))
#+end_src
@ -3596,7 +3596,7 @@ can define them in the file with
#+cindex: @samp{LINK}, keyword
#+begin_example
,#+LINK: bugzilla http://10.1.2.9/bugzilla/show_bug.cgi?id=
,#+LINK: bugzilla https://10.1.2.9/bugzilla/show_bug.cgi?id=
,#+LINK: duckduckgo https://duckduckgo.com/?q=%s
#+end_example
@ -13642,7 +13642,7 @@ not have descriptions, such as these links =[[file:img.jpg]]= or
=[[./img.jpg]]=, as direct image insertions in the final PDF output. In
the PDF, they are no longer links but actual images embedded on the
page. The LaTeX export back-end uses =\includegraphics= macro to
insert the image. But for TikZ (http://sourceforge.net/projects/pgf/)
insert the image. But for TikZ (https://sourceforge.net/projects/pgf/)
images, the back-end uses an ~\input~ macro wrapped within
a ~tikzpicture~ environment.
@ -13982,7 +13982,7 @@ some text in German...
#+cindex: Markdown export
The Markdown export back-end, "md", converts an Org file to Markdown
format, as defined at http://daringfireball.net/projects/markdown/.
format, as defined at https://daringfireball.net/projects/markdown/.
Since it is built on top of the HTML back-end (see [[*HTML Export]]), it
converts every Org construct not defined in Markdown syntax, such as
@ -22053,7 +22053,7 @@ MathJax are processed. When dvipng, dvisvgm, or ImageMagick suite is
used to create images, any LaTeX environment is handled.
[fn:112] These are respectively available at
[[http://sourceforge.net/projects/dvipng/]], [[http://dvisvgm.bplaced.net/]]
[[https://sourceforge.net/projects/dvipng/]], [[http://dvisvgm.bplaced.net/]]
and from the ImageMagick suite. Choose the converter by setting the
variable ~org-preview-latex-default-process~ accordingly.
@ -22123,9 +22123,9 @@ semantic relevance.
[fn:130] Please note that exported formulas are part of an HTML
document, and that signs such as =<=, =>=, or =&= have special
meanings. See [[http://docs.mathjax.org/en/latest/tex.html#tex-and-latex-in-html-documents][MathJax TeX and LaTeX support]].
meanings. See [[https://docs.mathjax.org/en/latest/tex.html#tex-and-latex-in-html-documents][MathJax TeX and LaTeX support]].
[fn:131] See [[http://docs.mathjax.org/en/latest/tex.html#tex-extensions][TeX and LaTeX extensions]] in the [[http://docs.mathjax.org][MathJax manual]] to learn
[fn:131] See [[https://docs.mathjax.org/en/latest/tex.html#tex-extensions][TeX and LaTeX extensions]] in the [[https://docs.mathjax.org][MathJax manual]] to learn
about extensions.
[fn:132] If the classes on TODO keywords and tags lead to conflicts,
@ -22140,14 +22140,14 @@ as latexmk, can select the correct bibliography compiler.
which requires the flag =-shell-escape= to be added to
~org-latex-pdf-process~.
[fn:135] See [[http://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2.html][Open Document Format for Office Applications
[fn:135] See [[https://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2.html][Open Document Format for Office Applications
(OpenDocument) Version 1.2]].
[fn:136] See [[http://www.mathtoweb.com/cgi-bin/mathtoweb_home.pl][MathToWeb]].
[fn:137] See [[http://dlmf.nist.gov/LaTeXML/]].
[fn:137] See [[https://dlmf.nist.gov/LaTeXML/]].
[fn:138] [[http://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2.html][OpenDocument-v1.2 Specification]]
[fn:138] [[https://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2.html][OpenDocument-v1.2 Specification]]
[fn:139] See the =<table:table-template>= element of the
OpenDocument-v1.2 specification.
@ -22170,7 +22170,7 @@ are not evaluated when they appear in a keyword (see [[*Summary of
In-Buffer Settings]]).
[fn:144] For noweb literate programming details, see
http://www.cs.tufts.edu/~nr/noweb/.
https://www.cs.tufts.edu/~nr/noweb/.
[fn:145] For more information, please refer to the commentary section
in =org-tempo.el=.

View file

@ -424,13 +424,6 @@ The default priority for remembered mail messages.
@section Saving to an Org Mode file
@cindex org mode, integration
@ignore
From org.texi:
Up to version 6.36 Org used a special setup
for @file{remember.el}. @file{org-remember.el} is still part of Org mode for
backward compatibility with existing setups. You can find the documentation
for org-remember at @url{http://orgmode.org/org-remember.pdf}.
@end ignore
For instructions on how to integrate Remember with Org Mode,
consult @ref{Capture, , , org}.

View file

@ -82,7 +82,7 @@ hippie-expand, and several other parts of Emacs.
To send bug reports, or participate in discussions about semantic,
use the mailing list cedet-semantic@@sourceforge.net via the URL:
@url{http://lists.sourceforge.net/lists/listinfo/cedet-semantic}
@url{https://lists.sourceforge.net/lists/listinfo/cedet-semantic}
@ifnottex
@insertcopying

View file

@ -339,7 +339,7 @@ Indicate which script on the server should be active.
The Emacs Sieve package implements all or parts of a small but
hopefully growing number of RFCs and drafts documents. This chapter
lists the relevant ones. They can all be fetched from
@uref{http://quimby.gnus.org/notes/}.
@uref{https://quimby.gnus.org/notes/}.
@table @dfn

View file

@ -892,7 +892,7 @@ list. Send email to the maintainer @email{reto@@gnu.org} to join
either of these lists.
The official Emacs VHDL Mode Home Page can be found at
@uref{http://www.iis.ee.ethz.ch/~zimmi/emacs/vhdl-mode.html}.
@uref{https://www.iis.ee.ethz.ch/~zimmi/emacs/vhdl-mode.html}.
@node Sample Init File
@chapter Sample Init File

View file

@ -1004,7 +1004,7 @@ incompatible with the --with-dumping=unexec option of 'configure'.
** Running Emacs under Valgrind
Valgrind <http://valgrind.org/> is free software that can be useful
Valgrind <https://valgrind.org/> is free software that can be useful
when debugging low-level Emacs problems. Unlike GCC sanitizers,
Valgrind does not need you to compile Emacs with special debugging
flags, so it can be helpful in investigating problems that vanish when

View file

@ -1024,6 +1024,12 @@ The apropos commands will now select the apropos window if
If the symbol at point is a keymap, 'describe-keymap' suggests it as
the default candidate.
---
*** New command 'help-quick' displays an overview of common commands.
The command pops up a buffer at the bottom of the screen with a few
helpful commands for various tasks. You can toggle the display using
'C-h q'.
** Outline Mode
+++
@ -1376,6 +1382,11 @@ the ecomplete database.
*** New user option 'ecomplete-auto-select'.
If non-nil and there's only one matching option, auto-select that.
---
*** New user option 'ecomplete-filter-regexp'.
If non-nil, this user option describes what entries not to add to the
database stored on disk.
** Dired
+++
@ -1897,7 +1908,7 @@ If non-nil, multiple revisions can be queried. This is done using
'completing-read-multiple'.
---
*** New function 'vc-read-multiple-revisions'
*** New function 'vc-read-multiple-revisions'.
This function invokes 'vc-read-revision' with a non-nil value for
MULTIPLE.
@ -1905,7 +1916,7 @@ MULTIPLE.
*** New command 'vc-prepare-patch'.
Patches for any version control system can be prepared using VC. The
command will query what commits to send and will compose messages for
your mail user agent. The behaviour of 'vc-prepare-patch' can be
your mail user agent. The behavior of 'vc-prepare-patch' can be
modified by the user options 'vc-prepare-patches-separately' and
'vc-default-patch-addressee'.
@ -2860,6 +2871,11 @@ Previously, ';;;###' specs inside a top-level form (i.e., something
like '(when ... ;;;### ...)' would be ignored. They are now parsed as
normal.
---
** Themes have special autoload cookies.
All build-in themes are scraped for ;;;###theme-autoload cookies that
are loaded along with the regular auto-loaded code.
+++
** 'buffer-modified-p' has been extended.
This function was previously documented to return only nil or t. This
@ -3172,6 +3188,13 @@ The following generalized variables have been made obsolete:
* Lisp Changes in Emacs 29.1
+++
** New accessor function 'file-attribute-file-identifier'.
It returns the list of the inode number and device identifier
retrieved by 'file-attributes'. This value can be used to identify a
file uniquely. The device identifier can be a single number or (for
remote files) a cons of 2 numbers.
+++
** New macro 'while-let'.
This is like 'when-let', but repeats until a binding form is nil.

View file

@ -217,7 +217,7 @@ Default is 'grow-only'.
** LessTif support.
Emacs now runs with the LessTif toolkit (see
<http://lesstif.sourceforge.net>). You will need version 0.92.26, or later.
<https://lesstif.sourceforge.net>). You will need version 0.92.26, or later.
** LessTif/Motif file selection dialog.

View file

@ -3540,7 +3540,7 @@ read-only on computers that are administered by someone else.
PBM and XBM images are supported out of the box. Other image formats
depend on external libraries. All of these libraries have been ported
to Windows, and can be found in both source and binary form at
http://gnuwin32.sourceforge.net/. Note that libpng also depends on
https://gnuwin32.sourceforge.net/. Note that libpng also depends on
zlib, and tiff depends on the version of jpeg that it was compiled
against. For additional information, see nt/INSTALL.

View file

@ -72,7 +72,7 @@ using large fonts, at the price of a larger memory footprint.
** The version number of CC Mode has been changed from 5.33 to
5.32.99, although the software itself hasn't changed. This aims to
reduce confusion with the standalone CC Mode 5.33 (available from
http://cc-mode.sourceforge.net), which is a more mature version than
https://cc-mode.sourceforge.net), which is a more mature version than
the one included in Emacs 25.2.

View file

@ -1223,7 +1223,7 @@ specialized for editing freedesktop.org desktop entries.
editing Less files.
** New package 'auth-source-pass' integrates 'auth-source' with the
password manager password-store (http://passwordstore.org).
password manager password-store (https://passwordstore.org).
* Incompatible Lisp Changes in Emacs 26.1

View file

@ -509,7 +509,7 @@ Also for listing fonts, displaying a font as a sample, etc.
** Program Enriched mode to read and save in RTF
Is there actually a decent single definition of RTF? Maybe see info at
http://latex2rtf.sourceforge.net/.
https://latex2rtf.sourceforge.net/.
This task seems to be addressed by
https://savannah.nongnu.org/projects/emacs-rtf/, which is still in
@ -886,7 +886,6 @@ window associated with that modeline.
https://lists.gnu.org/r/emacs-devel/2007-09/msg02416.html
** Random things that were planned for Emacs-24
Stefan Monnier writes: "Random things that cross my mind right now
that I'd like to see. Some of them from my local hacks, but it's not
obvious at all whether they'll make it."
@ -1737,11 +1736,18 @@ https://lists.gnu.org/r/emacs-devel/2012-06/msg00354.html
** Maybe replace lib-src/rcs2log with a Lisp implementation
It wouldn't have to be a complete replacement, just enough
for vc-rcs-update-changelog.
** Allow Emacs to use the bottom-right corner of a TTY
Emacs doesn't use the bottom-right corner of a TTY when terminfo
capability "am" (auto_right_margin) is defined. It could use the
bottom-right corner nonetheless when certain other capabilities are
defined. See bug#57607.
** Replace tramp-archive.el by a native libarchive(3) implementation.
The former is based on the GVFS archive backend, which makes it
available on GNU/Linux only. That implementation has further
drawbacks like it doesn't support to write into archives.
* Other known bugs
** 'make-frame' forgets unhandled parameters, at least for X11 frames

View file

@ -13,10 +13,10 @@ License: GNU General Public License version 3 or later (see COPYING)
Some icons are derived from Red Hat's Insight Debugger:
<http://sourceware.org/insight/>
<https://sourceware.org/insight/>
"Insight is a graphical user interface to GDB, the GNU Debugger"
<http://sourceware.org/insight/aboutus.php>
<https://sourceware.org/insight/aboutus.php>
"Insight is being released under the terms of the GNU General Public
License (GPL)"

View file

@ -38,7 +38,7 @@ template ede-empty :project
{{comment_prefix}} by EDE when this file is updated.
{{comment_prefix}}
{{comment_prefix}} EDE is the Emacs Development Environment.
{{comment_prefix}} http://cedet.sourceforge.net/ede.shtml
{{comment_prefix}} https://cedet.sourceforge.net/ede.shtml
{{comment_prefix}}
{{comment_prefix}} Process this file with autoconf to produce a configure script

View file

@ -34,7 +34,7 @@ template ede-empty :file :project
#
# DO NOT MODIFY THIS FILE OR YOUR CHANGES MAY BE LOST.
# EDE is the Emacs Development Environment.
# http://cedet.sourceforge.net/ede.shtml
# https://cedet.sourceforge.net/ede.shtml
#
----
@ -58,7 +58,7 @@ template ede-empty :file
#
# DO NOT MODIFY THIS FILE OR YOUR CHANGES MAY BE LOST.
# EDE is the Emacs Development Environment.
# http://cedet.sourceforge.net/ede.shtml
# https://cedet.sourceforge.net/ede.shtml
ARDUINO_DIR = {{ARDUINO_HOME}}

View file

@ -21,10 +21,13 @@
;;; Code:
;;;###theme-autoload
(deftheme adwaita
"Face colors similar to the default theme of Gnome 3 (Adwaita).
The colors are chosen to match Adwaita window decorations and the
default look of the Gnome 3 desktop.")
default look of the Gnome 3 desktop."
:background-mode 'light
:kind 'color-scheme)
(let ((class '((class color) (min-colors 89))))
(custom-theme-set-faces

View file

@ -21,8 +21,11 @@
;;; Code:
;;;###theme-autoload
(deftheme deeper-blue
"Face colors using a deep blue background.")
"Face colors using a deep blue background."
:background-mode 'dark
:kind 'color-scheme)
(let ((class '((class color) (min-colors 89))))
(custom-theme-set-faces

View file

@ -21,6 +21,7 @@
;;; Code:
;;;###theme-autoload
(deftheme dichromacy
"Face colors suitable for red/green color-blind users.
The color palette is from B. Wong, Nature Methods 8, 441 (2011).
@ -28,7 +29,9 @@ It is intended to provide good variability while being easily
differentiated by individuals with protanopia or deuteranopia.
Basic, Font Lock, Isearch, Gnus, Message, Flyspell, and
Ansi-Color faces are included.")
Ansi-Color faces are included."
:background-mode 'light
:kind 'color-scheme)
(let ((class '((class color) (min-colors 89)))
(orange "#e69f00")

View file

@ -5,7 +5,7 @@
;; Author: Fabrice Niessen <(concat "fniessen" at-sign "pirilampo.org")>
;; Contributor: Thibault Polge <(concat "thibault" at-sign "thb.lt")>
;; URL: https://github.com/fniessen/emacs-leuven-dark-theme
;; Version: 20220202.1126
;; Version: 20221010.1208
;; Keywords: color theme
;; This file is part of GNU Emacs.
@ -93,11 +93,15 @@ CONTROL can be a number, nil, or t. When t, use DEFAULT-HEIGHT."
;;; Theme Faces.
;;;###theme-autoload
(deftheme leuven-dark
"Face colors with a light background.
Basic, Font Lock, Isearch, Gnus, Message, Org mode, Diff, Ediff,
Flyspell, Semantic, and Ansi-Color faces are included -- and much
more...")
more..."
:background-mode 'dark
:family 'leuven
:kind 'color-scheme)
(let ((class '((class color) (min-colors 89)))

View file

@ -4,7 +4,7 @@
;; Author: Fabrice Niessen <(concat "fniessen" at-sign "pirilampo.org")>
;; URL: https://github.com/fniessen/emacs-leuven-theme
;; Version: 20200513.1928
;; Version: 20221010.1209
;; Keywords: color theme
;; This file is part of GNU Emacs.
@ -74,11 +74,15 @@ CONTROL can be a number, nil, or t. When t, use DEFAULT-HEIGHT."
;;; Theme Faces.
;;;###theme-autoload
(deftheme leuven
"Face colors with a light background.
Basic, Font Lock, Isearch, Gnus, Message, Org mode, Diff, Ediff,
Flyspell, Semantic, and Ansi-Color faces are included -- and much
more...")
more..."
:background-mode 'light
:kind 'color-scheme
:family 'leuven)
(let ((class '((class color) (min-colors 89)))

View file

@ -26,8 +26,11 @@
;;; Code:
;;;###theme-autoload
(deftheme light-blue
"Face colors utilizing a light blue background.")
"Face colors utilizing a light blue background."
:background-mode 'light
:kind 'color-scheme)
(make-obsolete 'light-blue nil "29.1")

View file

@ -64,10 +64,13 @@
;;; Code:
;;;###theme-autoload
(deftheme manoj-dark
"Very high contrast faces with a black background.
This theme avoids subtle color variations, while avoiding the
jarring angry fruit salad look to reduce eye fatigue.")
jarring angry fruit salad look to reduce eye fatigue."
:background-mode 'dark
:kind 'color-scheme)
(custom-theme-set-faces
'manoj-dark

View file

@ -21,8 +21,11 @@
;;; Code:
;;;###theme-autoload
(deftheme misterioso
"Predominantly blue/cyan faces on a dark cyan background.")
"Predominantly blue/cyan faces on a dark cyan background."
:background-mode 'dark
:kind 'color-scheme)
(let ((class '((class color) (min-colors 89))))

View file

@ -71,4 +71,6 @@ which corresponds to a minimum contrast in relative luminance of
(provide-theme 'modus-operandi))
;;;###theme-autoload (put 'modus-operandi 'theme-properties '(:background-mode light :kind color-scheme :family modus))
;;; modus-operandi-theme.el ends here

View file

@ -71,4 +71,6 @@ which corresponds to a minimum contrast in relative luminance of
(provide-theme 'modus-vivendi))
;;;###theme-autoload (put 'modus-vivendi 'theme-properties '(:background-mode dark :kind color-scheme :family modus))
;;; modus-vivendi-theme.el ends here

View file

@ -27,10 +27,15 @@
;;; Code:
;;;###theme-autoload
(deftheme tango-dark
"Face colors using the Tango palette (dark background).
Basic, Font Lock, Isearch, Gnus, Message, Ediff, Flyspell,
Semantic, and Ansi-Color faces are included.")
Semantic, and Ansi-Color faces are included."
:background-mode 'dark
:kind 'color-scheme
:family 'tango)
(let ((class '((class color) (min-colors 89)))
;; Tango palette colors.

View file

@ -27,10 +27,14 @@
;;; Code:
;;;###theme-autoload
(deftheme tango
"Face colors using the Tango palette (light background).
Basic, Font Lock, Isearch, Gnus, Message, Ediff, Flyspell,
Semantic, and Ansi-Color faces are included.")
Semantic, and Ansi-Color faces are included."
:background-mode 'light
:kind 'color-scheme
:family 'tango)
(let ((class '((class color) (min-colors 89)))
;; Tango palette colors.

View file

@ -19,8 +19,12 @@
;;; Code:
;;;###theme-autoload
(deftheme tsdh-dark
"A dark theme used and created by Tassilo Horn.")
"A dark theme used and created by Tassilo Horn."
:background-mode 'dark
:kind 'color-scheme
:family 'tsdh)
(custom-theme-set-faces
'tsdh-dark

View file

@ -19,9 +19,13 @@
;;; Code:
;;;###theme-autoload
(deftheme tsdh-light
"A light Emacs theme.
Used and created by Tassilo Horn.")
Used and created by Tassilo Horn."
:background-mode 'light
:kind 'color-scheme
:family 'tsdh)
(custom-theme-set-faces
'tsdh-light

View file

@ -19,11 +19,14 @@
;;; Code:
;;;###theme-autoload
(deftheme wheatgrass
"High-contrast green/blue/brown faces on a black background.
Basic, Font Lock, Isearch, Gnus, and Message faces are included.
The default face foreground is wheat, with other faces in shades
of green, brown, and blue.")
of green, brown, and blue."
:background-mode 'dark
:kind 'color-scheme)
(let ((class '((class color) (min-colors 89))))
(custom-theme-set-faces

View file

@ -21,8 +21,11 @@
;;; Code:
;;;###theme-autoload
(deftheme whiteboard
"Face colors similar to markers on a whiteboard.")
"Face colors similar to markers on a whiteboard."
:background-mode 'light
:kind 'color-scheme)
(let ((class '((class color) (min-colors 89))))
(custom-theme-set-faces

View file

@ -21,11 +21,14 @@
;;; Code:
;;;###theme-autoload
(deftheme wombat
"Medium-contrast faces with a dark gray background.
Adapted, with permission, from a Vim color scheme by Lars H. Nielsen.
Basic, Font Lock, Isearch, Gnus, Message, and Ansi-Color faces
are included.")
are included."
:background-mode 'dark
:kind 'color-scheme)
(let ((class '((class color) (min-colors 89))))
(custom-theme-set-faces

View file

@ -206,6 +206,9 @@ main (int argc, char **argv)
SCMP_A2_32 (SCMP_CMP_MASKED_EQ,
~(PROT_NONE | PROT_READ | PROT_WRITE), 0));
/* Allow restartable sequences. The dynamic linker uses them. */
RULE (SCMP_ACT_ALLOW, SCMP_SYS (rseq));
/* Futexes are used everywhere. */
RULE (SCMP_ACT_ALLOW, SCMP_SYS (futex),
SCMP_A1_32 (SCMP_CMP_EQ, FUTEX_WAKE_PRIVATE));
@ -218,6 +221,7 @@ main (int argc, char **argv)
RULE (SCMP_ACT_ALLOW, SCMP_SYS (getuid));
RULE (SCMP_ACT_ALLOW, SCMP_SYS (geteuid));
RULE (SCMP_ACT_ALLOW, SCMP_SYS (getpid));
RULE (SCMP_ACT_ALLOW, SCMP_SYS (gettid));
RULE (SCMP_ACT_ALLOW, SCMP_SYS (getpgrp));
/* Allow operations on open file descriptors. File descriptors are
@ -324,6 +328,8 @@ main (int argc, char **argv)
| CLONE_SETTLS | CLONE_PARENT_SETTID
| CLONE_CHILD_CLEARTID),
0));
/* glibc 2.34+ pthread_create uses clone3. */
RULE (SCMP_ACT_ALLOW, SCMP_SYS (clone3));
RULE (SCMP_ACT_ALLOW, SCMP_SYS (sigaltstack));
RULE (SCMP_ACT_ALLOW, SCMP_SYS (set_robust_list));

View file

@ -9490,7 +9490,7 @@
toolbar/rescan.pbm, toolbar/rescan.xpm, toolbar/show.pbm,
toolbar/show.xpm, toolbar/widen.pbm, toolbar/widen.xpm:
Upgraded to mh-e version 6.1.1. Full ChangeLog available in
http://prdownloads.sourceforge.net/mh-e/mh-e-6.1.tgz?download .
https://prdownloads.sourceforge.net/mh-e/mh-e-6.1.tgz?download .
There were no user-visible changes in 6.1.1 from 6.1--only the
section of the Makefile that installs the files into Emacs was changed.

View file

@ -155,7 +155,7 @@
* epa.el (epa-decrypt-region): Detect encoding if
coding-system-for-read is not specified.
<http://sourceforge.jp/ticket/browse.php?group_id=2267&tid=17018>
<https://sourceforge.jp/ticket/browse.php?group_id=2267&tid=17018>
(epa-verify-region): Ditto.
2009-06-04 Stefan Monnier <monnier@iro.umontreal.ca>
@ -540,7 +540,7 @@
* epa-file.el (epa-file-decode-and-insert):
Use string-to-multibyte instead of set-buffer-multibyte.
<http://sourceforge.jp/ticket/browse.php?group_id=2267&tid=15259>
<https://sourceforge.jp/ticket/browse.php?group_id=2267&tid=15259>
2009-04-18 Yann Hodique <yann.hodique@gmail.com> (tiny change)

View file

@ -22762,7 +22762,7 @@
Automatically handle .xz suffix (XZ-compressed files), too.
* jka-cmpr-hook.el (jka-compr-compression-info-list): Add xz.
XZ is the successor to LZMA: <http://tukaani.org/xz/>
XZ is the successor to LZMA: <https://tukaani.org/xz/>
2009-06-22 Dmitry Dzhus <dima@sphinx.net.ru>
Nick Roberts <nickrob@snap.net.nz>

View file

@ -14039,7 +14039,7 @@
* epa-file.el (epa-file-write-region): Encode the region according
to `buffer-file-format'. Problem reported at:
<http://sourceforge.jp/ticket/browse.php?group_id=2267&tid=32917>.
<https://sourceforge.jp/ticket/browse.php?group_id=2267&tid=32917>.
2014-01-14 Stefan Monnier <monnier@iro.umontreal.ca>

View file

@ -430,6 +430,12 @@ compile-always:
find $(lisp) -name '*.elc' $(FIND_DELETE)
$(MAKE) compile
.PHONY: trampolines
trampolines: compile
ifeq ($(HAVE_NATIVE_COMP),yes)
$(emacs) -l comp -f comp-compile-all-trampolines
endif
.PHONY: backup-compiled-files compile-after-backup
# Backup compiled Lisp files in elc.tar.gz. If that file already

View file

@ -168,7 +168,7 @@ If this contains a %s, that will be replaced by the matching rule."
(".dir-locals.el"
nil
";;; Directory Local Variables\n"
";;; Directory Local Variables -*- no-byte-compile: t; -*-\n"
";;; For more information see (info \"(emacs) Directory Variables\")\n\n"
"(("
'(setq v1 (let (modes)

View file

@ -47,7 +47,7 @@
;; The original pulse code was written for semantic tag highlighting.
;; It has been extracted, and adapted for general purpose pulsing.
;;
;; Pulse is a part of CEDET. http://cedet.sf.net
;; Pulse is a part of CEDET. https://cedet.sourceforge.net
(require 'color)

View file

@ -1152,9 +1152,11 @@ list, in which A occurs before B if B was defined with a
;; (provide-theme 'THEME)
(defmacro deftheme (theme &optional doc)
(defmacro deftheme (theme &optional doc &rest properties)
"Declare THEME to be a Custom theme.
The optional argument DOC is a doc string describing the theme.
PROPERTIES are interpreted as a property list that will be stored
in the `theme-properties' property for THEME.
Any theme `foo' should be defined in a file called `foo-theme.el';
see `custom-make-theme-feature' for more information."
@ -1164,18 +1166,25 @@ see `custom-make-theme-feature' for more information."
;; It is better not to use backquote in this file,
;; because that makes a bootstrapping problem
;; if you need to recompile all the Lisp files using interpreted code.
(list 'custom-declare-theme (list 'quote theme) (list 'quote feature) doc)))
(list 'custom-declare-theme (list 'quote theme) (list 'quote feature) doc
(cons 'list properties))))
(defun custom-declare-theme (theme feature &optional doc)
(defun custom-declare-theme (theme feature &optional doc properties)
"Like `deftheme', but THEME is evaluated as a normal argument.
FEATURE is the feature this theme provides. Normally, this is a symbol
created from THEME by `custom-make-theme-feature'."
FEATURE is the feature this theme provides. Normally, this is a
symbol created from THEME by `custom-make-theme-feature'. The
optional argument DOC may contain the documentation for THEME.
The optional argument PROPERTIES may contain a property list of
attributes associated with THEME."
(unless (custom-theme-name-valid-p theme)
(error "Custom theme cannot be named %S" theme))
(unless (memq theme custom-known-themes)
(push theme custom-known-themes))
(put theme 'theme-feature feature)
(when doc (put theme 'theme-documentation doc)))
(when doc
(put theme 'theme-documentation doc))
(when properties
(put theme 'theme-properties properties)))
(defun custom-make-theme-feature (theme)
"Given a symbol THEME, create a new symbol by appending \"-theme\".
@ -1372,6 +1381,58 @@ Return t if THEME was successfully loaded, nil otherwise."
(enable-theme theme))
t)
(defun theme-list-variants (theme &rest list)
"Return a list of theme variants for THEME.
By default this will use all known custom themes (see
`custom-available-themes') to check for variants. This can be
restricted if the optional argument LIST containing a list of
theme symbols to consider."
(let* ((properties (get theme 'theme-properties))
(family (plist-get properties :family)))
(seq-filter
(lambda (variant)
(and (eq (plist-get (get variant 'theme-properties) :family)
family)
(not (eq variant theme))))
(or list (custom-available-themes)))))
(defun theme-choose-variant (&optional no-confirm no-enable)
"Switch from the current theme to one of its variants.
The current theme will be disabled before variant is enabled. If
the current theme has only one variant, switch to that variant
without prompting, otherwise prompt for the variant to select.
See `load-theme' for the meaning of NO-CONFIRM and NO-ENABLE."
(interactive)
(let ((active-color-schemes
(seq-filter
(lambda (theme)
;; FIXME: As most themes currently do not have a `:kind'
;; tag, it is assumed that a theme is a color scheme by
;; default. This should be reconsidered in the future.
(memq (plist-get (get theme 'theme-properties) :kind)
'(color-scheme nil)))
custom-enabled-themes)))
(cond
((length= active-color-schemes 0)
(user-error "No theme is active, cannot toggle"))
((length> active-color-schemes 1)
(user-error "More than one theme active, cannot unambiguously toggle")))
(let* ((theme (car active-color-schemes))
(family (plist-get (get theme 'theme-properties) :family)))
(unless family
(error "Theme `%s' does not have any known variants" theme))
(let* ((variants (theme-list-variants theme))
(choice (cond
((null variants)
(error "`%s' has no variants" theme))
((length= variants 1)
(car variants))
((intern (completing-read "Load custom theme: " variants))))))
(disable-theme theme)
(load-theme choice no-confirm no-enable)))))
(defalias 'toggle-theme #'theme-choose-variant)
(defun custom-theme-load-confirm (hash)
"Query the user about loading a Custom theme that may not be safe.
The theme should be in the current buffer. If the user agrees,

View file

@ -70,9 +70,9 @@
:type '(symbol :tag "Coding system"))
(defcustom ecomplete-sort-predicate #'ecomplete-decay
"Predicate to use when sorting matched.
The predicate is called with two parameters that represent the
completion. Each parameter is a list where the first element is
"Predicate to use when sorting matched ecomplete candidates.
The predicate is called with two arguments that represent the
completion. Each argument is a list where the first element is
the times the completion has been used, the second is the
timestamp of the most recent usage, and the third item is the
string that was matched."
@ -86,6 +86,11 @@ string that was matched."
:type 'boolean
:version "29.1")
(defcustom ecomplete-filter-regexp nil
"Regular expression of addresses that should not be stored by ecomplete."
:type 'regexp
:version "29.1")
;;; Internal variables.
(defvar ecomplete-database nil)
@ -104,20 +109,22 @@ string that was matched."
By default, the longest version of TEXT will be preserved, but if
FORCE is non-nil, use TEXT exactly as is."
(unless ecomplete-database (ecomplete-setup))
(let ((elems (assq type ecomplete-database))
(now (time-convert nil 'integer))
entry)
(unless elems
(push (setq elems (list type)) ecomplete-database))
(if (setq entry (assoc key (cdr elems)))
(pcase-let ((`(,_key ,count ,_time ,oldtext) entry))
(setcdr entry (list (1+ count) now
;; Preserve the "more complete" text.
(if (or force
(>= (length text) (length oldtext)))
text
oldtext))))
(nconc elems (list (list key 1 now text))))))
(unless (and ecomplete-filter-regexp
(string-match-p ecomplete-filter-regexp key))
(let ((elems (assq type ecomplete-database))
(now (time-convert nil 'integer))
entry)
(unless elems
(push (setq elems (list type)) ecomplete-database))
(if (setq entry (assoc key (cdr elems)))
(pcase-let ((`(,_key ,count ,_time ,oldtext) entry))
(setcdr entry (list (1+ count) now
;; Preserve the "more complete" text.
(if (or force
(>= (length text) (length oldtext)))
text
oldtext))))
(nconc elems (list (list key 1 now text)))))))
(defun ecomplete--remove-item (type key)
"Remove the element of TYPE and KEY from the ecomplete database."
@ -289,7 +296,7 @@ non-nil and there is only a single completion option available."
nil t)))
(defun ecomplete-edit ()
"Prompt for an item and allow editing it."
"Prompt for an ecomplete item and allow editing it."
(interactive)
(let* ((type (ecomplete--prompt-type))
(data (cdr (assq type ecomplete-database)))
@ -305,7 +312,8 @@ non-nil and there is only a single completion option available."
(ecomplete-save)))
(defun ecomplete-remove ()
"Remove entries matching a regexp from the ecomplete database."
"Remove from the ecomplete database the entries matching a regexp.
Prompt for the regexp to match the database entries to be removed."
(interactive)
(let* ((type (ecomplete--prompt-type))
(data (cdr (assq type ecomplete-database)))

View file

@ -4204,6 +4204,17 @@ bytecode definition was not changed in the meantime)."
;;; Compiler entry points.
(defun comp-compile-all-trampolines ()
"Pre-compile AOT all trampolines."
(let ((comp-running-batch-compilation t)
;; We want to target only the 'native-lisp' directory.
(native-compile-target-directory
(car (last native-comp-eln-load-path))))
(mapatoms (lambda (f)
(when (subr-primitive-p (symbol-function f))
(message "Compiling trampoline for: %s" f)
(comp-trampoline-compile f))))))
;;;###autoload
(defun comp-lookup-eln (filename)
"Given a Lisp source FILENAME return the corresponding .eln file if found.

View file

@ -283,6 +283,12 @@ expression, in which case we want to handle forms differently."
,@(when-let ((safe (plist-get props :safe)))
`((put ',varname 'safe-local-variable ,safe))))))
;; Extract theme properties.
((eq car 'deftheme)
(let* ((name (car-safe (cdr-safe form)))
(props (nthcdr 3 form)))
`(put ',name 'theme-properties (list ,@props))))
((eq car 'defgroup)
;; In Emacs this is normally handled separately by cus-dep.el, but for
;; third party packages, it can be convenient to explicitly autoload
@ -730,7 +736,14 @@ rules for built-in packages and excluded files."
;; updated.
(file-newer-than-file-p
(expand-file-name "emacs-lisp/loaddefs-gen.el" lisp-directory)
output-file))))
output-file)))
(let ((lisp-mode-autoload-regexp
"^;;;###\\(\\(noexist\\)-\\)?\\(theme-autoload\\)"))
(loaddefs-generate
(expand-file-name "../etc/themes/" lisp-directory)
(expand-file-name "theme-loaddefs.el" lisp-directory))))
;;;###autoload (load "theme-loaddefs.el")
(provide 'loaddefs-gen)

View file

@ -262,12 +262,7 @@ by counted more than once."
(cl-struct-slot-info struct-type)))))
(defun memory-report--format (bytes)
(setq bytes (/ bytes 1024.0))
(let ((units '("KiB" "MiB" "GiB" "TiB")))
(while (>= bytes 1024)
(setq bytes (/ bytes 1024.0))
(setq units (cdr units)))
(format "%6.1f %s" bytes (car units))))
(format "%10s" (file-size-human-readable bytes 'iec " ")))
(defun memory-report--gc-elem (elems type)
(* (nth 1 (assq type elems))

View file

@ -975,7 +975,7 @@ untar into a directory named DIR; otherwise, signal an error."
(or (string-match regexp name)
;; Tarballs created by some utilities don't list
;; directories with a trailing slash (Bug#13136).
(and (string-equal dir name)
(and (string-equal (expand-file-name dir) name)
(eq (tar-header-link-type tar-data) 5))
(error "Package does not untar cleanly into directory %s/" dir)))))
(tar-untar-buffer))
@ -1240,8 +1240,12 @@ Return the pkg-desc, with desc-kind set to KIND."
"Find package information for a tar file.
The return result is a `package-desc'."
(cl-assert (derived-mode-p 'tar-mode))
(let* ((dir-name (file-name-directory
(tar-header-name (car tar-parse-info))))
(let* ((dir-name (named-let loop
((filename (tar-header-name (car tar-parse-info))))
(let ((dirname (file-name-directory filename)))
;; The first file can be in a subdir: look for the top.
(if dirname (loop (directory-file-name dirname))
(file-name-as-directory filename)))))
(desc-file (package--description-file dir-name))
(tar-desc (tar-get-file-descriptor (concat dir-name desc-file))))
(unless tar-desc

View file

@ -897,6 +897,8 @@ A FUNC form can have any number of `:no-eval' (or `:no-value'),
:eval (seq-drop-while #'numberp '(1 2 c d 5)))
(seq-filter
:eval (seq-filter #'numberp '(a b 3 4 f 6)))
(seq-keep
:eval (seq-keep #'cl-digit-char-p '(?6 ?a ?7)))
(seq-remove
:eval (seq-remove #'numberp '(1 2 c d 5)))
(seq-remove-at-position

View file

@ -353,6 +353,11 @@ This also updates the displayed table."
(let* ((cache (vtable--cache table))
(inhibit-read-only t)
(keymap (get-text-property (point) 'keymap))
(ellipsis (if (vtable-ellipsis table)
(propertize (truncate-string-ellipsis)
'face (vtable-face table))
""))
(ellipsis-width (string-pixel-width ellipsis))
(elem (and after-object
(assq after-object (car cache))))
(line (cons object (vtable--compute-cached-line table object))))
@ -370,7 +375,8 @@ This also updates the displayed table."
;; FIXME: We have to adjust colors in lines below this if we
;; have :row-colors.
(vtable--insert-line table line 0
(nth 1 cache) (vtable--spacer table))
(nth 1 cache) (vtable--spacer table)
ellipsis ellipsis-width)
(add-text-properties start (point) (list 'keymap keymap
'vtable table)))
;; We may have inserted a non-numerical value into a previously
@ -516,7 +522,8 @@ This also updates the displayed table."
(if (> (nth 1 elem) (elt widths index))
(concat
(vtable--limit-string
pre-computed (- (elt widths index) ellipsis-width))
pre-computed (- (elt widths index)
(or ellipsis-width 0)))
ellipsis)
pre-computed))
;; Recompute widths.
@ -524,7 +531,8 @@ This also updates the displayed table."
(if (> (string-pixel-width value) (elt widths index))
(concat
(vtable--limit-string
value (- (elt widths index) ellipsis-width))
value (- (elt widths index)
(or ellipsis-width 0)))
ellipsis)
value))))
(start (point))

View file

@ -3779,7 +3779,7 @@
doesn't appear).
* NEWS: Added the information from
http://emacswiki.org/cgi-bin/wiki/ErcCvsFeatures and the newer
https://emacswiki.org/cgi-bin/wiki/ErcCvsFeatures and the newer
changes which weren't yet documented on that page.
2005-01-06 Hoan Ton-That <hoan@ton-that.org>
@ -8298,7 +8298,7 @@
it doesn't move point to end-of-buffer in non-ERC buffers. Fixed
erc-kill-buffer-function so it doesn't run the erc-kill-server-hook hooks if the
server connection is closed. Fixed bug 658552, which is described in detail at
http://sourceforge.net/tracker/index.php?func=detail&aid=658552&group_id=30118&atid=398125
https://sourceforge.net/tracker/index.php?func=detail&aid=658552&group_id=30118&atid=398125
2002-12-26 Alex Schroeder <alex@gnu.org>

View file

@ -6961,6 +6961,8 @@ shortened server name instead."
(defvar tabbar--local-hlf)
;; FIXME when 29.1 is cut and `format-spec' is added to ELPA Compat,
;; remove the function invocations from the spec form below.
(defun erc-update-mode-line-buffer (buffer)
"Update the mode line in a single ERC buffer BUFFER."
(with-current-buffer buffer
@ -7325,7 +7327,7 @@ See also `format-spec'."
(error "No format spec for message %s" msg))
(when (functionp entry)
(setq entry (apply entry args)))
(format-spec entry (apply #'format-spec-make args))))
(format-spec entry (apply #'format-spec-make args) 'ignore)))
;;; Various hook functions

View file

@ -372,12 +372,10 @@ Remove the DIRECTORY(ies), if they are empty.")
(setq attr (eshell-file-attributes (car files)))
(file-attribute-inode-number attr-target)
(file-attribute-inode-number attr)
(equal (file-attribute-inode-number attr-target)
(file-attribute-inode-number attr))
(file-attribute-device-number attr-target)
(file-attribute-device-number attr)
(equal (file-attribute-device-number attr-target)
(file-attribute-device-number attr)))
(equal (file-attribute-file-identifier attr-target)
(file-attribute-file-identifier attr)))
(eshell-error (format-message "%s: `%s' and `%s' are the same file\n"
command (car files) target)))
(t

View file

@ -277,7 +277,23 @@ Used only on systems which do not support async subprocesses.")
eshell-delete-exited-processes
delete-exited-processes))
(process-environment (eshell-environment-variables))
(coding-system-for-read coding-system-for-read)
(coding-system-for-write coding-system-for-write)
proc stderr-proc decoding encoding changed)
;; MS-Windows needs special setting of encoding/decoding, because
;; (a) non-ASCII text in command-line arguments needs to be
;; encoded in the system's codepage; and (b) because many Windows
;; programs will always interpret any non-ASCII input as encoded
;; in the system codepage.
(when (eq system-type 'windows-nt)
(or coding-system-for-read ; Honor manual decoding settings
(setq coding-system-for-read
(coding-system-change-eol-conversion locale-coding-system
'dos)))
(or coding-system-for-write ; Honor manual encoding settings
(setq coding-system-for-write
(coding-system-change-eol-conversion locale-coding-system
'unix))))
(cond
((fboundp 'make-process)
(unless (equal (car (aref eshell-current-handles eshell-output-handle))
@ -325,7 +341,7 @@ Used only on systems which do not support async subprocesses.")
(setq decoding (coding-system-change-eol-conversion decoding 'dos)
changed t))
;; Even if `make-process' left the coding system for encoding
;; data sent from the process undecided, we had better use the
;; data sent to the process undecided, we had better use the
;; same one as what we use for decoding. But, we should
;; suppress EOL conversion.
(if (and decoding (not encoding))

View file

@ -489,7 +489,9 @@ from the MODE alist ignoring the input argument VALUE."
dir-locals-directory-cache))
;; Insert modified alist of directory-local variables.
(insert ";;; Directory Local Variables\n")
;; When changing this, also update the ".dir-locals.el" file for
;; Emacs itself, as well as the template in autoinsert.el.
(insert ";;; Directory Local Variables -*- no-byte-compile: t -*-\n")
(insert ";;; For more information see (info \"(emacs) Directory Variables\")\n\n")
(princ (dir-locals-to-string
(sort variables

View file

@ -208,9 +208,10 @@ if the file has changed on disk and you have not edited the buffer."
:group 'find-file)
(defvar-local buffer-file-number nil
"The device number and file number of the file visited in the current buffer.
The value is a list of the form (FILENUM DEVNUM).
This pair of numbers uniquely identifies the file.
"The inode number and the device of the file visited in the current buffer.
The value is a list of the form (INODENUM DEVICE), where DEVICE can be
either a single number or a cons cell of two numbers.
This tuple of numbers uniquely identifies the file.
If the buffer is visiting a new file, the value is nil.")
(put 'buffer-file-number 'permanent-local t)
@ -2163,7 +2164,7 @@ If there is no such live buffer, return nil."
(setq list (cdr list)))
found)
(let* ((attributes (file-attributes truename))
(number (nthcdr 10 attributes))
(number (file-attribute-file-identifier attributes))
(list (buffer-list)) found)
(and buffer-file-numbers-unique
(car-safe number) ;Make sure the inode is not just nil.
@ -2366,7 +2367,7 @@ the various files."
(let* ((buf (get-file-buffer filename))
(truename (abbreviate-file-name (file-truename filename)))
(attributes (file-attributes truename))
(number (nthcdr 10 attributes))
(number (file-attribute-file-identifier attributes))
;; Find any buffer for a file that has same truename.
(other (and (not buf)
(find-buffer-visiting
@ -4744,7 +4745,7 @@ the old visited file has been renamed to the new name FILENAME."
(setq buffer-file-name truename))))
(setq buffer-file-number
(if filename
(nthcdr 10 (file-attributes buffer-file-name))
(file-attribute-file-identifier (file-attributes buffer-file-name))
nil))
;; write-file-functions is normally used for things like ftp-find-file
;; that visit things that are not local files as if they were files.
@ -5733,7 +5734,8 @@ Before and after saving the buffer, this function runs
(setq save-buffer-coding-system last-coding-system-used)
(setq buffer-file-coding-system last-coding-system-used))
(setq buffer-file-number
(nthcdr 10 (file-attributes buffer-file-name)))
(file-attribute-file-identifier
(file-attributes buffer-file-name)))
(if setmodes
(condition-case ()
(progn
@ -6344,9 +6346,10 @@ If FILE1 or FILE2 does not exist, the return value is unspecified."
(equal f1-attr f2-attr))))))
(defun file-in-directory-p (file dir)
"Return non-nil if FILE is in DIR or a subdirectory of DIR.
A directory is considered to be \"in\" itself.
Return nil if DIR is not an existing directory."
"Return non-nil if DIR is a parent directory of FILE.
Value is non-nil if FILE is inside DIR or inside a subdirectory of DIR.
A directory is considered to be a \"parent\" of itself.
DIR must be an existing directory, otherwise the function returns nil."
(let ((handler (or (find-file-name-handler file 'file-in-directory-p)
(find-file-name-handler dir 'file-in-directory-p))))
(if handler
@ -8657,19 +8660,26 @@ It is a nonnegative integer."
(defsubst file-attribute-device-number (attributes)
"The file system device number in ATTRIBUTES returned by `file-attributes'.
It is an integer."
It is an integer or a cons cell of integers."
(nth 11 attributes))
(defsubst file-attribute-file-identifier (attributes)
"The inode and device numbers in ATTRIBUTES returned by `file-attributes'.
The value is a list of the form (INODENUM DEVICE), where DEVICE could be
either a single number or a cons cell of two numbers.
This tuple of numbers uniquely identifies the file."
(nthcdr 10 attributes))
(defun file-attribute-collect (attributes &rest attr-names)
"Return a sublist of ATTRIBUTES returned by `file-attributes'.
ATTR-NAMES are symbols with the selected attribute names.
Valid attribute names are: type, link-number, user-id, group-id,
access-time, modification-time, status-change-time, size, modes,
inode-number and device-number."
inode-number, device-number and file-number."
(let ((all '(type link-number user-id group-id access-time
modification-time status-change-time
size modes inode-number device-number))
size modes inode-number device-number file-number))
result)
(while attr-names
(let ((attr (pop attr-names)))

View file

@ -4361,10 +4361,10 @@ arguments. If METHOD is nil in this case, the return value of
the function will be inserted instead.
If the buffer already has a\"X-Message-SMTP-Method\" header,
it is left unchanged."
:type '(alist :key-type '(choice
(string :tag "From Address")
(function :tag "Predicate"))
:value-type 'string)
:type '(alist :key-type (choice
(string :tag "From Address")
(function :tag "Predicate"))
:value-type string)
:version "29.1"
:group 'message-sending)

View file

@ -194,7 +194,7 @@ This can be either \"inline\" or \"attachment\".")
nil)
(verbatim-marks
;; slrn-style verbatim marks, see
;; http://slrn.sourceforge.net/docs/slrn-manual-6.html#process_verbatim_marks
;; https://slrn.sourceforge.net/docs/slrn-manual-6.html#process_verbatim_marks
"^#v\\+"
"^#v\\-$"
,(lambda () (mm-uu-verbatim-marks-extract 0 0))

View file

@ -23,7 +23,7 @@
;;; Commentary:
;; For Outlook mail boxes format, see http://mbx2mbox.sourceforge.net/
;; For Outlook mail boxes format, see https://mbx2mbox.sourceforge.net/
;;; Code:

View file

@ -112,7 +112,7 @@ buffer.")
(define-key map "v" 'describe-variable)
(define-key map "w" 'where-is)
(define-key map "x" 'describe-command)
(define-key map "q" 'help-quit)
(define-key map "q" 'help-quit-or-quick)
map)
"Keymap for characters following the Help key.")
@ -125,11 +125,143 @@ buffer.")
(defvar help-button-cache nil)
(defvar help-quick-sections
'(("File"
(save-buffers-kill-terminal . "exit")
(find-file . "find")
(write-file . "write")
(save-buffer . "save")
(save-some-buffers . "all"))
("Buffer"
(kill-buffer . "kill")
(list-buffers . "list")
(switch-to-buffer . "switch")
(goto-line . "goto line")
(read-only-mode . "read only"))
("Window"
(delete-window . "only other")
(delete-other-windows . "only this")
(split-window-below . "split vert.")
(split-window-right . "split horiz.")
(other-window . "other window"))
("Mark & Kill"
(set-mark-command . "mark")
(kill-line . "kill line")
(kill-ring-save . "kill region")
(yank . "yank")
(exchange-point-and-mark . "swap"))
("Projects"
(project-switch-project . "switch")
(project-find-file . "find file")
(project-find-regexp . "search")
(project-query-replace-regexp . "search & replace")
(project-compile . "compile"))
("Misc."
(undo . "undo")
(isearch-forward . "search")
(isearch-backward . "reverse search")
(query-replace . "search & replace")
(fill-paragraph . "reformat"))))
(declare-function prop-match-value "text-property-search" (match))
;; Inspired by a mg fork (https://github.com/troglobit/mg)
(defun help-quick ()
"Display a quick-help buffer."
(interactive)
(with-current-buffer (get-buffer-create "*Quick Help*")
(let ((inhibit-read-only t) (padding 2) blocks)
;; Go through every section and prepare a text-rectangle to be
;; inserted later.
(dolist (section help-quick-sections)
(let ((max-key-len 0) (max-cmd-len 0) keys)
(dolist (ent (reverse (cdr section)))
(catch 'skip
(let* ((bind (where-is-internal (car ent) nil t))
(key (if bind
(propertize
(key-description bind)
'face 'help-key-binding)
(throw 'skip nil))))
(setq max-cmd-len (max (length (cdr ent)) max-cmd-len)
max-key-len (max (length key) max-key-len))
(push (list key (cdr ent) (car ent)) keys))))
(when keys
(let ((fmt (format "%%-%ds %%-%ds%s" max-key-len max-cmd-len
(make-string padding ?\s)))
(width (+ max-key-len 1 max-cmd-len padding)))
(push `(,width
,(propertize
(concat
(car section)
(make-string (- width (length (car section))) ?\s))
'face 'bold)
,@(mapcar (lambda (ent)
(format fmt
(propertize
(car ent)
'quick-help-cmd
(caddr ent))
(cadr ent)))
keys))
blocks)))))
;; Insert each rectangle in order until they don't fit into the
;; frame any more, in which case the next sections are inserted
;; in a new "line".
(erase-buffer)
(dolist (block (nreverse blocks))
(when (> (+ (car block) (current-column)) (frame-width))
(goto-char (point-max))
(newline 2))
(save-excursion
(insert-rectangle (cdr block)))
(end-of-line))
(delete-trailing-whitespace)
(save-excursion
(goto-char (point-min))
(while-let ((match (text-property-search-forward 'quick-help-cmd)))
(make-text-button (prop-match-beginning match)
(prop-match-end match)
'mouse-face 'highlight
'button t
'keymap button-map
'action #'describe-symbol
'button-data (prop-match-value match)))))
(help-mode)
;; Display the buffer at the bottom of the frame...
(with-selected-window (display-buffer-at-bottom (current-buffer) '())
;; ... mark it as dedicated to prevent focus from being stolen
(set-window-dedicated-p (selected-window) t)
;; ... and shrink it immediately.
(fit-window-to-buffer))
(message
(substitute-command-keys "Toggle the quick help buffer using \\[help-quit-or-quick]."))))
(defalias 'cheat-sheet #'help-quick)
(defun help-quit ()
"Just exit from the Help command's command loop."
(interactive)
nil)
(defun help-quit-or-quick ()
"Call `help-quit' or `help-quick' depending on the context."
(interactive)
(cond
(help-buffer-under-preparation
;; FIXME: There should be a better way to detect if we are in the
;; help command loop.
(help-quit))
((and-let* ((window (get-buffer-window "*Quick Help*")))
(quit-window t window)))
((help-quick))))
(defvar help-return-method nil
"What to do to \"exit\" the help buffer.
This is a list
@ -279,6 +411,7 @@ Do not call this in the scope of `with-help-window'."
("describe-package" "Describe a specific Emacs package")
""
("help-with-tutorial" "Start the Emacs tutorial")
("help-quick-or-quit" "Display the quick help buffer.")
("view-echo-area-messages"
"Show recent messages (from echo area)")
("view-lossage" ,(format "Show last %d input keystrokes (lossage)"

View file

@ -156,7 +156,8 @@ line about point in the selected window only."
:group 'hl-line
;; If the global mode is switched on, then `M-x hl-line-mode' should
;; switch the mode off in this buffer.
(when global-hl-line-mode
(when (and global-hl-line-mode
(eq arg 'toggle))
(setq hl-line-mode nil)
(setq-local global-hl-line-mode nil)
(global-hl-line-unhighlight))

View file

@ -763,6 +763,11 @@ See a list of available Info commands in `Info-mode'."
(read-file-name "Info file name: " nil nil t))
(if (numberp current-prefix-arg)
(format "*info*<%s>" current-prefix-arg))))
(when file-or-node
;; Info node names don't contain newlines, so allow for easier use
;; of names that might have been wrapped (in emails, etc.).
(setq file-or-node
(string-replace "\n" " " file-or-node)))
(info-setup file-or-node
(pop-to-buffer-same-window (or buffer "*info*"))))

View file

@ -34,7 +34,8 @@
(input-method . "balinese")
(sample-text . "Balinese (ᬅᬓ᭄ᬱᬭᬩᬮᬶ) ᬒᬁᬲ᭄ᬯᬲ᭄ᬢ᭄ᬬᬲ᭄ᬢᬸ")
(documentation . "\
Balinese language and its script are supported in this language environment.")))
Balinese language and its script are supported in this language environment."))
'("Indonesian"))
(set-language-info-alist
"Javanese" '((charset unicode)
@ -43,7 +44,8 @@ Balinese language and its script are supported in this language environment.")))
(input-method . "javanese")
(sample-text . "Javanese (ꦲꦏ꧀ꦱꦫꦗꦮ) ꦲꦭꦺꦴ")
(documentation . "\
Javanese language and its script are supported in this language environment.")))
Javanese language and its script are supported in this language environment."))
'("Indonesian"))
(set-language-info-alist
"Sundanese" '((charset unicode)
@ -52,7 +54,8 @@ Javanese language and its script are supported in this language environment.")))
(input-method . "sundanese")
(sample-text . "Sundanese (ᮃᮊ᮪ᮞᮛᮞᮥᮔ᮪ᮓ) ᮞᮙ᮪ᮕᮥᮛᮞᮥᮔ᮪")
(documentation . "\
Sundanese language and its script are supported in this language environment.")))
Sundanese language and its script are supported in this language environment."))
'("Indonesian"))
(set-language-info-alist
"Batak" '((charset unicode)
@ -62,7 +65,8 @@ Sundanese language and its script are supported in this language environment."))
(sample-text . "Batak (ᯘᯮᯒᯗ᯲ᯅᯗᯂ᯲) ᯂᯬᯒᯘ᯲ / ᯔᯧᯐᯬᯀᯱᯐᯬᯀᯱ")
(documentation . "\
Languages that use the Batak script, such as Karo, Toba, Pakpak, Mandailing
and Simalungun, are supported in this language environment.")))
and Simalungun, are supported in this language environment."))
'("Indonesian"))
(set-language-info-alist
"Rejang" '((charset unicode)
@ -71,7 +75,8 @@ and Simalungun, are supported in this language environment.")))
(input-method . "rejang")
(sample-text . "Rejang (ꥆꤰ꥓ꤼꤽ ꤽꥍꤺꥏ) ꤸꥉꥐꤺꥉꥂꥎ")
(documentation . "\
Rejang language and its script are supported in this language environment.")))
Rejang language and its script are supported in this language environment."))
'("Indonesian"))
(set-language-info-alist
"Makasar" '((charset unicode)
@ -80,7 +85,8 @@ Rejang language and its script are supported in this language environment.")))
(input-method . "makasar")
(sample-text . "Makasar (𑻪𑻢𑻪𑻢) 𑻦𑻤𑻵𑻱")
(documentation . "\
Makassarese language and its script Makasar are supported in this language environment.")))
Makassarese language and its script Makasar are supported in this language environment."))
'("Indonesian"))
(set-language-info-alist
"Buginese" '((charset unicode)
@ -89,7 +95,8 @@ Makassarese language and its script Makasar are supported in this language envir
(input-method . "lontara")
(sample-text . "Buginese (ᨒᨚᨈᨑ) ᨖᨒᨚ")
(documentation . "\
Buginese language and its script Lontara are supported in this language environment.")))
Buginese language and its script Lontara are supported in this language environment."))
'("Indonesian"))
;; Balinese composition rules
(let ((consonant "[\x1B13-\x1B33\x1B45-\x1B4B]")

View file

@ -228,7 +228,8 @@ thin (i.e. 1-dot width) space."
(sample-text . "Hanifi Rohingya (𐴌𐴟𐴇𐴥𐴝𐴚𐴒𐴙𐴝 𐴇𐴝𐴕𐴞𐴉𐴞 𐴓𐴠𐴑𐴤𐴝) 𐴀𐴝𐴏𐴓𐴝𐴀𐴡𐴤𐴛𐴝𐴓𐴝𐴙𐴑𐴟𐴔")
(documentation . "\
Rohingya language and its script Hanifi Rohingya are supported
in this language environment.")))
in this language environment."))
'("Misc"))
;; Hanifi Rohingya composition rules
(set-char-table-range
@ -251,7 +252,8 @@ in this language environment.")))
(sample-text . "Kharoṣṭhī (𐨑𐨪𐨆𐨛𐨁) 𐨣𐨨𐨲𐨪𐨆 𐨐𐨪𐨅𐨨𐨁")
(documentation . "\
Language environment for Gāndhārī, Sanskrit, and other languages
using the Kharoṣṭhī script.")))
using the Kharoṣṭhī script."))
'("Misc"))
(let ((consonant "[\U00010A00\U00010A10-\U00010A35]")
(vowel "[\U00010A01-\U00010A06]")
@ -281,7 +283,8 @@ using the Kharoṣṭhī script.")))
(sample-text . "Adlam (𞤀𞤣𞤤𞤢𞤥) 𞤅𞤢𞤤𞤢𞥄𞤥")
(documentation . "\
Fulani language and its script Adlam are supported
in this language environment.")))
in this language environment."))
'("Misc"))
;; Adlam composition rules
(set-char-table-range
@ -303,7 +306,8 @@ in this language environment.")))
(sample-text . "Mende Kikakui (𞠀𞠁𞠂) 𞠛𞠉")
(documentation . "\
Mende language and its script Kikakui are supported
in this language environment.")))
in this language environment."))
'("Misc"))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Gothic
@ -317,7 +321,8 @@ in this language environment.")))
(sample-text . "Gothic (𐌲𐌿𐍄𐌹𐍃𐌺𐌰) 𐌷𐌰𐌹𐌻𐍃 / 𐌷𐌰𐌹𐌻𐌰")
(documentation . "\
Ancient Gothic language using the Gothic script is supported in this
language environment.")))
language environment."))
'("Misc"))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Coptic
@ -331,7 +336,8 @@ language environment.")))
(sample-text . "Coptic (ⲘⲉⲧⲢⲉⲙ̀ⲛⲭⲏⲙⲓ) Ⲛⲟⲩϥⲣⲓ")
(documentation . "\
Coptic language using the Coptic script is supported in this
language environment.")))
language environment."))
'("Misc"))
(provide 'misc-lang)

View file

@ -35,7 +35,8 @@
(sample-text . "Tagalog (ᜊᜌ᜔ᜊᜌᜒᜈ᜔) ᜃᜓᜋᜓᜐ᜔ᜆ")
(documentation . "\
Tagalog language using the Baybayin script is supported in
this language environment.")))
this language environment."))
'("Philippine"))
(set-language-info-alist
"Hanunoo" '((charset unicode)
@ -44,7 +45,8 @@ this language environment.")))
(input-method . "hanunoo")
(sample-text . "Hanunoo (ᜱᜨᜳᜨᜳᜢ) ᜫᜬᜧ᜴ ᜣᜭᜯᜥ᜴ ᜰᜲᜭᜥ᜴")
(documentation . "\
Philippine Language Hanunoo is supported in this language environment.")))
Philippine Language Hanunoo is supported in this language environment."))
'("Philippine"))
(set-language-info-alist
"Buhid" '((charset unicode)
@ -52,7 +54,8 @@ Philippine Language Hanunoo is supported in this language environment.")))
(coding-priority utf-8)
(input-method . "buhid")
(documentation . "\
Philippine Language Buhid is supported in this language environment.")))
Philippine Language Buhid is supported in this language environment."))
'("Philippine"))
(set-language-info-alist
"Tagbanwa" '((charset unicode)
@ -61,7 +64,8 @@ Philippine Language Buhid is supported in this language environment.")))
(input-method . "tagbanwa")
(sample-text . "Tagbanwa (ᝦᝪᝯ) ᝫᝩᝬᝥ ᝣᝮᝧᝯ")
(documentation . "\
Philippine Languages Tagbanwa are supported in this language environment.")))
Philippine Languages Tagbanwa are supported in this language environment."))
'("Philippine"))
;; Tagalog composition rules
(let ((akshara "[\x1700-\x1711\x171F]")

View file

@ -15397,7 +15397,7 @@ it is disabled.
;;; Generated autoloads from progmodes/hideshow.el
(defvar hs-special-modes-alist (mapcar 'purecopy '((c-mode "{" "}" "/[*/]" nil nil) (c++-mode "{" "}" "/[*/]" nil nil) (bibtex-mode ("@\\S(*\\(\\s(\\)" 1)) (java-mode "{" "}" "/[*/]" nil nil) (js-mode "{" "}" "/[*/]" nil) (mhtml-mode "{\\|<[^/>]*?" "}\\|</[^/>]*[^/]>" "<!--" mhtml-forward nil))) "\
(defvar hs-special-modes-alist (mapcar #'purecopy '((c-mode "{" "}" "/[*/]" nil nil) (c++-mode "{" "}" "/[*/]" nil nil) (bibtex-mode ("@\\S(*\\(\\s(\\)" 1)) (java-mode "{" "}" "/[*/]" nil nil) (js-mode "{" "}" "/[*/]" nil) (mhtml-mode "{\\|<[^/>]*?" "}\\|</[^/>]*[^/]>" "<!--" mhtml-forward nil))) "\
Alist for initializing the hideshow variables for different modes.
Each element has the form
(MODE START END COMMENT-START FORWARD-SEXP-FUNC ADJUST-BEG-FUNC
@ -18847,6 +18847,8 @@ done. Otherwise, this function will use the current buffer.
Major mode for browsing CVS log output.
(fn)" t)
(autoload 'log-view-get-marked "log-view" "\
Return the list of tags for the marked log entries.")
(register-definition-prefixes "log-view" '("log-view-"))
@ -24534,7 +24536,7 @@ Open profile FILENAME.
;;; Generated autoloads from progmodes/project.el
(push (purecopy '(project 0 8 1)) package--builtin-versions)
(push (purecopy '(project 0 8 2)) package--builtin-versions)
(autoload 'project-current "project" "\
Return the project instance in DIRECTORY, defaulting to `default-directory'.
@ -25926,6 +25928,9 @@ The mode's hook is called both when the mode is enabled and when
it is disabled.
(fn &optional ARG)" t)
(autoload 'repeat-exit "repeat" "\
Exit the repeating sequence.
This function can be used to force exit of repetition while it's active." t)
(register-definition-prefixes "repeat" '("describe-repeat-maps" "repeat-"))
@ -29436,6 +29441,8 @@ PROMPT will be inserted at the start of the buffer, but won't be
included in the resulting string. If PROMPT is nil, no help text
will be inserted.
Also see `read-string-from-buffer'.
(fn PROMPT STRING SUCCESS-CALLBACK &key ABORT-CALLBACK)")
(autoload 'read-string-from-buffer "string-edit" "\
Switch to a new buffer to edit STRING in a recursive edit.
@ -29445,6 +29452,8 @@ PROMPT will be inserted at the start of the buffer, but won't be
included in the resulting string. If nil, no prompt will be
inserted in the buffer.
Also see `string-edit'.
(fn PROMPT STRING)")
(register-definition-prefixes "string-edit" '("string-edit-"))
@ -31999,16 +32008,16 @@ Add archive file name handler to `file-name-handler-alist'." (when (and tramp-ar
(defalias 'tramp-compat-rx #'rx)
(register-definition-prefixes "tramp-compat" '("tramp-"))
;;; Generated autoloads from net/tramp-container.el
(register-definition-prefixes "tramp-container" '("tramp-"))
;;; Generated autoloads from net/tramp-crypt.el
(register-definition-prefixes "tramp-crypt" '("tramp-crypt-"))
;;; Generated autoloads from net/tramp-docker.el
(register-definition-prefixes "tramp-docker" '("tramp-docker-"))
;;; Generated autoloads from net/tramp-ftp.el
@ -32740,6 +32749,10 @@ if it had been inserted from a file named URL.
(fn URL &optional VISIT BEG END REPLACE)")
(autoload 'url-insert-file-contents-literally "url-handlers" "\
Insert the data retrieved from URL literally in the current buffer.
(fn URL)")
(register-definition-prefixes "url-handlers" '("url-"))
@ -33440,11 +33453,13 @@ Show the change log for BRANCH root in a window.
(autoload 'vc-log-incoming "vc" "\
Show log of changes that will be received with pull from REMOTE-LOCATION.
When called interactively with a prefix argument, prompt for REMOTE-LOCATION.
In some version control systems REMOTE-LOCATION can be a remote branch name.
(fn &optional REMOTE-LOCATION)" t)
(autoload 'vc-log-outgoing "vc" "\
Show log of changes that will be sent with a push operation to REMOTE-LOCATION.
When called interactively with a prefix argument, prompt for REMOTE-LOCATION.
In some version control systems REMOTE-LOCATION can be a remote branch name.
(fn &optional REMOTE-LOCATION)" t)
(autoload 'vc-log-search "vc" "\
@ -33571,6 +33586,18 @@ log entries should be gathered.
Request editing the next VC shell command before execution.
This is a prefix command. It affects only a VC command executed
immediately after this one." t)
(autoload 'vc-prepare-patch "vc" "\
Compose an Email sending patches for REVISIONS to ADDRESSEE.
If `vc-prepare-patches-separately' is nil, SUBJECT will be used
as the default subject for the message (and it will be prompted
for when called interactively). Otherwise a separate message
will be composed for each revision, with SUBJECT derived from the
invidividual commits.
When invoked interactively in a Log View buffer with marked
revisions, those revisions will be used.
(fn ADDRESSEE SUBJECT REVISIONS)" t)
(register-definition-prefixes "vc" '("vc-" "with-vc-properties"))
@ -34565,10 +34592,6 @@ Convert Vietnamese characters of the current buffer to `VIQR' mnemonics." t)
;;; Generated autoloads from view.el
(defvar view-remove-frame-by-deleting t "\
Determine how View mode removes a frame no longer needed.
If nil, make an icon of the frame. If non-nil, delete the frame.")
(custom-autoload 'view-remove-frame-by-deleting "view" t)
(defvar-local view-mode nil "\
Non-nil if View mode is enabled.
Don't change this variable directly, you must change it by one of the
@ -36122,7 +36145,13 @@ Extract file name from an yenc header.")
;;; Generated autoloads from play/zone.el
(autoload 'zone "zone" "\
Zone out, completely." t)
Zone out, completely.
With a prefix argument the user is prompted for a program to run.
When called from Lisp the optional argument PGM can be used to
run a specific program. The program must be a member of
`zone-programs'.
(fn &optional PGM)" t)
(register-definition-prefixes "zone" '("zone-"))
;;; End of scraped data

View file

@ -402,7 +402,7 @@ information can be used so that you can replace multiple
Bogofilter is a Bayesian spam filtering program. Get it from your
local distribution or from the bogofilter web site at URL
`http://bogofilter.sourceforge.net/'.
`https://bogofilter.sourceforge.io/'.
Bogofilter is taught by running:
@ -487,7 +487,7 @@ See `mh-bogofilter-blocklist' for more information."
SpamProbe is a Bayesian spam filtering program. Get it from your
local distribution or from the SpamProbe web site at URL
`http://spamprobe.sourceforge.net'.
`https://spamprobe.sourceforge.net'.
To use SpamProbe, add the following recipes to \".procmailrc\":

View file

@ -1294,6 +1294,11 @@ currently selected window instead."
(let ((file (url-unhex-string (url-filename parsed))))
(when-let ((coding (browse-url--file-name-coding-system)))
(setq file (decode-coding-string file 'utf-8)))
;; The local-part of file: URLs on Windows is supposed to
;; start with an extra slash.
(when (eq system-type 'windows-nt)
(setq file (replace-regexp-in-string
"\\`/\\([a-z]:\\)" "\\1" file)))
(funcall func file))
(let ((file-name-handler-alist
(cons (cons url-handler-regexp 'url-file-handler)

View file

@ -2176,9 +2176,11 @@ connection."
(defun rcirc-generate-log-filename (process target)
"Return filename for log file based on PROCESS and TARGET."
(if target
(rcirc-generate-new-buffer-name process target)
(process-name process)))
(concat
(if target
(rcirc-generate-new-buffer-name process target)
(process-name process))
".log"))
(defcustom rcirc-log-filename-function 'rcirc-generate-log-filename
"A function to generate the filename used by rcirc's logging facility.
@ -3018,11 +3020,7 @@ for nick completion."
:version "29.1")
(defface rcirc-bridged-nick
'((((class color) (min-colors 88) (background light)) :background "SlateGray1")
(((class color) (min-colors 88) (background dark)) :background "DarkSlateGray4")
(((class color) (min-colors 16) (background light)) :background "LightBlue")
(((class color) (min-colors 16) (background dark)) :background "DarkSlateGray")
(t :background "blue"))
'((t :inherit highlight))
"Face used for pseudo-nick ."
:version "29.1")

View file

@ -1088,34 +1088,18 @@ Derived from `tramp-postfix-host-format'.")
(defun tramp-build-remote-file-name-spec-regexp ()
"Construct a regexp matching a Tramp file name for a Tramp syntax.
It is expected, that `tramp-syntax' has the proper value."
;; Starting with Emacs 27, we can use `rx-let'.
(let* ((user-regexp
(tramp-compat-rx
(group-n 6 (regexp tramp-user-regexp))
(regexp tramp-postfix-user-regexp)))
(host-regexp
(tramp-compat-rx
(group-n 7 (| (regexp tramp-host-regexp)
(: (regexp tramp-prefix-ipv6-regexp)
(? (regexp tramp-ipv6-regexp))
(regexp tramp-postfix-ipv6-regexp)))
;; Optional port.
(? (regexp tramp-prefix-port-regexp)
(regexp tramp-port-regexp)))))
(user-host-regexp
(if (eq tramp-syntax 'simplified)
;; There must be either user or host.
(tramp-compat-rx
(| (: (regexp user-regexp) (? (regexp host-regexp)))
(: (? (regexp user-regexp)) (regexp host-regexp))))
(tramp-compat-rx
(? (regexp user-regexp)) (? (regexp host-regexp))))))
(tramp-compat-rx
;; Method.
(group-n 5 (regexp tramp-method-regexp))
(regexp tramp-postfix-method-regexp)
;; User and host.
(regexp user-host-regexp))))
(tramp-compat-rx
;; Method.
(group (regexp tramp-method-regexp)) (regexp tramp-postfix-method-regexp)
;; Optional user. This includes domain.
(? (group (regexp tramp-user-regexp)) (regexp tramp-postfix-user-regexp))
;; Optional host.
(? (group (| (regexp tramp-host-regexp)
(: (regexp tramp-prefix-ipv6-regexp)
(? (regexp tramp-ipv6-regexp))
(regexp tramp-postfix-ipv6-regexp)))
;; Optional port.
(? (regexp tramp-prefix-port-regexp) (regexp tramp-port-regexp))))))
(defvar tramp-remote-file-name-spec-regexp
nil ; Initialized when defining `tramp-syntax'!
@ -1214,7 +1198,8 @@ The `ftp' syntax does not support methods.")
;; "/ssh:host:~/path" becomes "c:/ssh:host:~/path". See also
;; `tramp-drop-volume-letter'.
(? (regexp tramp-volume-letter-regexp))
(regexp tramp-prefix-regexp)
;; We cannot use `tramp-prefix-regexp', because it starts with `bol'.
(literal tramp-prefix-format)
;; Optional multi hops.
(* (regexp tramp-remote-file-name-spec-regexp)
@ -1862,7 +1847,8 @@ the form (METHOD USER DOMAIN HOST PORT LOCALNAME &optional HOP)."
tramp-prefix-regexp ""
(replace-regexp-in-string
(tramp-compat-rx
(regexp tramp-postfix-host-regexp) eos) tramp-postfix-hop-format
(regexp tramp-postfix-host-regexp) eos)
tramp-postfix-hop-format
(tramp-make-tramp-file-name vec 'noloc)))))
(defun tramp-completion-make-tramp-file-name (method user host localname)

View file

@ -32,7 +32,7 @@
;; matlab.el required for interactive emacs sessions and matlab-mode
;; major mode for source code editing buffer
;; http://matlab-emacs.sourceforge.net/
;; https://matlab-emacs.sourceforge.net/
;;; Code:
(require 'ob)

View file

@ -30,7 +30,7 @@
;;; Requirements:
;; plantuml | http://plantuml.sourceforge.net/
;; plantuml | https://plantuml.com/
;; plantuml.jar | `org-plantuml-jar-path' should point to the jar file (when exec mode is `jar')
;;; Code:

View file

@ -47,7 +47,7 @@
;;
;; Install org mode
;; Ensure org-ctags.el is somewhere in your emacs load path.
;; Download and install Exuberant ctags -- "http://ctags.sourceforge.net/"
;; Download and install Exuberant ctags -- "https://ctags.sourceforge.net/"
;; Edit your .emacs file (see next section) and load emacs.
;; To put in your init file (.emacs):

View file

@ -66,7 +66,7 @@
;;
;;
;; As of March 2009 Firefox users follow the steps documented on
;; http://kb.mozillazine.org/Register_protocol, Opera setup is described here:
;; https://kb.mozillazine.org/Register_protocol, Opera setup is described here:
;; http://www.opera.com/support/kb/view/535/
;;
;;

View file

@ -516,13 +516,7 @@ See the command `outline-mode' for more information on this mode."
(set-window-buffer nil (window-buffer)))
(when (or outline--use-buttons outline--use-margins)
(add-hook 'after-change-functions
(lambda (beg end _len)
(when outline--use-buttons
(remove-overlays beg end 'outline-button t))
(when outline--use-margins
(remove-overlays beg end 'outline-margin t))
(outline--fix-up-all-buttons beg end))
nil t))
#'outline--fix-buttons-after-change nil t))
(when outline-minor-mode-highlight
(if (and global-font-lock-mode (font-lock-specified-p major-mode))
(progn
@ -1065,107 +1059,6 @@ If non-nil, EVENT should be a mouse event."
(mouse-set-point event))
(outline-flag-subtree t)))
(defun outline--make-button-overlay (type)
(let ((o (seq-find (lambda (o)
(overlay-get o 'outline-button))
(overlays-at (point)))))
(unless o
(setq o (make-overlay (point) (1+ (point))))
(overlay-put o 'evaporate t)
(overlay-put o 'follow-link 'mouse-face)
(overlay-put o 'mouse-face 'highlight)
(overlay-put o 'outline-button t))
(let ((icon (icon-elements (if (eq type 'close)
(if outline--use-rtl
'outline-close-rtl
'outline-close)
'outline-open)))
(inhibit-read-only t))
;; In editing buffers we use overlays only, but in other buffers
;; we use a mix of text properties, text and overlays to make
;; movement commands work more logically.
(when (derived-mode-p 'special-mode)
(put-text-property (point) (1+ (point)) 'face (plist-get icon 'face)))
(if-let ((image (plist-get icon 'image)))
(overlay-put o 'display image)
(overlay-put o 'display (concat (plist-get icon 'string)
(string (char-after (point)))))
(overlay-put o 'face (plist-get icon 'face))))
o))
(defun outline--make-margin-overlay (type)
(let ((o (seq-find (lambda (o)
(overlay-get o 'outline-margin))
(overlays-at (point)))))
(unless o
(setq o (make-overlay (point) (1+ (point))))
(overlay-put o 'evaporate t)
(overlay-put o 'outline-margin t))
(let ((icon (icon-elements (if (eq type 'close)
(if outline--use-rtl
'outline-close-rtl-in-margins
'outline-close-in-margins)
'outline-open-in-margins)))
(inhibit-read-only t))
(overlay-put
o 'before-string
(propertize " " 'display
`((margin ,(if outline--use-rtl
'right-margin 'left-margin))
,(or (plist-get icon 'image)
(plist-get icon 'string))))))
o))
(defun outline--insert-open-button (&optional use-margins)
(with-silent-modifications
(save-excursion
(beginning-of-line)
(if use-margins
(outline--make-margin-overlay 'open)
(when (derived-mode-p 'special-mode)
(let ((inhibit-read-only t))
(insert " ")
(beginning-of-line)))
(let ((o (outline--make-button-overlay 'open)))
(overlay-put o 'help-echo "Click to hide")
(overlay-put o 'keymap
(define-keymap
"RET" #'outline-hide-subtree
"<mouse-2>" #'outline-hide-subtree)))))))
(defun outline--insert-close-button (&optional use-margins)
(with-silent-modifications
(save-excursion
(beginning-of-line)
(if use-margins
(outline--make-margin-overlay 'close)
(when (derived-mode-p 'special-mode)
(let ((inhibit-read-only t))
(insert " ")
(beginning-of-line)))
(let ((o (outline--make-button-overlay 'close)))
(overlay-put o 'help-echo "Click to show")
(overlay-put o 'keymap
(define-keymap
"RET" #'outline-show-subtree
"<mouse-2>" #'outline-show-subtree)))))))
(defun outline--fix-up-all-buttons (&optional from to)
(when (or outline--use-buttons outline--use-margins)
(when from
(save-excursion
(goto-char from)
(setq from (line-beginning-position))))
(outline-map-region
(lambda ()
(if (save-excursion
(outline-end-of-heading)
(seq-some (lambda (o) (eq (overlay-get o 'invisible) 'outline))
(overlays-at (point))))
(outline--insert-close-button outline--use-margins)
(outline--insert-open-button outline--use-margins)))
(or from (point-min)) (or to (point-max)))))
(define-obsolete-function-alias 'hide-subtree #'outline-hide-subtree "25.1")
(defun outline-hide-leaves ()
@ -1451,6 +1344,9 @@ convenient way to make a table of contents of the buffer."
(insert "\n\n"))))))
(kill-new (buffer-string)))))))
;;; Initial visibility
(defcustom outline-default-state nil
"If non-nil, some headings are initially outlined.
@ -1629,6 +1525,9 @@ LEVEL, decides of subtree visibility according to
beg end)))
(run-hooks 'outline-view-change-hook)))
;;; Visibility cycling
(defun outline--cycle-state ()
"Return the cycle state of current heading.
Return either `hide-all', `headings-only', or `show-all'."
@ -1741,6 +1640,119 @@ With a prefix argument, show headings up to that LEVEL."
(setq outline--cycle-buffer-state 'show-all)
(message "Show all")))))
;;; Button/margin indicators
(defun outline--make-button-overlay (type)
(let ((o (seq-find (lambda (o)
(overlay-get o 'outline-button))
(overlays-at (point)))))
(unless o
(setq o (make-overlay (point) (1+ (point))))
(overlay-put o 'evaporate t)
(overlay-put o 'follow-link 'mouse-face)
(overlay-put o 'mouse-face 'highlight)
(overlay-put o 'outline-button t))
(let ((icon (icon-elements (if (eq type 'close)
(if outline--use-rtl
'outline-close-rtl
'outline-close)
'outline-open)))
(inhibit-read-only t))
;; In editing buffers we use overlays only, but in other buffers
;; we use a mix of text properties, text and overlays to make
;; movement commands work more logically.
(when (derived-mode-p 'special-mode)
(put-text-property (point) (1+ (point)) 'face (plist-get icon 'face)))
(if-let ((image (plist-get icon 'image)))
(overlay-put o 'display image)
(overlay-put o 'display (concat (plist-get icon 'string)
(string (char-after (point)))))
(overlay-put o 'face (plist-get icon 'face))))
o))
(defun outline--make-margin-overlay (type)
(let ((o (seq-find (lambda (o)
(overlay-get o 'outline-margin))
(overlays-at (point)))))
(unless o
(setq o (make-overlay (point) (1+ (point))))
(overlay-put o 'evaporate t)
(overlay-put o 'outline-margin t))
(let ((icon (icon-elements (if (eq type 'close)
(if outline--use-rtl
'outline-close-rtl-in-margins
'outline-close-in-margins)
'outline-open-in-margins))))
(overlay-put
o 'before-string
(propertize " " 'display
`((margin ,(if outline--use-rtl
'right-margin 'left-margin))
,(or (plist-get icon 'image)
(plist-get icon 'string))))))
o))
(defun outline--insert-open-button (&optional use-margins)
(with-silent-modifications
(save-excursion
(beginning-of-line)
(if use-margins
(outline--make-margin-overlay 'open)
(when (derived-mode-p 'special-mode)
(let ((inhibit-read-only t))
(insert " ")
(beginning-of-line)))
(let ((o (outline--make-button-overlay 'open)))
(overlay-put o 'help-echo "Click to hide")
(overlay-put o 'keymap
(define-keymap
"RET" #'outline-hide-subtree
"<mouse-2>" #'outline-hide-subtree)))))))
(defun outline--insert-close-button (&optional use-margins)
(with-silent-modifications
(save-excursion
(beginning-of-line)
(if use-margins
(outline--make-margin-overlay 'close)
(when (derived-mode-p 'special-mode)
(let ((inhibit-read-only t))
(insert " ")
(beginning-of-line)))
(let ((o (outline--make-button-overlay 'close)))
(overlay-put o 'help-echo "Click to show")
(overlay-put o 'keymap
(define-keymap
"RET" #'outline-show-subtree
"<mouse-2>" #'outline-show-subtree)))))))
(defun outline--fix-up-all-buttons (&optional from to)
(when (or outline--use-buttons outline--use-margins)
(when from
(save-excursion
(goto-char from)
(setq from (line-beginning-position))))
(outline-map-region
(lambda ()
(if (save-excursion
(outline-end-of-heading)
(seq-some (lambda (o) (eq (overlay-get o 'invisible) 'outline))
(overlays-at (point))))
(outline--insert-close-button outline--use-margins)
(outline--insert-open-button outline--use-margins)))
(or from (point-min)) (or to (point-max)))))
(defun outline--fix-buttons-after-change (beg end _len)
;; Handle whole lines
(save-excursion (goto-char beg) (setq beg (pos-bol)))
(save-excursion (goto-char end) (setq end (pos-eol)))
(when outline--use-buttons
(remove-overlays beg end 'outline-button t))
(when outline--use-margins
(remove-overlays beg end 'outline-margin t))
(outline--fix-up-all-buttons beg end))
(defvar-keymap outline-navigation-repeat-map
"C-b" #'outline-backward-same-level

Some files were not shown because too many files have changed in this diff Show more