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") ;;; For more information see (info "(emacs) Directory Variables")
((nil . ((tab-width . 8) ((nil . ((tab-width . 8)

View file

@ -5685,7 +5685,7 @@
(__mktime_internal): Use it systematically for all isdst comparisons. (__mktime_internal): Use it systematically for all isdst comparisons.
This completes the fix for libc BZ #6723, and removes the need for This completes the fix for libc BZ #6723, and removes the need for
normalizing tm_isdst. 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. (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
mktime: fix some integer overflow issues and sidestep the rest mktime: fix some integer overflow issues and sidestep the rest

View file

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

View file

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

View file

@ -530,6 +530,11 @@ lisp: src
lib lib-src lisp nt: Makefile lib lib-src lisp nt: Makefile
$(MAKE) -C $@ all $(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 # Pass an unexpanded $srcdir to src's Makefile, which then
# expands it using its own value of srcdir (which points to the # expands it using its own value of srcdir (which points to the
# source directory of src/). # source directory of src/).

View file

@ -54,7 +54,7 @@
# #
# [v0.1, 5 May 1995] First release. # [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. # for any questions or comments or to report errors in the data.
# #
0020 20 # SPACE # space 0020 20 # SPACE # space

View file

@ -57,7 +57,7 @@
# #
# [v0.1, 5 May 1995] First release. # [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. # for any questions or comments or to report errors in the data.
# #
0020 20 # SPACE # space 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: 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 where /path/to/webpages/cvs/checkout is the place where you have the
CVS checkout of the Emacs Web pages, with subdirectories 'manual' 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. The names, URLs, and dates for these files are as follows.
BidiBrackets.txt BidiBrackets.txt
http://www.unicode.org/Public/UNIDATA/BidiBrackets.txt https://www.unicode.org/Public/UNIDATA/BidiBrackets.txt
2021-06-30 2021-06-30
BidiMirroring.txt BidiMirroring.txt
http://www.unicode.org/Public/UNIDATA/BidiMirroring.txt https://www.unicode.org/Public/UNIDATA/BidiMirroring.txt
2021-08-08 2021-08-08
Blocks.txt 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 2021-01-22
IVD_Sequences.txt IVD_Sequences.txt
http://www.unicode.org/ivd/ https://www.unicode.org/ivd/
2020-11-06 2020-11-06
NormalizationTest.txt NormalizationTest.txt
http://www.unicode.org/Public/UNIDATA/NormalizationTest.txt https://www.unicode.org/Public/UNIDATA/NormalizationTest.txt
2021-05-28 2021-05-28
SpecialCasing.txt SpecialCasing.txt
http://unicode.org/Public/UNIDATA/SpecialCasing.txt https://unicode.org/Public/UNIDATA/SpecialCasing.txt
2021-03-08 2021-03-08
UnicodeData.txt UnicodeData.txt
http://www.unicode.org/Public/UNIDATA/UnicodeData.txt https://www.unicode.org/Public/UNIDATA/UnicodeData.txt
2021-07-06 2021-07-06
emoji-data.txt emoji-data.txt

View file

@ -23,7 +23,7 @@
### Commentary: ### Commentary:
## This script takes as input Unicode's Blocks.txt ## 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. ## and produces output for Emacs's lisp/international/charscript.el.
## It lumps together all the blocks belonging to the same language. ## It lumps together all the blocks belonging to the same language.

View file

@ -13,7 +13,7 @@
<title>Unicode Terms of Use</title> <title>Unicode Terms of Use</title>
<link rel="stylesheet" type="text/css" <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"> <style type="text/css">
pre { pre {
@ -32,8 +32,8 @@
<td colspan="2"> <td colspan="2">
<table width="100%" border="0" cellpadding="0" cellspacing="0"> <table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr> <tr>
<td class="icon" style="width:38px; height:35px"><a href="http://www.unicode.org/"><img border="0" <td class="icon" style="width:38px; height:35px"><a href="https://www.unicode.org/"><img border="0"
src="http://www.unicode.org/webscripts/logo60s2.gif" align="middle" alt="[Unicode]" width="34" height="33"></a></td> 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" <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> 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> <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 <p>For the general privacy policy governing access to this site, see
the&nbsp; 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> Unicode Privacy Policy</a>.</p>
<ol type="A"> <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 specifications of rights and restrictions of use. For the book
editions (Unicode 5.0 and earlier), these are found on the back editions (Unicode 5.0 and earlier), these are found on the back
of the 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> <li>
The Unicode PDF <a href="https://www.unicode.org/charts/">online code charts</a> carry specific restrictions. Those restrictions are incorporated as the 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> 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> <li><u><a name="5"></a>Trademarks &amp; Logos</u>
<ol> <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>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> <li>All third party trademarks referenced herein are the property of their respective owners.</li>
</ol> </ol>
</li> </li>
@ -270,15 +270,15 @@ <h1>Unicode® Copyright and Terms of Use</h1>
<center> <center>
<table cellspacing="0" cellpadding="0" border="0" id="table2"> <table cellspacing="0" cellpadding="0" border="0" id="table2">
<tr> <tr>
<td><a href="http://www.unicode.org/copyright.html"> <td><a href="https://www.unicode.org/copyright.html">
<img src="http://www.unicode.org/img/hb_notice.gif" <img src="https://www.unicode.org/img/hb_notice.gif"
border="0" alt="Access to Copyright and terms of use" border="0" alt="Access to Copyright and terms of use"
width="216" height="50"></a></td> width="216" height="50"></a></td>
</tr> </tr>
</table> </table>
<script language="Javascript" type="text/javascript" <script language="Javascript" type="text/javascript"
src="http://www.unicode.org/webscripts/lastModified.js"> src="https://www.unicode.org/webscripts/lastModified.js">
</script> </script>
</center> </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} the @file{*Custom Themes*} buffer; or type @kbd{M-x describe-theme}
anywhere in Emacs and enter the theme name. 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 @node Creating Custom Themes
@subsection Creating Custom Themes @subsection Creating Custom Themes
@cindex custom themes, creating @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} @item r @var{pattern} @key{RET} @var{replacement} @key{RET}
Perform interactive query-replace on references that match Perform interactive query-replace on references that match
@var{pattern} (@code{xref-query-replace-in-results}), replacing @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 @item g
@findex xref-revert-buffer @findex xref-revert-buffer
@ -2336,7 +2338,8 @@ them.
@item M-? @item M-?
Find all the references for the identifier at point. 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} @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 Interactively replace @var{regexp} with @var{replacement} in the names
of all the identifiers shown in the @file{*xref*} buffer. 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. in the @file{*xref*} buffer, but doesn't select any of them.
@findex xref-query-replace-in-results @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 string, just like ordinary @kbd{M-x query-replace-regexp}. It then
renames the identifiers shown in the @file{*xref*} buffer in all the renames the identifiers shown in the @file{*xref*} buffer in all the
places in all the files where these identifiers are referenced, such places in all the files where these identifiers are referenced, such
that their new name is @var{replacement}. This is useful when you that their new name is @var{replacement}. This is useful when you
rename your identifiers as part of refactoring. This command should rename your identifiers as part of refactoring. This command should
be invoked in the @file{*xref*} buffer generated by @kbd{M-?}. With a be invoked in the @file{*xref*} buffer generated by @kbd{M-?}. By
prefix argument, the command also prompts for a regexp to match default, the command replaces the entire name of each identifier with
identifier names, and renames that regexp in the names of the matching @var{replacement}, but if invoked with a prefix argument, the command
identifiers with @var{replacement}. 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 @findex xref-find-references-and-replace
@kbd{M-x xref-find-references-and-replace} works similarly to @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 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 @code{vc-prepare-patch} command. This will prompt you for the
revisions you wish to share, and which destination email address(es) revisions you wish to share, and which destination email address(es)
to use. The command will then prepare those revisions using your to use. The revisions are separated using commas (or whatever was
@abbr{MUA, Mail User Agent} for you to review and send. 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 @vindex vc-prepare-patches-separately
Depending on the value of the user option Depending on the value of the user option

View file

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

View file

@ -985,7 +985,7 @@ too late.
While setting this variable disables automatic compilation of Lisp While setting this variable disables automatic compilation of Lisp
files, the compiler may still be invoked to install @dfn{trampolines} files, the compiler may still be invoked to install @dfn{trampolines}
if any built-in functions are redefined. However, these 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} You can also use the @samp{EMACS_INHIBIT_AUTOMATIC_NATIVE_COMPILATION}
environment variable to disable 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 be a call to @code{deftheme}, and the last form should be a call to
@code{provide-theme}. @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 This macro declares @var{theme} (a symbol) as the name of a Custom
theme. The optional argument @var{doc} should be a string describing theme. The optional argument @var{doc} should be a string describing
the theme; this is the description shown when the user invokes the the theme; this is the description shown when the user invokes the
@code{describe-theme} command or types @kbd{?} in the @samp{*Custom @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): Two special theme names are disallowed (using them causes an error):
@code{user} is a dummy theme that stores the user's direct @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. tests are performed.
@end defun @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 @defun vc-responsible-backend file
This function determines the responsible VC backend of the given This function determines the responsible VC backend of the given
@var{file}. For example, if @file{emacs.c} is a file tracked by Git, @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. a nonnegative integer.
@item @item
The filesystem number of the device that the file is on The filesystem's identifier of the device that the file is on
@code{file-attribute-device-number}), an integer. (@code{file-attribute-device-number}), an integer or a cons cell of
This element and the file's inode number two integers. The latter is sometimes used by remote files, in order
together give enough information to distinguish any two files on the to distinguish remote filesystems from local ones.
system---no two files can have the same values for both of these
numbers.
@end enumerate @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}: For example, here are the file attributes for @file{files.texi}:
@example @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. non-@code{nil} if that directory is the one it is looking for.
@end defun @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 @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 This is similar to @code{directory-files} in deciding which files
to report on and how to report their names. However, instead 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}. and @code{define-global-minor-mode}.
@item Other definition types: @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,EIEIO,,eieio,EIEIO}), and @code{define-skeleton}
(@pxref{Top,Autotyping,,autotype,Autotyping}). (@pxref{Top,Autotyping,,autotype,Autotyping}).
@end table @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 efficient and safer (because it doesn't involve any string parsing or
interpolation). interpolation).
@code{sqlite-execute} returns the number of affected rows. For @code{sqlite-execute} usually returns the number of affected rows.
instance, an @samp{insert} statement will return @samp{1}, whereas an For instance, an @samp{insert} statement will typically return
@samp{update} statement may return zero or a higher number. @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 Strings in SQLite are, by default, stored as @code{utf-8}, and
selecting a text column will decode the string using that charset. 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{nil}, @var{window} has been created after that. If it
returns @code{t}, @var{window} was not shown at that time but has been returns @code{t}, @var{window} was not shown at that time but has been
restored from a previously saved window configuration afterwards. 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. that time.
@end defun @end defun
@defun window-old-pixel-width &optional window @defun window-old-pixel-width &optional window
This function returns the total pixel width of @var{window} the This function returns the total pixel width of @var{window} the
last time window change functions found @code{window} live on its last time window change functions found @var{window} live on its
frame. It is zero if @code{window} was created after that. frame. It is zero if @var{window} was created after that.
@end defun @end defun
@defun window-old-pixel-height &optional window @defun window-old-pixel-height &optional window
This function returns the total pixel height of @var{window} the last This function returns the total pixel height of @var{window} the last
time window change functions found @code{window} live on its frame. time window change functions found @var{window} live on its frame.
It is zero if @code{window} was created after that. It is zero if @var{window} was created after that.
@end defun @end defun
@defun window-old-body-pixel-width &optional window @defun window-old-body-pixel-width &optional window
This function returns the pixel width of @var{window}'s text area the This function returns the pixel width of @var{window}'s text area the
last time window change functions found @code{window} live on its last time window change functions found @var{window} live on its
frame. It is zero if @code{window} was created after that. frame. It is zero if @var{window} was created after that.
@end defun @end defun
@defun window-old-body-pixel-height &optional window @defun window-old-body-pixel-height &optional window
This function returns the pixel height of @var{window}'s text area the This function returns the pixel height of @var{window}'s text area the
last time window change functions found @code{window} live on its last time window change functions found @var{window} live on its
frame. It is zero if @code{window} was created after that. frame. It is zero if @var{window} was created after that.
@end defun @end defun
In order to find out which window or frame was selected the last time 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 configure your (X)Emacs so that @ccmode{} will supersede the obsolete
@code{awk-mode.el} which might have been supplied with your (X)Emacs. @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 @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 for the latest information on Emacs version and package compatibility
(@pxref{Updating CC Mode}). (@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 lack a feature that makes it work suboptimally when
@code{c-comment-prefix-regexp} matches the empty string (which it does @code{c-comment-prefix-regexp} matches the empty string (which it does
by default). A patch for that is available from 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. @c 2005/11/22: The above is still believed to be the case.
which handles things like bulleted lists nicely. There's a convenience which handles things like bulleted lists nicely. There's a convenience
function @code{c-setup-filladapt} that tunes the relevant variables in 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: compatibility, etc.@: are all available on the web site:
@quotation @quotation
@uref{http://cc-mode.sourceforge.net/} @uref{https://cc-mode.sourceforge.net/}
@end quotation @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 to @email{bug-cc-mode@@gnu.org}. You can also send reports, other
questions, and suggestions (kudos?@: @t{;-)} to that address. It's a 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 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 @cindex announcement mailing list
If you want to get announcements of new @ccmode{} releases, send the 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. You will need an implementation of TeX for Windows.
A number of implementations are listed on the 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 @node Spell check
@section How do I perform spell checks? @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. default text editor, this has now been taken over by Jeff Paquette.
See the following two URLs for details: See the following two URLs for details:
@itemize @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. @item @uref{http://www.smathers.net/VisEmacs.htm} for notes on usage.
@end itemize @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 @cindex Borland C++, integration with Emacs
Jonathan Arnold has written an 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. ``expert''} for interfacing C++ Builder and Emacs.
@node Version control @node Version control
@ -2194,7 +2194,7 @@ to port software to Windows.
@cindex image libraries, gnuwin32 @cindex image libraries, gnuwin32
@cindex image libraries, development @cindex image libraries, development
@uref{http://gnuwin32.sourceforge.net/} @uref{https://gnuwin32.sourceforge.net/}
GnuWin32 provides precompiled native Windows ports of a wide selection GnuWin32 provides precompiled native Windows ports of a wide selection
of Free software and libraries. Unfortunately, the ports are 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 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 onwards, including Windows XP and Vista. Pre-built binaries may be
available at 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 For a list of other implementations of Emacs (and Emacs
look-alikes), consult the list of ``Emacs implementations and literature,'' look-alikes), consult the list of ``Emacs implementations and literature,''
available at 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 Note that while many of these programs look similar to Emacs, they often
lack certain features, such as the Emacs Lisp extension language. lack certain features, such as the Emacs Lisp extension language.
@ -3757,7 +3757,7 @@ Various spell-checkers are compatible with Emacs, including:
@table @b @table @b
@item Hunspell @item Hunspell
@uref{http://hunspell.sourceforge.net/} @uref{https://hunspell.github.io/}
@item GNU Aspell @item GNU Aspell
@uref{http://aspell.net/} @uref{http://aspell.net/}

View file

@ -1330,7 +1330,7 @@ details.
However, what you really want is the Insidious Big Brother However, what you really want is the Insidious Big Brother
Database bbdb. Get it from 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: Now place the following in @file{~/.gnus.el}, to activate bbdb for Gnus:
@example @example
@ -1782,13 +1782,13 @@ when you're online.
Let's talk about Unix systems first: For the news part, Let's talk about Unix systems first: For the news part,
the easiest solution is a small nntp server like the easiest solution is a small nntp server like
@uref{https://www.leafnode.org/, Leafnode} or @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 of course you can also install a full featured news
server like server like
@uref{https://www.isc.org/othersoftware/, inn}. @uref{https://www.isc.org/othersoftware/, inn}.
Then you want to fetch your Mail, popular choices Then you want to fetch your Mail, popular choices
are @uref{https://www.fetchmail.info/, fetchmail} 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 You should tell those to write the mail to your disk and
Gnus to read it from there. Last but not least the mail Gnus to read it from there. Last but not least the mail
sending part: This can be done with every MTA like 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 @findex gnus-summary-muttprint
@vindex gnus-summary-muttprint-program @vindex gnus-summary-muttprint-program
Save the current article into muttprint. That is, print it using the 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 Muttprint}. The program name and options to use is controlled by the
variable @code{gnus-summary-muttprint-program}. variable @code{gnus-summary-muttprint-program}.
(@code{gnus-summary-muttprint}). (@code{gnus-summary-muttprint}).
@ -9343,7 +9343,7 @@ Use Gnus rendered based on w3m.
Use @uref{http://emacs-w3m.namazu.org/, emacs-w3m}. Use @uref{http://emacs-w3m.namazu.org/, emacs-w3m}.
@item w3m-standalone @item w3m-standalone
Use @uref{http://w3m.sourceforge.net/, w3m}. Use @uref{https://w3m.sourceforge.net/, w3m}.
@item links @item links
Use @uref{http://links.twibright.com/, 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} 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} server from the firewall machine, you can instruct Gnus to @code{rlogin}
on the firewall machine and connect with 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. @acronym{NNTP} server.
Doing this can be rather fiddly, but your virtual server definition Doing this can be rather fiddly, but your virtual server definition
should probably look something like this: 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 ImageMagick package. For external conversion programs look for packages
with names like @code{netpbm}, @code{libgr-progs} and @code{compface}. with names like @code{netpbm}, @code{libgr-progs} and @code{compface}.
On Windows, you may use the packages @code{netpbm} 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. @code{bin} directory to your @code{PATH} environment variable.
@c In fact only the following DLLs and binaries seem to be required: @c In fact only the following DLLs and binaries seem to be required:
@c compface1.dll uncompface.exe libnetpbm10.dll icontopbm.exe @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}. this option suppressed the confirmation in @code{mh-kill-folder}.
Since this kept most users from setting this option, Since this kept most users from setting this option,
@code{mh-kill-folder} was modified in version 6.0 to always ask for @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}.}. @xref{Folders}.}.
@cindex MH-Folder mode @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: Hook run by @code{mh-folder-mode} when visiting a new folder (default:
@code{nil}). @code{nil}).
@c ------------------------- @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: Abnormal hook run at the beginning of @code{mh-kill-folder} (default:
@code{'mh-search-p}). @code{'mh-search-p}).
@c ------------------------- @c -------------------------
@ -7540,8 +7540,8 @@ Allowlisted message face
@cindex spam filters, bogofilter @cindex spam filters, bogofilter
MH-E depends on @uref{https://spamassassin.apache.org/, SpamAssassin}, MH-E depends on @uref{https://spamassassin.apache.org/, SpamAssassin},
@uref{http://bogofilter.sourceforge.net/, bogofilter}, or @uref{https://bogofilter.sourceforge.net/, bogofilter}, or
@uref{http://spamprobe.sourceforge.net/, SpamProbe} to throw the dreck @uref{https://spamprobe.sourceforge.net/, SpamProbe} to throw the dreck
away. This chapter describes briefly how to configure these programs 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 to work well with MH-E and how to use MH-E's interface that provides
continuing education for these programs. 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 Bogofilter is a Bayesian spam filtering program. Get it from your
local distribution or from the 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: Bogofilter is taught by running:
@ -7791,7 +7791,7 @@ bogofilter.
@cindex spam filters, SpamProbe @cindex spam filters, SpamProbe
SpamProbe is a Bayesian spam filtering program. Get it from your local 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}. SpamProbe web site}.
To use SpamProbe, add the following recipes to @file{~/.procmailrc}: To use SpamProbe, add the following recipes to @file{~/.procmailrc}:
@ -8633,7 +8633,7 @@ via SourceForge (@pxref{Bug Reports}).
@cindex FAQ @cindex FAQ
@cindex MH 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 Asked Questions (FAQ) with Answers}} appears monthly in the newsgroup
@samp{comp.mail.mh}. While very little is there that deals with MH-E @samp{comp.mail.mh}. While very little is there that deals with MH-E
specifically, there is an incredible wealth of material about MH 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]]. [[https://orgmode.org]].
#+cindex: print edition #+cindex: print edition
An earlier version (7.3) of this manual is available as a [[http://www.network-theory.co.uk/org/manual/][paperback An earlier version (7.3) of this manual was published as a paperback book by
book from Network Theory Ltd.]]. Network Theory Ltd. in 2010.
** Installation ** Installation
:PROPERTIES: :PROPERTIES:
@ -3234,7 +3234,7 @@ options:
| Link Type | Example | | Link Type | Example |
|------------+----------------------------------------------------------| |------------+----------------------------------------------------------|
| http | =http://staff.science.uva.nl/c.dominik/= | | http | =https://staff.science.uva.nl/c.dominik/= |
| https | =https://orgmode.org/= | | https | =https://orgmode.org/= |
| doi | =doi:10.1000/182= | | doi | =doi:10.1000/182= |
| file | =file:/home/dominik/images/jupiter.jpg= | | 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=") '(("bugzilla" . "http://10.1.2.9/bugzilla/show_bug.cgi?id=")
("Nu Html Checker" . "https://validator.w3.org/nu/?doc=%h") ("Nu Html Checker" . "https://validator.w3.org/nu/?doc=%h")
("duckduckgo" . "https://duckduckgo.com/?q=%s") ("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\""))) ("ads" . "https://ui.adsabs.harvard.edu/search/q=%20author%3A\"%s\"")))
#+end_src #+end_src
@ -3596,7 +3596,7 @@ can define them in the file with
#+cindex: @samp{LINK}, keyword #+cindex: @samp{LINK}, keyword
#+begin_example #+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 ,#+LINK: duckduckgo https://duckduckgo.com/?q=%s
#+end_example #+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 =[[./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 the PDF, they are no longer links but actual images embedded on the
page. The LaTeX export back-end uses =\includegraphics= macro to 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 images, the back-end uses an ~\input~ macro wrapped within
a ~tikzpicture~ environment. a ~tikzpicture~ environment.
@ -13982,7 +13982,7 @@ some text in German...
#+cindex: Markdown export #+cindex: Markdown export
The Markdown export back-end, "md", converts an Org file to Markdown 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 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 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. used to create images, any LaTeX environment is handled.
[fn:112] These are respectively available at [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 and from the ImageMagick suite. Choose the converter by setting the
variable ~org-preview-latex-default-process~ accordingly. 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 [fn:130] Please note that exported formulas are part of an HTML
document, and that signs such as =<=, =>=, or =&= have special 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. about extensions.
[fn:132] If the classes on TODO keywords and tags lead to conflicts, [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 which requires the flag =-shell-escape= to be added to
~org-latex-pdf-process~. ~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]]. (OpenDocument) Version 1.2]].
[fn:136] See [[http://www.mathtoweb.com/cgi-bin/mathtoweb_home.pl][MathToWeb]]. [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 [fn:139] See the =<table:table-template>= element of the
OpenDocument-v1.2 specification. OpenDocument-v1.2 specification.
@ -22170,7 +22170,7 @@ are not evaluated when they appear in a keyword (see [[*Summary of
In-Buffer Settings]]). In-Buffer Settings]]).
[fn:144] For noweb literate programming details, see [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 [fn:145] For more information, please refer to the commentary section
in =org-tempo.el=. in =org-tempo.el=.

View file

@ -424,13 +424,6 @@ The default priority for remembered mail messages.
@section Saving to an Org Mode file @section Saving to an Org Mode file
@cindex org mode, integration @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, For instructions on how to integrate Remember with Org Mode,
consult @ref{Capture, , , org}. 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, To send bug reports, or participate in discussions about semantic,
use the mailing list cedet-semantic@@sourceforge.net via the URL: 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 @ifnottex
@insertcopying @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 The Emacs Sieve package implements all or parts of a small but
hopefully growing number of RFCs and drafts documents. This chapter hopefully growing number of RFCs and drafts documents. This chapter
lists the relevant ones. They can all be fetched from lists the relevant ones. They can all be fetched from
@uref{http://quimby.gnus.org/notes/}. @uref{https://quimby.gnus.org/notes/}.
@table @dfn @table @dfn

View file

@ -892,7 +892,7 @@ list. Send email to the maintainer @email{reto@@gnu.org} to join
either of these lists. either of these lists.
The official Emacs VHDL Mode Home Page can be found at 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 @node Sample Init File
@chapter 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 ** 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, when debugging low-level Emacs problems. Unlike GCC sanitizers,
Valgrind does not need you to compile Emacs with special debugging Valgrind does not need you to compile Emacs with special debugging
flags, so it can be helpful in investigating problems that vanish when 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 If the symbol at point is a keymap, 'describe-keymap' suggests it as
the default candidate. 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 ** Outline Mode
+++ +++
@ -1376,6 +1382,11 @@ the ecomplete database.
*** New user option 'ecomplete-auto-select'. *** New user option 'ecomplete-auto-select'.
If non-nil and there's only one matching option, auto-select that. 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 ** Dired
+++ +++
@ -1897,7 +1908,7 @@ If non-nil, multiple revisions can be queried. This is done using
'completing-read-multiple'. '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 This function invokes 'vc-read-revision' with a non-nil value for
MULTIPLE. MULTIPLE.
@ -1905,7 +1916,7 @@ MULTIPLE.
*** New command 'vc-prepare-patch'. *** New command 'vc-prepare-patch'.
Patches for any version control system can be prepared using VC. The Patches for any version control system can be prepared using VC. The
command will query what commits to send and will compose messages for 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 modified by the user options 'vc-prepare-patches-separately' and
'vc-default-patch-addressee'. '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 like '(when ... ;;;### ...)' would be ignored. They are now parsed as
normal. 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. ** 'buffer-modified-p' has been extended.
This function was previously documented to return only nil or t. This 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 * 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'. ** New macro 'while-let'.
This is like 'when-let', but repeats until a binding form is nil. 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. ** LessTif support.
Emacs now runs with the LessTif toolkit (see 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. ** 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 PBM and XBM images are supported out of the box. Other image formats
depend on external libraries. All of these libraries have been ported depend on external libraries. All of these libraries have been ported
to Windows, and can be found in both source and binary form at 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 zlib, and tiff depends on the version of jpeg that it was compiled
against. For additional information, see nt/INSTALL. 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 ** 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 5.32.99, although the software itself hasn't changed. This aims to
reduce confusion with the standalone CC Mode 5.33 (available from 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. the one included in Emacs 25.2.

View file

@ -1223,7 +1223,7 @@ specialized for editing freedesktop.org desktop entries.
editing Less files. editing Less files.
** New package 'auth-source-pass' integrates 'auth-source' with the ** 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 * 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 ** Program Enriched mode to read and save in RTF
Is there actually a decent single definition of RTF? Maybe see info at 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 This task seems to be addressed by
https://savannah.nongnu.org/projects/emacs-rtf/, which is still in 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 https://lists.gnu.org/r/emacs-devel/2007-09/msg02416.html
** Random things that were planned for Emacs-24 ** Random things that were planned for Emacs-24
Stefan Monnier writes: "Random things that cross my mind right now 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 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." 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 ** Maybe replace lib-src/rcs2log with a Lisp implementation
It wouldn't have to be a complete replacement, just enough It wouldn't have to be a complete replacement, just enough
for vc-rcs-update-changelog. for vc-rcs-update-changelog.
** Allow Emacs to use the bottom-right corner of a TTY ** Allow Emacs to use the bottom-right corner of a TTY
Emacs doesn't use the bottom-right corner of a TTY when terminfo Emacs doesn't use the bottom-right corner of a TTY when terminfo
capability "am" (auto_right_margin) is defined. It could use the capability "am" (auto_right_margin) is defined. It could use the
bottom-right corner nonetheless when certain other capabilities are bottom-right corner nonetheless when certain other capabilities are
defined. See bug#57607. 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 * Other known bugs
** 'make-frame' forgets unhandled parameters, at least for X11 frames ** '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: 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" "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 "Insight is being released under the terms of the GNU General Public
License (GPL)" License (GPL)"

View file

@ -38,7 +38,7 @@ template ede-empty :project
{{comment_prefix}} by EDE when this file is updated. {{comment_prefix}} by EDE when this file is updated.
{{comment_prefix}} {{comment_prefix}}
{{comment_prefix}} EDE is the Emacs Development Environment. {{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}}
{{comment_prefix}} Process this file with autoconf to produce a configure script {{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. # DO NOT MODIFY THIS FILE OR YOUR CHANGES MAY BE LOST.
# EDE is the Emacs Development Environment. # 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. # DO NOT MODIFY THIS FILE OR YOUR CHANGES MAY BE LOST.
# EDE is the Emacs Development Environment. # EDE is the Emacs Development Environment.
# http://cedet.sourceforge.net/ede.shtml # https://cedet.sourceforge.net/ede.shtml
ARDUINO_DIR = {{ARDUINO_HOME}} ARDUINO_DIR = {{ARDUINO_HOME}}

View file

@ -21,10 +21,13 @@
;;; Code: ;;; Code:
;;;###theme-autoload
(deftheme adwaita (deftheme adwaita
"Face colors similar to the default theme of Gnome 3 (Adwaita). "Face colors similar to the default theme of Gnome 3 (Adwaita).
The colors are chosen to match Adwaita window decorations and the 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)))) (let ((class '((class color) (min-colors 89))))
(custom-theme-set-faces (custom-theme-set-faces

View file

@ -21,8 +21,11 @@
;;; Code: ;;; Code:
;;;###theme-autoload
(deftheme deeper-blue (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)))) (let ((class '((class color) (min-colors 89))))
(custom-theme-set-faces (custom-theme-set-faces

View file

@ -21,6 +21,7 @@
;;; Code: ;;; Code:
;;;###theme-autoload
(deftheme dichromacy (deftheme dichromacy
"Face colors suitable for red/green color-blind users. "Face colors suitable for red/green color-blind users.
The color palette is from B. Wong, Nature Methods 8, 441 (2011). 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. differentiated by individuals with protanopia or deuteranopia.
Basic, Font Lock, Isearch, Gnus, Message, Flyspell, and 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))) (let ((class '((class color) (min-colors 89)))
(orange "#e69f00") (orange "#e69f00")

View file

@ -5,7 +5,7 @@
;; Author: Fabrice Niessen <(concat "fniessen" at-sign "pirilampo.org")> ;; Author: Fabrice Niessen <(concat "fniessen" at-sign "pirilampo.org")>
;; Contributor: Thibault Polge <(concat "thibault" at-sign "thb.lt")> ;; Contributor: Thibault Polge <(concat "thibault" at-sign "thb.lt")>
;; URL: https://github.com/fniessen/emacs-leuven-dark-theme ;; URL: https://github.com/fniessen/emacs-leuven-dark-theme
;; Version: 20220202.1126 ;; Version: 20221010.1208
;; Keywords: color theme ;; Keywords: color theme
;; This file is part of GNU Emacs. ;; 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 Faces.
;;;###theme-autoload
(deftheme leuven-dark (deftheme leuven-dark
"Face colors with a light background. "Face colors with a light background.
Basic, Font Lock, Isearch, Gnus, Message, Org mode, Diff, Ediff, Basic, Font Lock, Isearch, Gnus, Message, Org mode, Diff, Ediff,
Flyspell, Semantic, and Ansi-Color faces are included -- and much 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))) (let ((class '((class color) (min-colors 89)))

View file

@ -4,7 +4,7 @@
;; Author: Fabrice Niessen <(concat "fniessen" at-sign "pirilampo.org")> ;; Author: Fabrice Niessen <(concat "fniessen" at-sign "pirilampo.org")>
;; URL: https://github.com/fniessen/emacs-leuven-theme ;; URL: https://github.com/fniessen/emacs-leuven-theme
;; Version: 20200513.1928 ;; Version: 20221010.1209
;; Keywords: color theme ;; Keywords: color theme
;; This file is part of GNU Emacs. ;; 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 Faces.
;;;###theme-autoload
(deftheme leuven (deftheme leuven
"Face colors with a light background. "Face colors with a light background.
Basic, Font Lock, Isearch, Gnus, Message, Org mode, Diff, Ediff, Basic, Font Lock, Isearch, Gnus, Message, Org mode, Diff, Ediff,
Flyspell, Semantic, and Ansi-Color faces are included -- and much 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))) (let ((class '((class color) (min-colors 89)))

View file

@ -26,8 +26,11 @@
;;; Code: ;;; Code:
;;;###theme-autoload
(deftheme light-blue (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") (make-obsolete 'light-blue nil "29.1")

View file

@ -64,10 +64,13 @@
;;; Code: ;;; Code:
;;;###theme-autoload
(deftheme manoj-dark (deftheme manoj-dark
"Very high contrast faces with a black background. "Very high contrast faces with a black background.
This theme avoids subtle color variations, while avoiding the 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 (custom-theme-set-faces
'manoj-dark 'manoj-dark

View file

@ -21,8 +21,11 @@
;;; Code: ;;; Code:
;;;###theme-autoload
(deftheme misterioso (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)))) (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)) (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 ;;; 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)) (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 ;;; modus-vivendi-theme.el ends here

View file

@ -27,10 +27,15 @@
;;; Code: ;;; Code:
;;;###theme-autoload
(deftheme tango-dark (deftheme tango-dark
"Face colors using the Tango palette (dark background). "Face colors using the Tango palette (dark background).
Basic, Font Lock, Isearch, Gnus, Message, Ediff, Flyspell, 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))) (let ((class '((class color) (min-colors 89)))
;; Tango palette colors. ;; Tango palette colors.

View file

@ -27,10 +27,14 @@
;;; Code: ;;; Code:
;;;###theme-autoload
(deftheme tango (deftheme tango
"Face colors using the Tango palette (light background). "Face colors using the Tango palette (light background).
Basic, Font Lock, Isearch, Gnus, Message, Ediff, Flyspell, 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))) (let ((class '((class color) (min-colors 89)))
;; Tango palette colors. ;; Tango palette colors.

View file

@ -19,8 +19,12 @@
;;; Code: ;;; Code:
;;;###theme-autoload
(deftheme tsdh-dark (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 (custom-theme-set-faces
'tsdh-dark 'tsdh-dark

View file

@ -19,9 +19,13 @@
;;; Code: ;;; Code:
;;;###theme-autoload
(deftheme tsdh-light (deftheme tsdh-light
"A light Emacs theme. "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 (custom-theme-set-faces
'tsdh-light 'tsdh-light

View file

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

View file

@ -21,8 +21,11 @@
;;; Code: ;;; Code:
;;;###theme-autoload
(deftheme whiteboard (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)))) (let ((class '((class color) (min-colors 89))))
(custom-theme-set-faces (custom-theme-set-faces

View file

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

View file

@ -206,6 +206,9 @@ main (int argc, char **argv)
SCMP_A2_32 (SCMP_CMP_MASKED_EQ, SCMP_A2_32 (SCMP_CMP_MASKED_EQ,
~(PROT_NONE | PROT_READ | PROT_WRITE), 0)); ~(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. */ /* Futexes are used everywhere. */
RULE (SCMP_ACT_ALLOW, SCMP_SYS (futex), RULE (SCMP_ACT_ALLOW, SCMP_SYS (futex),
SCMP_A1_32 (SCMP_CMP_EQ, FUTEX_WAKE_PRIVATE)); 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 (getuid));
RULE (SCMP_ACT_ALLOW, SCMP_SYS (geteuid)); RULE (SCMP_ACT_ALLOW, SCMP_SYS (geteuid));
RULE (SCMP_ACT_ALLOW, SCMP_SYS (getpid)); RULE (SCMP_ACT_ALLOW, SCMP_SYS (getpid));
RULE (SCMP_ACT_ALLOW, SCMP_SYS (gettid));
RULE (SCMP_ACT_ALLOW, SCMP_SYS (getpgrp)); RULE (SCMP_ACT_ALLOW, SCMP_SYS (getpgrp));
/* Allow operations on open file descriptors. File descriptors are /* Allow operations on open file descriptors. File descriptors are
@ -324,6 +328,8 @@ main (int argc, char **argv)
| CLONE_SETTLS | CLONE_PARENT_SETTID | CLONE_SETTLS | CLONE_PARENT_SETTID
| CLONE_CHILD_CLEARTID), | CLONE_CHILD_CLEARTID),
0)); 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 (sigaltstack));
RULE (SCMP_ACT_ALLOW, SCMP_SYS (set_robust_list)); 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/rescan.pbm, toolbar/rescan.xpm, toolbar/show.pbm,
toolbar/show.xpm, toolbar/widen.pbm, toolbar/widen.xpm: toolbar/show.xpm, toolbar/widen.pbm, toolbar/widen.xpm:
Upgraded to mh-e version 6.1.1. Full ChangeLog available in 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 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. 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 * epa.el (epa-decrypt-region): Detect encoding if
coding-system-for-read is not specified. 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. (epa-verify-region): Ditto.
2009-06-04 Stefan Monnier <monnier@iro.umontreal.ca> 2009-06-04 Stefan Monnier <monnier@iro.umontreal.ca>
@ -540,7 +540,7 @@
* epa-file.el (epa-file-decode-and-insert): * epa-file.el (epa-file-decode-and-insert):
Use string-to-multibyte instead of set-buffer-multibyte. 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) 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. Automatically handle .xz suffix (XZ-compressed files), too.
* jka-cmpr-hook.el (jka-compr-compression-info-list): Add xz. * 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> 2009-06-22 Dmitry Dzhus <dima@sphinx.net.ru>
Nick Roberts <nickrob@snap.net.nz> Nick Roberts <nickrob@snap.net.nz>

View file

@ -14039,7 +14039,7 @@
* epa-file.el (epa-file-write-region): Encode the region according * epa-file.el (epa-file-write-region): Encode the region according
to `buffer-file-format'. Problem reported at: 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> 2014-01-14 Stefan Monnier <monnier@iro.umontreal.ca>

View file

@ -430,6 +430,12 @@ compile-always:
find $(lisp) -name '*.elc' $(FIND_DELETE) find $(lisp) -name '*.elc' $(FIND_DELETE)
$(MAKE) compile $(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 .PHONY: backup-compiled-files compile-after-backup
# Backup compiled Lisp files in elc.tar.gz. If that file already # 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" (".dir-locals.el"
nil nil
";;; Directory Local Variables\n" ";;; Directory Local Variables -*- no-byte-compile: t; -*-\n"
";;; For more information see (info \"(emacs) Directory Variables\")\n\n" ";;; For more information see (info \"(emacs) Directory Variables\")\n\n"
"((" "(("
'(setq v1 (let (modes) '(setq v1 (let (modes)

View file

@ -47,7 +47,7 @@
;; The original pulse code was written for semantic tag highlighting. ;; The original pulse code was written for semantic tag highlighting.
;; It has been extracted, and adapted for general purpose pulsing. ;; 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) (require 'color)

View file

@ -1152,9 +1152,11 @@ list, in which A occurs before B if B was defined with a
;; (provide-theme 'THEME) ;; (provide-theme 'THEME)
(defmacro deftheme (theme &optional doc) (defmacro deftheme (theme &optional doc &rest properties)
"Declare THEME to be a Custom theme. "Declare THEME to be a Custom theme.
The optional argument DOC is a doc string describing the 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'; Any theme `foo' should be defined in a file called `foo-theme.el';
see `custom-make-theme-feature' for more information." 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, ;; It is better not to use backquote in this file,
;; because that makes a bootstrapping problem ;; because that makes a bootstrapping problem
;; if you need to recompile all the Lisp files using interpreted code. ;; 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. "Like `deftheme', but THEME is evaluated as a normal argument.
FEATURE is the feature this theme provides. Normally, this is a symbol FEATURE is the feature this theme provides. Normally, this is a
created from THEME by `custom-make-theme-feature'." 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) (unless (custom-theme-name-valid-p theme)
(error "Custom theme cannot be named %S" theme)) (error "Custom theme cannot be named %S" theme))
(unless (memq theme custom-known-themes) (unless (memq theme custom-known-themes)
(push theme custom-known-themes)) (push theme custom-known-themes))
(put theme 'theme-feature feature) (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) (defun custom-make-theme-feature (theme)
"Given a symbol THEME, create a new symbol by appending \"-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)) (enable-theme theme))
t) 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) (defun custom-theme-load-confirm (hash)
"Query the user about loading a Custom theme that may not be safe. "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, The theme should be in the current buffer. If the user agrees,

View file

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

View file

@ -4204,6 +4204,17 @@ bytecode definition was not changed in the meantime)."
;;; Compiler entry points. ;;; 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 ;;;###autoload
(defun comp-lookup-eln (filename) (defun comp-lookup-eln (filename)
"Given a Lisp source FILENAME return the corresponding .eln file if found. "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))) ,@(when-let ((safe (plist-get props :safe)))
`((put ',varname 'safe-local-variable ,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) ((eq car 'defgroup)
;; In Emacs this is normally handled separately by cus-dep.el, but for ;; In Emacs this is normally handled separately by cus-dep.el, but for
;; third party packages, it can be convenient to explicitly autoload ;; third party packages, it can be convenient to explicitly autoload
@ -730,7 +736,14 @@ rules for built-in packages and excluded files."
;; updated. ;; updated.
(file-newer-than-file-p (file-newer-than-file-p
(expand-file-name "emacs-lisp/loaddefs-gen.el" lisp-directory) (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) (provide 'loaddefs-gen)

View file

@ -262,12 +262,7 @@ by counted more than once."
(cl-struct-slot-info struct-type))))) (cl-struct-slot-info struct-type)))))
(defun memory-report--format (bytes) (defun memory-report--format (bytes)
(setq bytes (/ bytes 1024.0)) (format "%10s" (file-size-human-readable bytes 'iec " ")))
(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))))
(defun memory-report--gc-elem (elems type) (defun memory-report--gc-elem (elems type)
(* (nth 1 (assq type elems)) (* (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) (or (string-match regexp name)
;; Tarballs created by some utilities don't list ;; Tarballs created by some utilities don't list
;; directories with a trailing slash (Bug#13136). ;; 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)) (eq (tar-header-link-type tar-data) 5))
(error "Package does not untar cleanly into directory %s/" dir))))) (error "Package does not untar cleanly into directory %s/" dir)))))
(tar-untar-buffer)) (tar-untar-buffer))
@ -1240,8 +1240,12 @@ Return the pkg-desc, with desc-kind set to KIND."
"Find package information for a tar file. "Find package information for a tar file.
The return result is a `package-desc'." The return result is a `package-desc'."
(cl-assert (derived-mode-p 'tar-mode)) (cl-assert (derived-mode-p 'tar-mode))
(let* ((dir-name (file-name-directory (let* ((dir-name (named-let loop
(tar-header-name (car tar-parse-info)))) ((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)) (desc-file (package--description-file dir-name))
(tar-desc (tar-get-file-descriptor (concat dir-name desc-file)))) (tar-desc (tar-get-file-descriptor (concat dir-name desc-file))))
(unless tar-desc (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))) :eval (seq-drop-while #'numberp '(1 2 c d 5)))
(seq-filter (seq-filter
:eval (seq-filter #'numberp '(a b 3 4 f 6))) :eval (seq-filter #'numberp '(a b 3 4 f 6)))
(seq-keep
:eval (seq-keep #'cl-digit-char-p '(?6 ?a ?7)))
(seq-remove (seq-remove
:eval (seq-remove #'numberp '(1 2 c d 5))) :eval (seq-remove #'numberp '(1 2 c d 5)))
(seq-remove-at-position (seq-remove-at-position

View file

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

View file

@ -3779,7 +3779,7 @@
doesn't appear). doesn't appear).
* NEWS: Added the information from * 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. changes which weren't yet documented on that page.
2005-01-06 Hoan Ton-That <hoan@ton-that.org> 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 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 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 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> 2002-12-26 Alex Schroeder <alex@gnu.org>

View file

@ -6961,6 +6961,8 @@ shortened server name instead."
(defvar tabbar--local-hlf) (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) (defun erc-update-mode-line-buffer (buffer)
"Update the mode line in a single ERC buffer BUFFER." "Update the mode line in a single ERC buffer BUFFER."
(with-current-buffer buffer (with-current-buffer buffer
@ -7325,7 +7327,7 @@ See also `format-spec'."
(error "No format spec for message %s" msg)) (error "No format spec for message %s" msg))
(when (functionp entry) (when (functionp entry)
(setq entry (apply entry args))) (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 ;;; Various hook functions

View file

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

View file

@ -277,7 +277,23 @@ Used only on systems which do not support async subprocesses.")
eshell-delete-exited-processes eshell-delete-exited-processes
delete-exited-processes)) delete-exited-processes))
(process-environment (eshell-environment-variables)) (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) 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 (cond
((fboundp 'make-process) ((fboundp 'make-process)
(unless (equal (car (aref eshell-current-handles eshell-output-handle)) (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) (setq decoding (coding-system-change-eol-conversion decoding 'dos)
changed t)) changed t))
;; Even if `make-process' left the coding system for encoding ;; 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 ;; same one as what we use for decoding. But, we should
;; suppress EOL conversion. ;; suppress EOL conversion.
(if (and decoding (not encoding)) (if (and decoding (not encoding))

View file

@ -489,7 +489,9 @@ from the MODE alist ignoring the input argument VALUE."
dir-locals-directory-cache)) dir-locals-directory-cache))
;; Insert modified alist of directory-local variables. ;; 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") (insert ";;; For more information see (info \"(emacs) Directory Variables\")\n\n")
(princ (dir-locals-to-string (princ (dir-locals-to-string
(sort variables (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) :group 'find-file)
(defvar-local buffer-file-number nil (defvar-local buffer-file-number nil
"The device number and file number of the file visited in the current buffer. "The inode number and the device of the file visited in the current buffer.
The value is a list of the form (FILENUM DEVNUM). The value is a list of the form (INODENUM DEVICE), where DEVICE can be
This pair of numbers uniquely identifies the file. 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.") If the buffer is visiting a new file, the value is nil.")
(put 'buffer-file-number 'permanent-local t) (put 'buffer-file-number 'permanent-local t)
@ -2163,7 +2164,7 @@ If there is no such live buffer, return nil."
(setq list (cdr list))) (setq list (cdr list)))
found) found)
(let* ((attributes (file-attributes truename)) (let* ((attributes (file-attributes truename))
(number (nthcdr 10 attributes)) (number (file-attribute-file-identifier attributes))
(list (buffer-list)) found) (list (buffer-list)) found)
(and buffer-file-numbers-unique (and buffer-file-numbers-unique
(car-safe number) ;Make sure the inode is not just nil. (car-safe number) ;Make sure the inode is not just nil.
@ -2366,7 +2367,7 @@ the various files."
(let* ((buf (get-file-buffer filename)) (let* ((buf (get-file-buffer filename))
(truename (abbreviate-file-name (file-truename filename))) (truename (abbreviate-file-name (file-truename filename)))
(attributes (file-attributes truename)) (attributes (file-attributes truename))
(number (nthcdr 10 attributes)) (number (file-attribute-file-identifier attributes))
;; Find any buffer for a file that has same truename. ;; Find any buffer for a file that has same truename.
(other (and (not buf) (other (and (not buf)
(find-buffer-visiting (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-name truename))))
(setq buffer-file-number (setq buffer-file-number
(if filename (if filename
(nthcdr 10 (file-attributes buffer-file-name)) (file-attribute-file-identifier (file-attributes buffer-file-name))
nil)) nil))
;; write-file-functions is normally used for things like ftp-find-file ;; 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. ;; 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 save-buffer-coding-system last-coding-system-used)
(setq buffer-file-coding-system last-coding-system-used)) (setq buffer-file-coding-system last-coding-system-used))
(setq buffer-file-number (setq buffer-file-number
(nthcdr 10 (file-attributes buffer-file-name))) (file-attribute-file-identifier
(file-attributes buffer-file-name)))
(if setmodes (if setmodes
(condition-case () (condition-case ()
(progn (progn
@ -6344,9 +6346,10 @@ If FILE1 or FILE2 does not exist, the return value is unspecified."
(equal f1-attr f2-attr)))))) (equal f1-attr f2-attr))))))
(defun file-in-directory-p (file dir) (defun file-in-directory-p (file dir)
"Return non-nil if FILE is in DIR or a subdirectory of DIR. "Return non-nil if DIR is a parent directory of FILE.
A directory is considered to be \"in\" itself. Value is non-nil if FILE is inside DIR or inside a subdirectory of DIR.
Return nil if DIR is not an existing directory." 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) (let ((handler (or (find-file-name-handler file 'file-in-directory-p)
(find-file-name-handler dir 'file-in-directory-p)))) (find-file-name-handler dir 'file-in-directory-p))))
(if handler (if handler
@ -8657,19 +8660,26 @@ It is a nonnegative integer."
(defsubst file-attribute-device-number (attributes) (defsubst file-attribute-device-number (attributes)
"The file system device number in ATTRIBUTES returned by `file-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)) (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) (defun file-attribute-collect (attributes &rest attr-names)
"Return a sublist of ATTRIBUTES returned by `file-attributes'. "Return a sublist of ATTRIBUTES returned by `file-attributes'.
ATTR-NAMES are symbols with the selected attribute names. ATTR-NAMES are symbols with the selected attribute names.
Valid attribute names are: type, link-number, user-id, group-id, Valid attribute names are: type, link-number, user-id, group-id,
access-time, modification-time, status-change-time, size, modes, 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 (let ((all '(type link-number user-id group-id access-time
modification-time status-change-time modification-time status-change-time
size modes inode-number device-number)) size modes inode-number device-number file-number))
result) result)
(while attr-names (while attr-names
(let ((attr (pop 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. the function will be inserted instead.
If the buffer already has a\"X-Message-SMTP-Method\" header, If the buffer already has a\"X-Message-SMTP-Method\" header,
it is left unchanged." it is left unchanged."
:type '(alist :key-type '(choice :type '(alist :key-type (choice
(string :tag "From Address") (string :tag "From Address")
(function :tag "Predicate")) (function :tag "Predicate"))
:value-type 'string) :value-type string)
:version "29.1" :version "29.1"
:group 'message-sending) :group 'message-sending)

View file

@ -194,7 +194,7 @@ This can be either \"inline\" or \"attachment\".")
nil) nil)
(verbatim-marks (verbatim-marks
;; slrn-style verbatim marks, see ;; 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\\+"
"^#v\\-$" "^#v\\-$"
,(lambda () (mm-uu-verbatim-marks-extract 0 0)) ,(lambda () (mm-uu-verbatim-marks-extract 0 0))

View file

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

View file

@ -112,7 +112,7 @@ buffer.")
(define-key map "v" 'describe-variable) (define-key map "v" 'describe-variable)
(define-key map "w" 'where-is) (define-key map "w" 'where-is)
(define-key map "x" 'describe-command) (define-key map "x" 'describe-command)
(define-key map "q" 'help-quit) (define-key map "q" 'help-quit-or-quick)
map) map)
"Keymap for characters following the Help key.") "Keymap for characters following the Help key.")
@ -125,11 +125,143 @@ buffer.")
(defvar help-button-cache nil) (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 () (defun help-quit ()
"Just exit from the Help command's command loop." "Just exit from the Help command's command loop."
(interactive) (interactive)
nil) 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 (defvar help-return-method nil
"What to do to \"exit\" the help buffer. "What to do to \"exit\" the help buffer.
This is a list 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") ("describe-package" "Describe a specific Emacs package")
"" ""
("help-with-tutorial" "Start the Emacs tutorial") ("help-with-tutorial" "Start the Emacs tutorial")
("help-quick-or-quit" "Display the quick help buffer.")
("view-echo-area-messages" ("view-echo-area-messages"
"Show recent messages (from echo area)") "Show recent messages (from echo area)")
("view-lossage" ,(format "Show last %d input keystrokes (lossage)" ("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 :group 'hl-line
;; If the global mode is switched on, then `M-x hl-line-mode' should ;; If the global mode is switched on, then `M-x hl-line-mode' should
;; switch the mode off in this buffer. ;; 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 hl-line-mode nil)
(setq-local global-hl-line-mode nil) (setq-local global-hl-line-mode nil)
(global-hl-line-unhighlight)) (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)) (read-file-name "Info file name: " nil nil t))
(if (numberp current-prefix-arg) (if (numberp current-prefix-arg)
(format "*info*<%s>" 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 (info-setup file-or-node
(pop-to-buffer-same-window (or buffer "*info*")))) (pop-to-buffer-same-window (or buffer "*info*"))))

View file

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

View file

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

View file

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

View file

@ -15397,7 +15397,7 @@ it is disabled.
;;; Generated autoloads from progmodes/hideshow.el ;;; 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. Alist for initializing the hideshow variables for different modes.
Each element has the form Each element has the form
(MODE START END COMMENT-START FORWARD-SEXP-FUNC ADJUST-BEG-FUNC (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. Major mode for browsing CVS log output.
(fn)" t) (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-")) (register-definition-prefixes "log-view" '("log-view-"))
@ -24534,7 +24536,7 @@ Open profile FILENAME.
;;; Generated autoloads from progmodes/project.el ;;; 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" "\ (autoload 'project-current "project" "\
Return the project instance in DIRECTORY, defaulting to `default-directory'. 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. it is disabled.
(fn &optional ARG)" t) (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-")) (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 included in the resulting string. If PROMPT is nil, no help text
will be inserted. will be inserted.
Also see `read-string-from-buffer'.
(fn PROMPT STRING SUCCESS-CALLBACK &key ABORT-CALLBACK)") (fn PROMPT STRING SUCCESS-CALLBACK &key ABORT-CALLBACK)")
(autoload 'read-string-from-buffer "string-edit" "\ (autoload 'read-string-from-buffer "string-edit" "\
Switch to a new buffer to edit STRING in a recursive 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 included in the resulting string. If nil, no prompt will be
inserted in the buffer. inserted in the buffer.
Also see `string-edit'.
(fn PROMPT STRING)") (fn PROMPT STRING)")
(register-definition-prefixes "string-edit" '("string-edit-")) (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) (defalias 'tramp-compat-rx #'rx)
(register-definition-prefixes "tramp-compat" '("tramp-")) (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 ;;; Generated autoloads from net/tramp-crypt.el
(register-definition-prefixes "tramp-crypt" '("tramp-crypt-")) (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 ;;; 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)") (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-")) (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" "\ (autoload 'vc-log-incoming "vc" "\
Show log of changes that will be received with pull from REMOTE-LOCATION. Show log of changes that will be received with pull from REMOTE-LOCATION.
When called interactively with a prefix argument, prompt for 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) (fn &optional REMOTE-LOCATION)" t)
(autoload 'vc-log-outgoing "vc" "\ (autoload 'vc-log-outgoing "vc" "\
Show log of changes that will be sent with a push operation to REMOTE-LOCATION. 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. 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) (fn &optional REMOTE-LOCATION)" t)
(autoload 'vc-log-search "vc" "\ (autoload 'vc-log-search "vc" "\
@ -33571,6 +33586,18 @@ log entries should be gathered.
Request editing the next VC shell command before execution. Request editing the next VC shell command before execution.
This is a prefix command. It affects only a VC command executed This is a prefix command. It affects only a VC command executed
immediately after this one." t) 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")) (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 ;;; 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 "\ (defvar-local view-mode nil "\
Non-nil if View mode is enabled. Non-nil if View mode is enabled.
Don't change this variable directly, you must change it by one of the 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 ;;; Generated autoloads from play/zone.el
(autoload 'zone "zone" "\ (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-")) (register-definition-prefixes "zone" '("zone-"))
;;; End of scraped data ;;; 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 Bogofilter is a Bayesian spam filtering program. Get it from your
local distribution or from the bogofilter web site at URL local distribution or from the bogofilter web site at URL
`http://bogofilter.sourceforge.net/'. `https://bogofilter.sourceforge.io/'.
Bogofilter is taught by running: 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 SpamProbe is a Bayesian spam filtering program. Get it from your
local distribution or from the SpamProbe web site at URL 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\": 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)))) (let ((file (url-unhex-string (url-filename parsed))))
(when-let ((coding (browse-url--file-name-coding-system))) (when-let ((coding (browse-url--file-name-coding-system)))
(setq file (decode-coding-string file 'utf-8))) (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)) (funcall func file))
(let ((file-name-handler-alist (let ((file-name-handler-alist
(cons (cons url-handler-regexp 'url-file-handler) (cons (cons url-handler-regexp 'url-file-handler)

View file

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

View file

@ -1088,34 +1088,18 @@ Derived from `tramp-postfix-host-format'.")
(defun tramp-build-remote-file-name-spec-regexp () (defun tramp-build-remote-file-name-spec-regexp ()
"Construct a regexp matching a Tramp file name for a Tramp syntax. "Construct a regexp matching a Tramp file name for a Tramp syntax.
It is expected, that `tramp-syntax' has the proper value." It is expected, that `tramp-syntax' has the proper value."
;; Starting with Emacs 27, we can use `rx-let'. (tramp-compat-rx
(let* ((user-regexp ;; Method.
(tramp-compat-rx (group (regexp tramp-method-regexp)) (regexp tramp-postfix-method-regexp)
(group-n 6 (regexp tramp-user-regexp)) ;; Optional user. This includes domain.
(regexp tramp-postfix-user-regexp))) (? (group (regexp tramp-user-regexp)) (regexp tramp-postfix-user-regexp))
(host-regexp ;; Optional host.
(tramp-compat-rx (? (group (| (regexp tramp-host-regexp)
(group-n 7 (| (regexp tramp-host-regexp) (: (regexp tramp-prefix-ipv6-regexp)
(: (regexp tramp-prefix-ipv6-regexp) (? (regexp tramp-ipv6-regexp))
(? (regexp tramp-ipv6-regexp)) (regexp tramp-postfix-ipv6-regexp)))
(regexp tramp-postfix-ipv6-regexp))) ;; Optional port.
;; Optional port. (? (regexp tramp-prefix-port-regexp) (regexp tramp-port-regexp))))))
(? (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))))
(defvar tramp-remote-file-name-spec-regexp (defvar tramp-remote-file-name-spec-regexp
nil ; Initialized when defining `tramp-syntax'! 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 ;; "/ssh:host:~/path" becomes "c:/ssh:host:~/path". See also
;; `tramp-drop-volume-letter'. ;; `tramp-drop-volume-letter'.
(? (regexp tramp-volume-letter-regexp)) (? (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. ;; Optional multi hops.
(* (regexp tramp-remote-file-name-spec-regexp) (* (regexp tramp-remote-file-name-spec-regexp)
@ -1862,7 +1847,8 @@ the form (METHOD USER DOMAIN HOST PORT LOCALNAME &optional HOP)."
tramp-prefix-regexp "" tramp-prefix-regexp ""
(replace-regexp-in-string (replace-regexp-in-string
(tramp-compat-rx (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))))) (tramp-make-tramp-file-name vec 'noloc)))))
(defun tramp-completion-make-tramp-file-name (method user host localname) (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 ;; matlab.el required for interactive emacs sessions and matlab-mode
;; major mode for source code editing buffer ;; major mode for source code editing buffer
;; http://matlab-emacs.sourceforge.net/ ;; https://matlab-emacs.sourceforge.net/
;;; Code: ;;; Code:
(require 'ob) (require 'ob)

View file

@ -30,7 +30,7 @@
;;; Requirements: ;;; 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') ;; plantuml.jar | `org-plantuml-jar-path' should point to the jar file (when exec mode is `jar')
;;; Code: ;;; Code:

View file

@ -47,7 +47,7 @@
;; ;;
;; Install org mode ;; Install org mode
;; Ensure org-ctags.el is somewhere in your emacs load path. ;; 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. ;; Edit your .emacs file (see next section) and load emacs.
;; To put in your init file (.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 ;; 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/ ;; 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))) (set-window-buffer nil (window-buffer)))
(when (or outline--use-buttons outline--use-margins) (when (or outline--use-buttons outline--use-margins)
(add-hook 'after-change-functions (add-hook 'after-change-functions
(lambda (beg end _len) #'outline--fix-buttons-after-change nil t))
(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))
(when outline-minor-mode-highlight (when outline-minor-mode-highlight
(if (and global-font-lock-mode (font-lock-specified-p major-mode)) (if (and global-font-lock-mode (font-lock-specified-p major-mode))
(progn (progn
@ -1065,107 +1059,6 @@ If non-nil, EVENT should be a mouse event."
(mouse-set-point event)) (mouse-set-point event))
(outline-flag-subtree t))) (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") (define-obsolete-function-alias 'hide-subtree #'outline-hide-subtree "25.1")
(defun outline-hide-leaves () (defun outline-hide-leaves ()
@ -1451,6 +1344,9 @@ convenient way to make a table of contents of the buffer."
(insert "\n\n")))))) (insert "\n\n"))))))
(kill-new (buffer-string))))))) (kill-new (buffer-string)))))))
;;; Initial visibility
(defcustom outline-default-state nil (defcustom outline-default-state nil
"If non-nil, some headings are initially outlined. "If non-nil, some headings are initially outlined.
@ -1629,6 +1525,9 @@ LEVEL, decides of subtree visibility according to
beg end))) beg end)))
(run-hooks 'outline-view-change-hook))) (run-hooks 'outline-view-change-hook)))
;;; Visibility cycling
(defun outline--cycle-state () (defun outline--cycle-state ()
"Return the cycle state of current heading. "Return the cycle state of current heading.
Return either `hide-all', `headings-only', or `show-all'." 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) (setq outline--cycle-buffer-state 'show-all)
(message "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 (defvar-keymap outline-navigation-repeat-map
"C-b" #'outline-backward-same-level "C-b" #'outline-backward-same-level

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