Merge from origin/emacs-26
11bd8aa24b
Fix flymake's loading of subr-xb500e06f4d
Fix Bug#28896d815de017b
Skip a Flymake test for old gcc versionsfd3d8610b2
Make :align-to account for display-line-numbers831eafc8ae
Augment Flymake API for third-party extensionsddd547fada
Improve treatment of Fortran's "class default"234b1e3864
Flymake backends must check proc obsoleteness in source bu...3ea6a4d4ba
Skip an rsync test in tramp-tests.el25f83fa7c5
; Indentation fixes4d578d432d
On Windows default a frame's border width to zero (Bug#28873)6f1dea5c74
Spelling fixesb8433b0954
Use pop-to-buffer-same-window instead of switch-to-buffer2f7163fb72
Fix the MSDOS build.2551d28fe8
Fix line number display after 'widen'dc8812829b
Remove resizable attribute on macOS undecorated frames (bu...b970a4a52a
Fix handling of `border-width' in `frameset--restore-frame...445e92658f
Mention how to send CC to > 1 address in a bug report8ca6fa585a
Improve format-time-string doc2e1b3522b8
Improve documentation of 'line-number-display-width'5b6e59cfdb
Implement vc-default-dir-extra-headers for vc-rcs22adeca42a
In NEWS give advice on use of `switch-to-buffer' (Bug#28645)2c3e6f1ddc
Dont update primary selection with winner-undob38724ab67
Work around ImageMagick bug 82520cc68e871
Document rectangle-preview option more (Bug#27974)a0b7b301dd
Do not reject https://gnu.org in commit messagesfb4200a875
Fix Edebug spec for cl-defun (bug#24255)db68cefe72
Fix errors in kmacro.el post-command-hookc63b344c3d
Fix range-error in image-dired.el081d2187c4
Fix 'line-number-display-width' in hscrolled windows16e85456e7
Fix error in tramp-smb-handle-insert-directory613db8d35c
Don't reject PBM header whitespace unnecessarily3205b12a78
Fix regression in display of PPM images1ca9ae7069
Require subr-x when compiling nnimap.elde60992053
Fix ert-test finding by symbol (Bug#28849)51615a8082
Don't remember old debugger window (Bug#17882)5980de3727
Disable python native completion on w32 (Bug#28580)616b4c5956
Let select-frame-by-name choose any frame when called from...8eb3c01dbd
* lisp/dired-aux.el (dired-create-directory): Doc fix.325dfdae13
Avoid compilation warnings in optimized buildsf79382819c
; * src/composite.c (Fclear_composition_cache): Fix last c...f95cd5cd70
Improve customization of arabic-shaper-ZWNJ-handling.a7f154688d
Improve customization type of 'mouse-drag-and-drop-region'864734d112
; Prefer https: to http: in GNU URLs3c78960a47
Encourage https: in commit messagesdef9715282
; Cleanup of etc/NEWS4e59ecc646
Fix wording in Elisp manual's child frames section (Bug#28...eda9f5018c
Another fix for C mode fontification of w32 source files05aadd8990
Fix fontification of ALIGN_STACK functionsaa0c38f358
Make sure thread stack is properly aligned on MS-Windowsd7038020aa
Do not under-align pseudovectorsff33053012
Fix indentation bug in multi-line CSS selectors8968be822e
; * etc/NEWS: Grammar and spelling fixes716b84034d
gnutls_mac_get_nonce_size has been added in gnutls 3.355e313f7be
; * CONTRIBUTE: More suggestions for using US English.622c675648
* CONTRIBUTE: Suggest American English. # Conflicts: # etc/NEWS # msdos/sed2v2.inp
This commit is contained in:
commit
3155cb1585
82 changed files with 1110 additions and 710 deletions
|
@ -2,7 +2,7 @@
|
||||||
(sentence-end-double-space . t)
|
(sentence-end-double-space . t)
|
||||||
(fill-column . 70)))
|
(fill-column . 70)))
|
||||||
(c-mode . ((c-file-style . "GNU")
|
(c-mode . ((c-file-style . "GNU")
|
||||||
(c-noise-macro-names . ("UNINIT"))))
|
(c-noise-macro-names . ("UNINIT" "CALLBACK" "ALIGN_STACK"))))
|
||||||
(objc-mode . ((c-file-style . "GNU")))
|
(objc-mode . ((c-file-style . "GNU")))
|
||||||
(log-edit-mode . ((log-edit-font-lock-gnu-style . t)
|
(log-edit-mode . ((log-edit-font-lock-gnu-style . t)
|
||||||
(log-edit-setup-add-author . t)))
|
(log-edit-setup-add-author . t)))
|
||||||
|
|
16
CONTRIBUTE
16
CONTRIBUTE
|
@ -82,8 +82,9 @@ Doc-strings should be updated together with the code.
|
||||||
|
|
||||||
Think about whether your change requires updating the manuals. If you
|
Think about whether your change requires updating the manuals. If you
|
||||||
know it does not, mark the NEWS entry with "---". If you know
|
know it does not, mark the NEWS entry with "---". If you know
|
||||||
that *all* the necessary documentation updates have been made, mark
|
that *all* the necessary documentation updates have been made as part
|
||||||
the entry with "+++". Otherwise do not mark it.
|
of your changes or those by others, mark the entry with "+++".
|
||||||
|
Otherwise do not mark it.
|
||||||
|
|
||||||
If your change requires updating the manuals to document new
|
If your change requires updating the manuals to document new
|
||||||
functions/commands/variables/faces, then use the proper Texinfo
|
functions/commands/variables/faces, then use the proper Texinfo
|
||||||
|
@ -92,6 +93,10 @@ command to index them; for instance, use @vindex for variables and
|
||||||
https://www.gnu.org/software/texinfo/manual/texinfo/html_node/Predefined-Indices.html
|
https://www.gnu.org/software/texinfo/manual/texinfo/html_node/Predefined-Indices.html
|
||||||
or run the shell command 'info "(texinfo)Predefined Indices"'.
|
or run the shell command 'info "(texinfo)Predefined Indices"'.
|
||||||
|
|
||||||
|
We prefer American English both in doc strings and in the manuals.
|
||||||
|
That includes both spelling (e.g., "behavior", not "behaviour") and
|
||||||
|
the convention of leaving 2 spaces between sentences.
|
||||||
|
|
||||||
For more specific tips on Emacs's doc style, see
|
For more specific tips on Emacs's doc style, see
|
||||||
https://www.gnu.org/software/emacs/manual/html_node/elisp/Documentation-Tips.html
|
https://www.gnu.org/software/emacs/manual/html_node/elisp/Documentation-Tips.html
|
||||||
Use 'checkdoc' to check for documentation errors before submitting a patch.
|
Use 'checkdoc' to check for documentation errors before submitting a patch.
|
||||||
|
@ -170,6 +175,9 @@ them right the first time, so here are guidelines for formatting them:
|
||||||
bug number NNNNN in the debbugs database. This string is often
|
bug number NNNNN in the debbugs database. This string is often
|
||||||
parenthesized, as in "(Bug#19003)".
|
parenthesized, as in "(Bug#19003)".
|
||||||
|
|
||||||
|
- When citing URLs, prefer https: to http: when either will do. In
|
||||||
|
particular, gnu.org and fsf.org URLs should start with "https:".
|
||||||
|
|
||||||
- Commit messages should contain only printable UTF-8 characters.
|
- Commit messages should contain only printable UTF-8 characters.
|
||||||
|
|
||||||
- Commit messages should not contain the "Signed-off-by:" lines that
|
- Commit messages should not contain the "Signed-off-by:" lines that
|
||||||
|
@ -195,7 +203,9 @@ them right the first time, so here are guidelines for formatting them:
|
||||||
sentences starting with a capital and ending with a period (except
|
sentences starting with a capital and ending with a period (except
|
||||||
the summary line should not end in a period). See
|
the summary line should not end in a period). See
|
||||||
https://www.gnu.org/prep/standards/html_node/Comments.html
|
https://www.gnu.org/prep/standards/html_node/Comments.html
|
||||||
or run 'info "(standards)Comments"'.
|
or run 'info "(standards)Comments"'. American English is preferred
|
||||||
|
in Emacs; that includes spelling and leaving 2 blanks between
|
||||||
|
sentences.
|
||||||
|
|
||||||
They are preserved indefinitely, and have a reasonable chance of
|
They are preserved indefinitely, and have a reasonable chance of
|
||||||
being read in the future, so it's better that they have good
|
being read in the future, so it's better that they have good
|
||||||
|
|
150
ChangeLog.3
150
ChangeLog.3
|
@ -425,7 +425,7 @@
|
||||||
Fix bug in recent styled_format change
|
Fix bug in recent styled_format change
|
||||||
|
|
||||||
Problem reported by Kaushal Modi in:
|
Problem reported by Kaushal Modi in:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00141.html
|
https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00141.html
|
||||||
* src/editfns.c (styled_format): Fix bug where USE_SAFE_ALLOCA was
|
* src/editfns.c (styled_format): Fix bug where USE_SAFE_ALLOCA was
|
||||||
not always followed by SAFE_FREE. This bug was introduced in my
|
not always followed by SAFE_FREE. This bug was introduced in my
|
||||||
patch 2017-09-26T23:31:57Z!eggert@cs.ucla.edu entitled "Avoid some
|
patch 2017-09-26T23:31:57Z!eggert@cs.ucla.edu entitled "Avoid some
|
||||||
|
@ -926,7 +926,7 @@
|
||||||
constrained to call REPORT-FN exactly once. It may do so any number
|
constrained to call REPORT-FN exactly once. It may do so any number
|
||||||
of times, cumulatively reporting diagnostics. Flymake keeps track of
|
of times, cumulatively reporting diagnostics. Flymake keeps track of
|
||||||
outdated REPORT-FN instances and disconsiders obsolete reports.
|
outdated REPORT-FN instances and disconsiders obsolete reports.
|
||||||
Backends should avoid reporting obsolete data by cancelling any
|
Backends should avoid reporting obsolete data by canceling any
|
||||||
ongoing processing at every renewed call to the backend function.
|
ongoing processing at every renewed call to the backend function.
|
||||||
|
|
||||||
Consolidated flymake.el internal data structures to require less
|
Consolidated flymake.el internal data structures to require less
|
||||||
|
@ -2074,7 +2074,7 @@
|
||||||
* doc/emacs/maintaining.texi (VC Change Log): Mention the new binding.
|
* doc/emacs/maintaining.texi (VC Change Log): Mention the new binding.
|
||||||
* doc/emacs/vc1-xtra.texi (Version Headers): Remove the association of
|
* doc/emacs/vc1-xtra.texi (Version Headers): Remove the association of
|
||||||
'C-x v h' with `vc-insert-headers'.
|
'C-x v h' with `vc-insert-headers'.
|
||||||
(http://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00957.html)
|
(https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00957.html)
|
||||||
|
|
||||||
2017-09-30 Allen Li <vianchielfaura@gmail.com> (tiny change)
|
2017-09-30 Allen Li <vianchielfaura@gmail.com> (tiny change)
|
||||||
|
|
||||||
|
@ -2648,7 +2648,7 @@
|
||||||
* doc/emacs/cmdargs.texi (Action Arguments): Don't mention
|
* doc/emacs/cmdargs.texi (Action Arguments): Don't mention
|
||||||
'find-file', as the implementation has changed. Reported by
|
'find-file', as the implementation has changed. Reported by
|
||||||
Everton J. Carpes <everton.carpes@gmail.com> in
|
Everton J. Carpes <everton.carpes@gmail.com> in
|
||||||
http://lists.gnu.org/archive/html/help-gnu-emacs/2017-09/msg00146.html.
|
https://lists.gnu.org/archive/html/help-gnu-emacs/2017-09/msg00146.html.
|
||||||
|
|
||||||
2017-09-19 Eli Zaretskii <eliz@gnu.org>
|
2017-09-19 Eli Zaretskii <eliz@gnu.org>
|
||||||
|
|
||||||
|
@ -2843,7 +2843,7 @@
|
||||||
|
|
||||||
* src/eval.c (push_handler_nosignal): Use CACHEABLE to work around
|
* src/eval.c (push_handler_nosignal): Use CACHEABLE to work around
|
||||||
GCC compilation warning. Suggested by Paul Eggert <eggert@cs.ucla.edu>
|
GCC compilation warning. Suggested by Paul Eggert <eggert@cs.ucla.edu>
|
||||||
in http://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00492.html.
|
in https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00492.html.
|
||||||
|
|
||||||
2017-09-17 Michael Albinus <michael.albinus@gmx.de>
|
2017-09-17 Michael Albinus <michael.albinus@gmx.de>
|
||||||
|
|
||||||
|
@ -3162,7 +3162,7 @@
|
||||||
|
|
||||||
* src/lisp.h (pI) [__MINGW32__]: Provide definition that will
|
* src/lisp.h (pI) [__MINGW32__]: Provide definition that will
|
||||||
hopefully DTRT with both MinGW64 and mingw.org's MinGW. See
|
hopefully DTRT with both MinGW64 and mingw.org's MinGW. See
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00171.html
|
https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00171.html
|
||||||
for the details.
|
for the details.
|
||||||
* src/conf_post.h (PRINTF_ARCHETYPE) [MINGW_W64]: Separate
|
* src/conf_post.h (PRINTF_ARCHETYPE) [MINGW_W64]: Separate
|
||||||
definition specific to MinGW64.
|
definition specific to MinGW64.
|
||||||
|
@ -3198,7 +3198,7 @@
|
||||||
Port renameat_noreplace to openSUSE 12.3
|
Port renameat_noreplace to openSUSE 12.3
|
||||||
|
|
||||||
Problem reported by M. Nomiya in:
|
Problem reported by M. Nomiya in:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00363.html
|
https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00363.html
|
||||||
* src/sysdep.c (renameat_noreplace):
|
* src/sysdep.c (renameat_noreplace):
|
||||||
Call renameat2 only if CYGWIN.
|
Call renameat2 only if CYGWIN.
|
||||||
|
|
||||||
|
@ -3402,7 +3402,7 @@
|
||||||
* doc/misc/gnus.texi (Saving Articles):
|
* doc/misc/gnus.texi (Saving Articles):
|
||||||
Document behavior with directory name targets (Bug#27986).
|
Document behavior with directory name targets (Bug#27986).
|
||||||
Problem reported by Katsumi Yamaoka in:
|
Problem reported by Katsumi Yamaoka in:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00216.html
|
https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00216.html
|
||||||
|
|
||||||
2017-09-12 Mark Oteiza <mvoteiza@udel.edu>
|
2017-09-12 Mark Oteiza <mvoteiza@udel.edu>
|
||||||
|
|
||||||
|
@ -3774,7 +3774,7 @@
|
||||||
* configure.ac (srcdir) [mingw32]: Downcase the drive letter, to
|
* configure.ac (srcdir) [mingw32]: Downcase the drive letter, to
|
||||||
avoid warnings from find-file-noselect when making autoloads. For
|
avoid warnings from find-file-noselect when making autoloads. For
|
||||||
the details, see
|
the details, see
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00049.html.
|
https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00049.html.
|
||||||
|
|
||||||
2017-09-10 Mark Oteiza <mvoteiza@udel.edu>
|
2017-09-10 Mark Oteiza <mvoteiza@udel.edu>
|
||||||
|
|
||||||
|
@ -4006,7 +4006,7 @@
|
||||||
bit-shifting, to avoid compiler warnings.
|
bit-shifting, to avoid compiler warnings.
|
||||||
(w32font_text_extents): Tell GCC NGLYPHS is non-negative, to avoid
|
(w32font_text_extents): Tell GCC NGLYPHS is non-negative, to avoid
|
||||||
a warning. For details of the warning, see
|
a warning. For details of the warning, see
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00093.html.
|
https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00093.html.
|
||||||
* src/term.c (keys) [WINDOWSNT]: Don't define, as it is not used
|
* src/term.c (keys) [WINDOWSNT]: Don't define, as it is not used
|
||||||
in that build.
|
in that build.
|
||||||
* src/sound.c (sound_perror): Ifdef away on WINDOWSNT, as this
|
* src/sound.c (sound_perror): Ifdef away on WINDOWSNT, as this
|
||||||
|
@ -4093,7 +4093,7 @@
|
||||||
autogen.sh: omit bogus chatter if no .git
|
autogen.sh: omit bogus chatter if no .git
|
||||||
|
|
||||||
Problem reported by Angelo Graziosi in:
|
Problem reported by Angelo Graziosi in:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00045.html
|
https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00045.html
|
||||||
* autogen.sh (git_config): Do not execut 'git' if $do_git fails.
|
* autogen.sh (git_config): Do not execut 'git' if $do_git fails.
|
||||||
|
|
||||||
2017-09-07 Glenn Morris <rgm@gnu.org>
|
2017-09-07 Glenn Morris <rgm@gnu.org>
|
||||||
|
@ -4112,7 +4112,7 @@
|
||||||
|
|
||||||
* doc/lispref/functions.texi (Mapping Functions): Fix the order of
|
* doc/lispref/functions.texi (Mapping Functions): Fix the order of
|
||||||
@example and @group. For the details, see
|
@example and @group. For the details, see
|
||||||
http://lists.gnu.org/archive/html/bug-texinfo/2017-09/msg00007.html.
|
https://lists.gnu.org/archive/html/bug-texinfo/2017-09/msg00007.html.
|
||||||
|
|
||||||
2017-09-06 Mark Oteiza <mvoteiza@udel.edu>
|
2017-09-06 Mark Oteiza <mvoteiza@udel.edu>
|
||||||
|
|
||||||
|
@ -4240,7 +4240,7 @@
|
||||||
Revert recent float→double Motif change
|
Revert recent float→double Motif change
|
||||||
|
|
||||||
Problem reported by Martin Rudalics in:
|
Problem reported by Martin Rudalics in:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00014.html
|
https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00014.html
|
||||||
* src/xterm.c (xm_scroll_callback, xaw_jump_callback)
|
* src/xterm.c (xm_scroll_callback, xaw_jump_callback)
|
||||||
(x_set_toolkit_scroll_bar_thumb)
|
(x_set_toolkit_scroll_bar_thumb)
|
||||||
(x_set_toolkit_horizontal_scroll_bar_thumb):
|
(x_set_toolkit_horizontal_scroll_bar_thumb):
|
||||||
|
@ -5390,7 +5390,7 @@
|
||||||
* src/w32term.c (x_get_scale_factor):
|
* src/w32term.c (x_get_scale_factor):
|
||||||
* src/xterm.c (x_get_scale_factor): Don't let the scale factors
|
* src/xterm.c (x_get_scale_factor): Don't let the scale factors
|
||||||
become less than 1. Reported by Yuri D'Elia <wavexx@thregr.org> in
|
become less than 1. Reported by Yuri D'Elia <wavexx@thregr.org> in
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00459.html.
|
https://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00459.html.
|
||||||
|
|
||||||
2017-08-21 Sam Steingold <sds@gnu.org>
|
2017-08-21 Sam Steingold <sds@gnu.org>
|
||||||
|
|
||||||
|
@ -5940,7 +5940,7 @@
|
||||||
|
|
||||||
Apparently Gitlab doesn’t create .git/hooks, like regular Git does.
|
Apparently Gitlab doesn’t create .git/hooks, like regular Git does.
|
||||||
Problem reported by Ted Zlatanov in:
|
Problem reported by Ted Zlatanov in:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00380.html
|
https://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00380.html
|
||||||
* autogen.sh (git_sample_hook_src): New function. Use it to work
|
* autogen.sh (git_sample_hook_src): New function. Use it to work
|
||||||
even if .git/hooks or its samples do not exist.
|
even if .git/hooks or its samples do not exist.
|
||||||
|
|
||||||
|
@ -6209,7 +6209,7 @@
|
||||||
Default autogen.sh to 'all'
|
Default autogen.sh to 'all'
|
||||||
|
|
||||||
This addresses a problem noted by RMS in:
|
This addresses a problem noted by RMS in:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00052.html
|
https://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00052.html
|
||||||
* autogen.sh (do_git): Set to true if this script is invoked
|
* autogen.sh (do_git): Set to true if this script is invoked
|
||||||
with no arguments and there is a .git subdirectory.
|
with no arguments and there is a .git subdirectory.
|
||||||
|
|
||||||
|
@ -6689,7 +6689,7 @@
|
||||||
Fix some crashes on self-modifying Elisp code
|
Fix some crashes on self-modifying Elisp code
|
||||||
|
|
||||||
Prompted by a problem report by Alex in:
|
Prompted by a problem report by Alex in:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00143.html
|
https://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00143.html
|
||||||
* src/eval.c (For, Fprogn, Fsetq, FletX, eval_sub):
|
* src/eval.c (For, Fprogn, Fsetq, FletX, eval_sub):
|
||||||
Compute XCDR (x) near XCAR (x); although this doesn't fix any bugs,
|
Compute XCDR (x) near XCAR (x); although this doesn't fix any bugs,
|
||||||
it is likely to run a bit faster with typical hardware caches.
|
it is likely to run a bit faster with typical hardware caches.
|
||||||
|
@ -6976,7 +6976,7 @@
|
||||||
Port recent rename changes to RHEL 7 + NFS
|
Port recent rename changes to RHEL 7 + NFS
|
||||||
|
|
||||||
Problem reported by Ted Zlatanov in:
|
Problem reported by Ted Zlatanov in:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00082.html
|
https://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00082.html
|
||||||
* src/fileio.c (Frename_file): On RHEL 7 + NFS, renameat2 can fail
|
* src/fileio.c (Frename_file): On RHEL 7 + NFS, renameat2 can fail
|
||||||
with errno == EINVAL when it is not supported. So treat that case
|
with errno == EINVAL when it is not supported. So treat that case
|
||||||
like errno == ENOSYS. Also, when ok_if_already_exists is neither
|
like errno == ENOSYS. Also, when ok_if_already_exists is neither
|
||||||
|
@ -7009,7 +7009,7 @@
|
||||||
|
|
||||||
* configure.ac (with_mailutils): Default to 'yes' if GNU Mailutils
|
* configure.ac (with_mailutils): Default to 'yes' if GNU Mailutils
|
||||||
is installed. See:
|
is installed. See:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00054.html
|
https://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00054.html
|
||||||
|
|
||||||
2017-08-02 Paul Eggert <eggert@cs.ucla.edu>
|
2017-08-02 Paul Eggert <eggert@cs.ucla.edu>
|
||||||
|
|
||||||
|
@ -8075,7 +8075,7 @@
|
||||||
bury-buffer to exit todo-mode. This restores the desired behavior
|
bury-buffer to exit todo-mode. This restores the desired behavior
|
||||||
of not immediately returning to the exited todo-mode buffer on
|
of not immediately returning to the exited todo-mode buffer on
|
||||||
quitting another buffer, which a dired bug fix had changed (see
|
quitting another buffer, which a dired bug fix had changed (see
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-07/msg00739.html).
|
https://lists.gnu.org/archive/html/emacs-devel/2017-07/msg00739.html).
|
||||||
|
|
||||||
2017-07-19 Tino Calancha <tino.calancha@gmail.com>
|
2017-07-19 Tino Calancha <tino.calancha@gmail.com>
|
||||||
|
|
||||||
|
@ -8146,8 +8146,8 @@
|
||||||
Port gnutls.c to older (buggier?) GnuTLS
|
Port gnutls.c to older (buggier?) GnuTLS
|
||||||
|
|
||||||
Problem reported for GnuTLS 3.2.1 by Glenn Morris in:
|
Problem reported for GnuTLS 3.2.1 by Glenn Morris in:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-07/msg00716.html
|
https://lists.gnu.org/archive/html/emacs-devel/2017-07/msg00716.html
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-07/msg00742.html
|
https://lists.gnu.org/archive/html/emacs-devel/2017-07/msg00742.html
|
||||||
Although I don't see how this bug can occur with vanilla GnuTLS 3.2.1,
|
Although I don't see how this bug can occur with vanilla GnuTLS 3.2.1,
|
||||||
perhaps hydra was using a modified GnuTLS.
|
perhaps hydra was using a modified GnuTLS.
|
||||||
* src/gnutls.c (Fgnutls_ciphers): Don't assume GNUTLS_CIPHER_NULL
|
* src/gnutls.c (Fgnutls_ciphers): Don't assume GNUTLS_CIPHER_NULL
|
||||||
|
@ -8663,8 +8663,8 @@
|
||||||
* lisp/faces.el (line-number): Don't use a fixed-pitch font, by
|
* lisp/faces.el (line-number): Don't use a fixed-pitch font, by
|
||||||
popular demand. For relevant discussions, see
|
popular demand. For relevant discussions, see
|
||||||
|
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-07/msg00433.html
|
https://lists.gnu.org/archive/html/emacs-devel/2017-07/msg00433.html
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-07/msg00445.html
|
https://lists.gnu.org/archive/html/emacs-devel/2017-07/msg00445.html
|
||||||
|
|
||||||
2017-07-14 Paul Eggert <eggert@cs.ucla.edu>
|
2017-07-14 Paul Eggert <eggert@cs.ucla.edu>
|
||||||
|
|
||||||
|
@ -10603,7 +10603,7 @@
|
||||||
Adjust lm-verify to accept current notices
|
Adjust lm-verify to accept current notices
|
||||||
|
|
||||||
Problem reported by Mike Kupfer in:
|
Problem reported by Mike Kupfer in:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-06/msg00512.html
|
https://lists.gnu.org/archive/html/emacs-devel/2017-06/msg00512.html
|
||||||
* lisp/emacs-lisp/lisp-mnt.el (lm-crack-copyright):
|
* lisp/emacs-lisp/lisp-mnt.el (lm-crack-copyright):
|
||||||
Do not require later lines in a copyright notice to have more
|
Do not require later lines in a copyright notice to have more
|
||||||
indentation than earlier lines.
|
indentation than earlier lines.
|
||||||
|
@ -12009,7 +12009,7 @@
|
||||||
(gdb-send): Don't increment gdb-control-level if the command
|
(gdb-send): Don't increment gdb-control-level if the command
|
||||||
matches gdb-python-guile-commands-regexp and has non-empty
|
matches gdb-python-guile-commands-regexp and has non-empty
|
||||||
arguments. Reported by David Boles <boles@ieee.org> in
|
arguments. Reported by David Boles <boles@ieee.org> in
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-06/msg00009.html.
|
https://lists.gnu.org/archive/html/emacs-devel/2017-06/msg00009.html.
|
||||||
|
|
||||||
2017-06-10 Eli Zaretskii <eliz@gnu.org>
|
2017-06-10 Eli Zaretskii <eliz@gnu.org>
|
||||||
|
|
||||||
|
@ -12707,7 +12707,7 @@
|
||||||
|
|
||||||
* src/doprnt.c (doprnt): Format "%%" correctly.
|
* src/doprnt.c (doprnt): Format "%%" correctly.
|
||||||
Problem reported by Philipp Stephani in:
|
Problem reported by Philipp Stephani in:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00901.html
|
https://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00901.html
|
||||||
|
|
||||||
2017-06-01 Paul Eggert <eggert@cs.ucla.edu>
|
2017-06-01 Paul Eggert <eggert@cs.ucla.edu>
|
||||||
|
|
||||||
|
@ -12806,7 +12806,7 @@
|
||||||
|
|
||||||
* lisp/emacs-lisp/eldoc.el (eldoc--supported-p): New function.
|
* lisp/emacs-lisp/eldoc.el (eldoc--supported-p): New function.
|
||||||
(turn-on-eldoc-mode, eldoc-mode): Use it.
|
(turn-on-eldoc-mode, eldoc-mode): Use it.
|
||||||
(http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00865.html)
|
(https://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00865.html)
|
||||||
|
|
||||||
2017-05-30 Glenn Morris <rgm@gnu.org>
|
2017-05-30 Glenn Morris <rgm@gnu.org>
|
||||||
|
|
||||||
|
@ -13638,7 +13638,7 @@
|
||||||
|
|
||||||
* lisp/net/tls.el (tls-program, tls-checktrust): Remove s_client.
|
* lisp/net/tls.el (tls-program, tls-checktrust): Remove s_client.
|
||||||
Ref http://bugs.debian.org/766397
|
Ref http://bugs.debian.org/766397
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2014-10/msg00803.html
|
https://lists.gnu.org/archive/html/emacs-devel/2014-10/msg00803.html
|
||||||
|
|
||||||
|
|
||||||
(cherry picked from commit 6e45de6bacc508db11b15b2c8ba86aad8c0570df)
|
(cherry picked from commit 6e45de6bacc508db11b15b2c8ba86aad8c0570df)
|
||||||
|
@ -14070,7 +14070,7 @@
|
||||||
|
|
||||||
* src/emacs-module.c (module_reset_handlerlist):
|
* src/emacs-module.c (module_reset_handlerlist):
|
||||||
Check handlerlist. Suggested by Philipp Stephani in:
|
Check handlerlist. Suggested by Philipp Stephani in:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00521.html
|
https://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00521.html
|
||||||
|
|
||||||
2017-05-20 Paul Eggert <eggert@cs.ucla.edu>
|
2017-05-20 Paul Eggert <eggert@cs.ucla.edu>
|
||||||
|
|
||||||
|
@ -14078,7 +14078,7 @@
|
||||||
|
|
||||||
* configure.ac (WERROR_CFLAGS): Omit -Wmissing-braces for Clang,
|
* configure.ac (WERROR_CFLAGS): Omit -Wmissing-braces for Clang,
|
||||||
to shut off a false alarm. Problem reportd by Philipp Stephani in:
|
to shut off a false alarm. Problem reportd by Philipp Stephani in:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00521.html
|
https://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00521.html
|
||||||
|
|
||||||
2017-05-20 Noam Postavsky <npostavs@gmail.com>
|
2017-05-20 Noam Postavsky <npostavs@gmail.com>
|
||||||
|
|
||||||
|
@ -14150,7 +14150,7 @@
|
||||||
|
|
||||||
* etc/PROBLEMS: Describe problems with Microsoft Intellipoint and
|
* etc/PROBLEMS: Describe problems with Microsoft Intellipoint and
|
||||||
mouse-2 events. For the details, see
|
mouse-2 events. For the details, see
|
||||||
http://lists.gnu.org/archive/html/help-emacs-windows/2017-05/msg00009.html.
|
https://lists.gnu.org/archive/html/help-emacs-windows/2017-05/msg00009.html.
|
||||||
|
|
||||||
2017-05-19 Nick Helm <nick@tenpoint.co.nz> (tiny change)
|
2017-05-19 Nick Helm <nick@tenpoint.co.nz> (tiny change)
|
||||||
|
|
||||||
|
@ -14245,7 +14245,7 @@
|
||||||
Attempt to work around macOS vfork bug
|
Attempt to work around macOS vfork bug
|
||||||
|
|
||||||
Problem reported by YAMAMOTO Mitsuharu in:
|
Problem reported by YAMAMOTO Mitsuharu in:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00342.html
|
https://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00342.html
|
||||||
This is related to the fix for Bug#26397.
|
This is related to the fix for Bug#26397.
|
||||||
* src/callproc.c (call_process_cleanup, call_process) [!MSDOS]:
|
* src/callproc.c (call_process_cleanup, call_process) [!MSDOS]:
|
||||||
Report internal error if wait_for_termination fails.
|
Report internal error if wait_for_termination fails.
|
||||||
|
@ -14269,7 +14269,7 @@
|
||||||
Don’t compile the (DARWIN_OS_CASE_SENSITIVE_FIXME == 2)
|
Don’t compile the (DARWIN_OS_CASE_SENSITIVE_FIXME == 2)
|
||||||
code unless DARWIN_OS_CASE_SENSITIVE_FIXME is 2.
|
code unless DARWIN_OS_CASE_SENSITIVE_FIXME is 2.
|
||||||
Problem reported by Philipp Stephani in:
|
Problem reported by Philipp Stephani in:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00495.html
|
https://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00495.html
|
||||||
|
|
||||||
2017-05-19 Paul Eggert <eggert@cs.ucla.edu>
|
2017-05-19 Paul Eggert <eggert@cs.ucla.edu>
|
||||||
|
|
||||||
|
@ -14277,7 +14277,7 @@
|
||||||
|
|
||||||
* configure.ac (WERROR_CFLAGS): Omit -Wdouble-promotion if clang.
|
* configure.ac (WERROR_CFLAGS): Omit -Wdouble-promotion if clang.
|
||||||
Problem reported by Philipp Stephani in:
|
Problem reported by Philipp Stephani in:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00495.html
|
https://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00495.html
|
||||||
|
|
||||||
2017-05-19 Paul Eggert <eggert@cs.ucla.edu>
|
2017-05-19 Paul Eggert <eggert@cs.ucla.edu>
|
||||||
|
|
||||||
|
@ -14362,7 +14362,7 @@
|
||||||
Avoid undefined behavior in struct sockaddr
|
Avoid undefined behavior in struct sockaddr
|
||||||
|
|
||||||
Problem noted by Philipp Stephani in:
|
Problem noted by Philipp Stephani in:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00391.html
|
https://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00391.html
|
||||||
* src/conf_post.h (ATTRIBUTE_MAY_ALIAS, DECLARE_POINTER_ALIAS):
|
* src/conf_post.h (ATTRIBUTE_MAY_ALIAS, DECLARE_POINTER_ALIAS):
|
||||||
New macros.
|
New macros.
|
||||||
* src/process.c (conv_sockaddr_to_lisp, conv_lisp_to_sockaddr)
|
* src/process.c (conv_sockaddr_to_lisp, conv_lisp_to_sockaddr)
|
||||||
|
@ -14387,7 +14387,7 @@
|
||||||
Work around AddressSanitizer bug with vfork
|
Work around AddressSanitizer bug with vfork
|
||||||
|
|
||||||
Problem reported by Jim Meyering in:
|
Problem reported by Jim Meyering in:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00246.html
|
https://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00246.html
|
||||||
* src/conf_post.h (vfork) [ADDRESS_SANITIZER]: Define to fork.
|
* src/conf_post.h (vfork) [ADDRESS_SANITIZER]: Define to fork.
|
||||||
Unfortunately with the AddressSanitizer in Fedora 25 x86-64, the
|
Unfortunately with the AddressSanitizer in Fedora 25 x86-64, the
|
||||||
vforked child messes up the parent’s shadow memory. This is too
|
vforked child messes up the parent’s shadow memory. This is too
|
||||||
|
@ -14452,7 +14452,7 @@
|
||||||
multiple calls and struct literals in the last case of a switch.
|
multiple calls and struct literals in the last case of a switch.
|
||||||
The old code ran afoul of GCC bug 80659, which caused an internal
|
The old code ran afoul of GCC bug 80659, which caused an internal
|
||||||
compiler error. Problem reported by Jim Meyering in:
|
compiler error. Problem reported by Jim Meyering in:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00182.html
|
https://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00182.html
|
||||||
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80659
|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80659
|
||||||
|
|
||||||
2017-05-16 Paul Eggert <eggert@cs.ucla.edu>
|
2017-05-16 Paul Eggert <eggert@cs.ucla.edu>
|
||||||
|
@ -14563,9 +14563,9 @@
|
||||||
* src/process.c (connect_network_socket):
|
* src/process.c (connect_network_socket):
|
||||||
Use struct sockaddr_storage, not struct sockaddr_in, to store info
|
Use struct sockaddr_storage, not struct sockaddr_in, to store info
|
||||||
about a socket address. Problem reported by Philipp Stephani in:
|
about a socket address. Problem reported by Philipp Stephani in:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00314.html
|
https://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00314.html
|
||||||
This fix is based on a patch by Philipp in:
|
This fix is based on a patch by Philipp in:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00357.html
|
https://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00357.html
|
||||||
|
|
||||||
2017-05-14 Gemini Lasswell <gazally@runbox.com>
|
2017-05-14 Gemini Lasswell <gazally@runbox.com>
|
||||||
|
|
||||||
|
@ -15156,7 +15156,7 @@
|
||||||
Compare unqualified type to Lisp_Object, to do the right thing
|
Compare unqualified type to Lisp_Object, to do the right thing
|
||||||
when the expression has type ‘Lisp_Object const’.
|
when the expression has type ‘Lisp_Object const’.
|
||||||
Problem reported by Eli Zaretskii in:
|
Problem reported by Eli Zaretskii in:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00138.html
|
https://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00138.html
|
||||||
|
|
||||||
2017-05-06 Paul Eggert <eggert@cs.ucla.edu>
|
2017-05-06 Paul Eggert <eggert@cs.ucla.edu>
|
||||||
|
|
||||||
|
@ -15295,7 +15295,7 @@
|
||||||
|
|
||||||
* lisp/emacs-lisp/cl-generic.el (cl-defmethod): Denote the
|
* lisp/emacs-lisp/cl-generic.el (cl-defmethod): Denote the
|
||||||
edebug spec part for qualifiers as [&rest atom], per
|
edebug spec part for qualifiers as [&rest atom], per
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00053.html.
|
https://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00053.html.
|
||||||
|
|
||||||
2017-05-05 Mike Kupfer <mkupfer@alum.berkeley.edu>
|
2017-05-05 Mike Kupfer <mkupfer@alum.berkeley.edu>
|
||||||
|
|
||||||
|
@ -16077,7 +16077,7 @@
|
||||||
|
|
||||||
* lisp/net/tls.el (tls-program, tls-checktrust): Remove s_client.
|
* lisp/net/tls.el (tls-program, tls-checktrust): Remove s_client.
|
||||||
Ref http://bugs.debian.org/766397
|
Ref http://bugs.debian.org/766397
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2014-10/msg00803.html
|
https://lists.gnu.org/archive/html/emacs-devel/2014-10/msg00803.html
|
||||||
|
|
||||||
2017-04-25 Glenn Morris <rgm@gnu.org>
|
2017-04-25 Glenn Morris <rgm@gnu.org>
|
||||||
|
|
||||||
|
@ -16706,7 +16706,7 @@
|
||||||
|
|
||||||
* src/lisp.h (STRING_SET_CHARS): Add an assertion and commentary
|
* src/lisp.h (STRING_SET_CHARS): Add an assertion and commentary
|
||||||
to prevent incorrect usage. For details, see this discussion:
|
to prevent incorrect usage. For details, see this discussion:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-04/msg00412.html.
|
https://lists.gnu.org/archive/html/emacs-devel/2017-04/msg00412.html.
|
||||||
|
|
||||||
2017-04-16 Eli Zaretskii <eliz@gnu.org>
|
2017-04-16 Eli Zaretskii <eliz@gnu.org>
|
||||||
|
|
||||||
|
@ -18130,7 +18130,7 @@
|
||||||
|
|
||||||
* lisp/emacs-lisp/package.el (package-archives):
|
* lisp/emacs-lisp/package.el (package-archives):
|
||||||
Default to https for elpa.gnu.org if gnutls is available. Ref:
|
Default to https for elpa.gnu.org if gnutls is available. Ref:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00130.html
|
https://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00130.html
|
||||||
|
|
||||||
2017-04-04 Paul Eggert <eggert@cs.ucla.edu>
|
2017-04-04 Paul Eggert <eggert@cs.ucla.edu>
|
||||||
|
|
||||||
|
@ -18314,7 +18314,7 @@
|
||||||
|
|
||||||
Throw a `search-failed' derived error in Info search
|
Throw a `search-failed' derived error in Info search
|
||||||
|
|
||||||
The original fix for Bug#6106 switched from signalling `search-failed'
|
The original fix for Bug#6106 switched from signaling `search-failed'
|
||||||
to `user-error'. However, this breaks incremental searching over
|
to `user-error'. However, this breaks incremental searching over
|
||||||
multiple nodes because the isearch code doesn't expect a `user-error'.
|
multiple nodes because the isearch code doesn't expect a `user-error'.
|
||||||
|
|
||||||
|
@ -18369,7 +18369,7 @@
|
||||||
Fix bugs in simplified test dependencies
|
Fix bugs in simplified test dependencies
|
||||||
|
|
||||||
Problem reported by Glenn Morris in:
|
Problem reported by Glenn Morris in:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-04/msg00017.html
|
https://lists.gnu.org/archive/html/emacs-devel/2017-04/msg00017.html
|
||||||
* test/Makefile.in (LOGFILES, TESTS): Omit leading "./".
|
* test/Makefile.in (LOGFILES, TESTS): Omit leading "./".
|
||||||
(TESTS): Omit unnecessary patsubst.
|
(TESTS): Omit unnecessary patsubst.
|
||||||
(test_template): Redo dependency heuristic, hopefully
|
(test_template): Redo dependency heuristic, hopefully
|
||||||
|
@ -18778,7 +18778,7 @@
|
||||||
Fix redisplay glitches due to recent change in redisplay_internal
|
Fix redisplay glitches due to recent change in redisplay_internal
|
||||||
|
|
||||||
* src/xdisp.c (redisplay_internal): A better fix for bug#26097.
|
* src/xdisp.c (redisplay_internal): A better fix for bug#26097.
|
||||||
See http://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00695.html
|
See https://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00695.html
|
||||||
for the problems caused by the original fix.
|
for the problems caused by the original fix.
|
||||||
|
|
||||||
2017-03-26 Michael Albinus <michael.albinus@gmx.de>
|
2017-03-26 Michael Albinus <michael.albinus@gmx.de>
|
||||||
|
@ -18938,7 +18938,7 @@
|
||||||
Don’t require chown/chgrp for game installation
|
Don’t require chown/chgrp for game installation
|
||||||
|
|
||||||
Problem reported by Joseph Mingrone in:
|
Problem reported by Joseph Mingrone in:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00622.html
|
https://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00622.html
|
||||||
* lib-src/Makefile.in (exp_archlibdir): Don’t fail if chown or
|
* lib-src/Makefile.in (exp_archlibdir): Don’t fail if chown or
|
||||||
chgrp fails with update-game-score and the game directory.
|
chgrp fails with update-game-score and the game directory.
|
||||||
Instead, expect the installer to fix this up afterwards.
|
Instead, expect the installer to fix this up afterwards.
|
||||||
|
@ -19072,7 +19072,7 @@
|
||||||
Don’t remove dependency files when configuring
|
Don’t remove dependency files when configuring
|
||||||
|
|
||||||
Problem reported by Tom Tromey in:
|
Problem reported by Tom Tromey in:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00533.html
|
https://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00533.html
|
||||||
* configure.ac: Don’t remove */*.o and */deps/* when
|
* configure.ac: Don’t remove */*.o and */deps/* when
|
||||||
--enable-autodepend is in effect.
|
--enable-autodepend is in effect.
|
||||||
|
|
||||||
|
@ -19081,7 +19081,7 @@
|
||||||
Make --without-pop the default.
|
Make --without-pop the default.
|
||||||
|
|
||||||
Suggested by Angelo Graziosi in:
|
Suggested by Angelo Graziosi in:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00431.html
|
https://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00431.html
|
||||||
* configure.ac: Change the default from --with-pop to
|
* configure.ac: Change the default from --with-pop to
|
||||||
--without-pop. Adjust diagnostics to match.
|
--without-pop. Adjust diagnostics to match.
|
||||||
|
|
||||||
|
@ -19118,7 +19118,7 @@
|
||||||
org-src fontify buffers" the hooks were enabled also for modifications
|
org-src fontify buffers" the hooks were enabled also for modifications
|
||||||
to the original org buffer. This causes fontification errors when
|
to the original org buffer. This causes fontification errors when
|
||||||
combined with certain packages, as reported in
|
combined with certain packages, as reported in
|
||||||
http://lists.gnu.org/archive/html/emacs-orgmode/2017-03/msg00420.html.
|
https://lists.gnu.org/archive/html/emacs-orgmode/2017-03/msg00420.html.
|
||||||
|
|
||||||
* lisp/org/org-src.el (org-src-font-lock-fontify-block): Reduce scope
|
* lisp/org/org-src.el (org-src-font-lock-fontify-block): Reduce scope
|
||||||
of inhibit-modification-hooks let-binding.
|
of inhibit-modification-hooks let-binding.
|
||||||
|
@ -19175,7 +19175,7 @@
|
||||||
Fix problem with out-of-date dependencies
|
Fix problem with out-of-date dependencies
|
||||||
|
|
||||||
Problem reported by Robert Marshall in:
|
Problem reported by Robert Marshall in:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00501.html
|
https://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00501.html
|
||||||
Although this problem has been with us for a while, the recent
|
Although this problem has been with us for a while, the recent
|
||||||
change from Automake to GNU Make exposed it again.
|
change from Automake to GNU Make exposed it again.
|
||||||
* configure.ac (AUTO_DEPEND): When autodepending, clean out any
|
* configure.ac (AUTO_DEPEND): When autodepending, clean out any
|
||||||
|
@ -19405,7 +19405,7 @@
|
||||||
Port out-of-source builds to windows-nt
|
Port out-of-source builds to windows-nt
|
||||||
|
|
||||||
Problem reported by Angelo Graziosi in:
|
Problem reported by Angelo Graziosi in:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00431.html
|
https://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00431.html
|
||||||
* lib/Makefile.in: Prepend $(srcdir) to ../nt/gnulib-cfg.mk,
|
* lib/Makefile.in: Prepend $(srcdir) to ../nt/gnulib-cfg.mk,
|
||||||
to handle out-of-source builds if windows-nt.
|
to handle out-of-source builds if windows-nt.
|
||||||
|
|
||||||
|
@ -20082,7 +20082,7 @@
|
||||||
overlay, protect against that overlay's end point being outside of
|
overlay, protect against that overlay's end point being outside of
|
||||||
the narrowed region.
|
the narrowed region.
|
||||||
Reported by Filipe Silva <filipe.silva@gmail.com> in
|
Reported by Filipe Silva <filipe.silva@gmail.com> in
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00176.html.
|
https://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00176.html.
|
||||||
|
|
||||||
2017-03-10 Glenn Morris <rgm@gnu.org>
|
2017-03-10 Glenn Morris <rgm@gnu.org>
|
||||||
|
|
||||||
|
@ -20221,7 +20221,7 @@
|
||||||
min and max should not return markers
|
min and max should not return markers
|
||||||
|
|
||||||
Problem reported by Glenn Morris in:
|
Problem reported by Glenn Morris in:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00147.html
|
https://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00147.html
|
||||||
* src/data.c (minmax_driver): Convert any marker result to an
|
* src/data.c (minmax_driver): Convert any marker result to an
|
||||||
integer, since some callers assume this.
|
integer, since some callers assume this.
|
||||||
* test/src/data-tests.el (data-tests-max, data-tests-min):
|
* test/src/data-tests.el (data-tests-max, data-tests-min):
|
||||||
|
@ -22803,9 +22803,9 @@
|
||||||
Make FOR_EACH_TAIL more like other FOR_EACH macros
|
Make FOR_EACH_TAIL more like other FOR_EACH macros
|
||||||
|
|
||||||
See comments by Stefan Monnier in:
|
See comments by Stefan Monnier in:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-02/msg00181.html
|
https://lists.gnu.org/archive/html/emacs-devel/2017-02/msg00181.html
|
||||||
and by Eli Zaretskii in:
|
and by Eli Zaretskii in:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-02/msg00207.html
|
https://lists.gnu.org/archive/html/emacs-devel/2017-02/msg00207.html
|
||||||
* src/fns.c (internal_equal): Do not bypass check for depth
|
* src/fns.c (internal_equal): Do not bypass check for depth
|
||||||
overflow when tail-recursing via a dotted list tail or an overlay
|
overflow when tail-recursing via a dotted list tail or an overlay
|
||||||
plist, to avoid a rare infloop.
|
plist, to avoid a rare infloop.
|
||||||
|
@ -23174,7 +23174,7 @@
|
||||||
|
|
||||||
* lisp/progmodes/xref.el (xref-collect-matches): Use '-E'
|
* lisp/progmodes/xref.el (xref-collect-matches): Use '-E'
|
||||||
together with '-e', as suggested by Noam Postavsky
|
together with '-e', as suggested by Noam Postavsky
|
||||||
(http://lists.gnu.org/archive/html/emacs-devel/2017-01/msg00780.html).
|
(https://lists.gnu.org/archive/html/emacs-devel/2017-01/msg00780.html).
|
||||||
|
|
||||||
2017-02-03 Paul Eggert <eggert@cs.ucla.edu>
|
2017-02-03 Paul Eggert <eggert@cs.ucla.edu>
|
||||||
|
|
||||||
|
@ -23301,7 +23301,7 @@
|
||||||
Fix quitting bug when buffers are frozen
|
Fix quitting bug when buffers are frozen
|
||||||
|
|
||||||
Problem noted by Eli Zaretskii in:
|
Problem noted by Eli Zaretskii in:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-01/msg00721.html
|
https://lists.gnu.org/archive/html/emacs-devel/2017-01/msg00721.html
|
||||||
This patch also fixes some other issues in that report.
|
This patch also fixes some other issues in that report.
|
||||||
* src/lisp.h (incr_rarely_quit): Remove.
|
* src/lisp.h (incr_rarely_quit): Remove.
|
||||||
All callers changed to use rarely_quit directly.
|
All callers changed to use rarely_quit directly.
|
||||||
|
@ -23319,7 +23319,7 @@
|
||||||
This fixes some infinite loops that cannot be quitted out of,
|
This fixes some infinite loops that cannot be quitted out of,
|
||||||
e.g., (defun foo () (nth most-positive-fixnum '#1=(1 . #1#)))
|
e.g., (defun foo () (nth most-positive-fixnum '#1=(1 . #1#)))
|
||||||
when byte-compiled and when run under X. See:
|
when byte-compiled and when run under X. See:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-01/msg00577.html
|
https://lists.gnu.org/archive/html/emacs-devel/2017-01/msg00577.html
|
||||||
This also attempts to keep the performance improvements I recently
|
This also attempts to keep the performance improvements I recently
|
||||||
added, as much as possible under the constraint that the infloops
|
added, as much as possible under the constraint that the infloops
|
||||||
must be caught. In some cases this fixes infloop bugs recently
|
must be caught. In some cases this fixes infloop bugs recently
|
||||||
|
@ -23448,7 +23448,7 @@
|
||||||
|
|
||||||
* lisp/net/tramp.el (tramp-accept-process-output): Change argument
|
* lisp/net/tramp.el (tramp-accept-process-output): Change argument
|
||||||
list. Make it work when called inside a timer. See
|
list. Make it work when called inside a timer. See
|
||||||
<http://lists.gnu.org/archive/html/tramp-devel/2017-01/msg00010.html>.
|
<https://lists.gnu.org/archive/html/tramp-devel/2017-01/msg00010.html>.
|
||||||
|
|
||||||
2017-01-31 Eli Zaretskii <eliz@gnu.org>
|
2017-01-31 Eli Zaretskii <eliz@gnu.org>
|
||||||
|
|
||||||
|
@ -23835,7 +23835,7 @@
|
||||||
* lisp/textmodes/reftex-vars.el (reftex-cite-format-builtin): Add
|
* lisp/textmodes/reftex-vars.el (reftex-cite-format-builtin): Add
|
||||||
\citetitle[*] to `reftex-cite-format' and bind them to keys i/I
|
\citetitle[*] to `reftex-cite-format' and bind them to keys i/I
|
||||||
per user request
|
per user request
|
||||||
http://lists.gnu.org/archive/html/auctex/2017-01/msg00049.html.
|
https://lists.gnu.org/archive/html/auctex/2017-01/msg00049.html.
|
||||||
|
|
||||||
2017-01-27 Lars Ingebrigtsen <larsi@gnus.org>
|
2017-01-27 Lars Ingebrigtsen <larsi@gnus.org>
|
||||||
|
|
||||||
|
@ -23872,7 +23872,7 @@
|
||||||
|
|
||||||
* lisp/shell.el (shell-mode): Use setq-local. Set
|
* lisp/shell.el (shell-mode): Use setq-local. Set
|
||||||
scroll-conservatively to 101 locally. See the discussion at
|
scroll-conservatively to 101 locally. See the discussion at
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2016-12/msg00736.html
|
https://lists.gnu.org/archive/html/emacs-devel/2016-12/msg00736.html
|
||||||
for the reasons.
|
for the reasons.
|
||||||
|
|
||||||
2017-01-27 Michael Hoffman <emacs-hoffman@sneakemail.com> (tiny change)
|
2017-01-27 Michael Hoffman <emacs-hoffman@sneakemail.com> (tiny change)
|
||||||
|
@ -24534,7 +24534,7 @@
|
||||||
* lisp/simple.el (region-bounds): New function.
|
* lisp/simple.el (region-bounds): New function.
|
||||||
|
|
||||||
(region-noncontiguous-p): Use it.
|
(region-noncontiguous-p): Use it.
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-01/msg00044.html
|
https://lists.gnu.org/archive/html/emacs-devel/2017-01/msg00044.html
|
||||||
|
|
||||||
2017-01-21 Alan Mackenzie <acm@muc.de>
|
2017-01-21 Alan Mackenzie <acm@muc.de>
|
||||||
|
|
||||||
|
@ -25369,7 +25369,7 @@
|
||||||
* lisp/textmodes/ispell.el (ispell-begin-skip-region-regexp):
|
* lisp/textmodes/ispell.el (ispell-begin-skip-region-regexp):
|
||||||
Protect against 'ispell-skip-region-alist' being nil. Reported by
|
Protect against 'ispell-skip-region-alist' being nil. Reported by
|
||||||
Ernest Adrogué <nfdisco@gmail.com>, see
|
Ernest Adrogué <nfdisco@gmail.com>, see
|
||||||
http://lists.gnu.org/archive/html/help-gnu-emacs/2017-01/msg00007.html.
|
https://lists.gnu.org/archive/html/help-gnu-emacs/2017-01/msg00007.html.
|
||||||
|
|
||||||
2017-01-06 Philipp Stephani <phst@google.com>
|
2017-01-06 Philipp Stephani <phst@google.com>
|
||||||
|
|
||||||
|
@ -25662,7 +25662,7 @@
|
||||||
Remove mistakenly-added files
|
Remove mistakenly-added files
|
||||||
|
|
||||||
Problem reported by Glenn Morris in:
|
Problem reported by Glenn Morris in:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2017-01/msg00008.html
|
https://lists.gnu.org/archive/html/emacs-devel/2017-01/msg00008.html
|
||||||
* lisp/gnus/gnus-ems.el, lisp/gnus/gnus-sync.el:
|
* lisp/gnus/gnus-ems.el, lisp/gnus/gnus-sync.el:
|
||||||
* lisp/gnus/messcompat.el, lisp/nxml/nxml-glyph.el:
|
* lisp/gnus/messcompat.el, lisp/nxml/nxml-glyph.el:
|
||||||
* lisp/nxml/nxml-uchnm.el, lisp/obsolete/awk-mode.el:
|
* lisp/nxml/nxml-uchnm.el, lisp/obsolete/awk-mode.el:
|
||||||
|
@ -25982,7 +25982,7 @@
|
||||||
|
|
||||||
This avoids the confusion of using two different phrases "main thread"
|
This avoids the confusion of using two different phrases "main thread"
|
||||||
and "primary thread" internally to mean the same thing. See:
|
and "primary thread" internally to mean the same thing. See:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2016-12/msg01142.html
|
https://lists.gnu.org/archive/html/emacs-devel/2016-12/msg01142.html
|
||||||
* src/thread.c (main_thread): Rename from primary_thread,
|
* src/thread.c (main_thread): Rename from primary_thread,
|
||||||
since the new name no longer clashes with main_thread_id
|
since the new name no longer clashes with main_thread_id
|
||||||
and Emacs internals normally call this the "main thread".
|
and Emacs internals normally call this the "main thread".
|
||||||
|
@ -26175,7 +26175,7 @@
|
||||||
Simplify prog1 implementation
|
Simplify prog1 implementation
|
||||||
|
|
||||||
Inspired by a suggestion from Chris Gregory in:
|
Inspired by a suggestion from Chris Gregory in:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2016-12/msg00965.html
|
https://lists.gnu.org/archive/html/emacs-devel/2016-12/msg00965.html
|
||||||
On my platform, this generates exactly the same machine insns.
|
On my platform, this generates exactly the same machine insns.
|
||||||
* src/eval.c (prog_ignore): Rename from unwind_body, since
|
* src/eval.c (prog_ignore): Rename from unwind_body, since
|
||||||
it’s more general than that. All callers changed.
|
it’s more general than that. All callers changed.
|
||||||
|
@ -26326,7 +26326,7 @@
|
||||||
|
|
||||||
This fixes a regression introduced in
|
This fixes a regression introduced in
|
||||||
|
|
||||||
http://git.savannah.gnu.org/gitweb/?p=emacs.git;a=commit;h=2c8a7e50d24daf19ea7d86f1cfeaa98a41c56085
|
https://git.savannah.gnu.org/gitweb/?p=emacs.git;a=commit;h=2c8a7e50d24daf19ea7d86f1cfeaa98a41c56085
|
||||||
|
|
||||||
This bug was filed in
|
This bug was filed in
|
||||||
|
|
||||||
|
@ -26585,7 +26585,7 @@
|
||||||
therefore don't need to be inserted into the red-black tree, so
|
therefore don't need to be inserted into the red-black tree, so
|
||||||
mem_find will never find them. Reported by Daniel Colascione
|
mem_find will never find them. Reported by Daniel Colascione
|
||||||
<dancol@dancol.org> in
|
<dancol@dancol.org> in
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2016-12/msg00817.html.
|
https://lists.gnu.org/archive/html/emacs-devel/2016-12/msg00817.html.
|
||||||
|
|
||||||
2016-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
|
2016-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||||
|
|
||||||
|
@ -26618,7 +26618,7 @@
|
||||||
Port dumping better to WSL
|
Port dumping better to WSL
|
||||||
|
|
||||||
Problem reported by Angelo Graziosi in:
|
Problem reported by Angelo Graziosi in:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2016-12/msg00822.html
|
https://lists.gnu.org/archive/html/emacs-devel/2016-12/msg00822.html
|
||||||
* src/sysdep.c (disable_address_randomization):
|
* src/sysdep.c (disable_address_randomization):
|
||||||
Detect buggy platforms where 'personality' always returns 0.
|
Detect buggy platforms where 'personality' always returns 0.
|
||||||
|
|
||||||
|
@ -26967,7 +26967,7 @@
|
||||||
needs to be, which then causes copy_executable_and_dump_data to
|
needs to be, which then causes copy_executable_and_dump_data to
|
||||||
write beyond the requested size of the file mapping, thus relying
|
write beyond the requested size of the file mapping, thus relying
|
||||||
on the OS roundup to page boundary to save us from ourselves. See
|
on the OS roundup to page boundary to save us from ourselves. See
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2016-12/msg00642.html
|
https://lists.gnu.org/archive/html/emacs-devel/2016-12/msg00642.html
|
||||||
for the details.
|
for the details.
|
||||||
|
|
||||||
* lib/stdio-impl.h: Revert the workaround fix of not including
|
* lib/stdio-impl.h: Revert the workaround fix of not including
|
||||||
|
@ -27501,7 +27501,7 @@
|
||||||
Use C99 syntax for font drivers
|
Use C99 syntax for font drivers
|
||||||
|
|
||||||
Problem reported by Daniel Colascione in:
|
Problem reported by Daniel Colascione in:
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2016-12/msg00515.html
|
https://lists.gnu.org/archive/html/emacs-devel/2016-12/msg00515.html
|
||||||
* src/ftcrfont.c (ftcrfont_driver):
|
* src/ftcrfont.c (ftcrfont_driver):
|
||||||
* src/ftfont.c (ftfont_driver):
|
* src/ftfont.c (ftfont_driver):
|
||||||
* src/ftxfont.c (ftxfont_driver):
|
* src/ftxfont.c (ftxfont_driver):
|
||||||
|
@ -28599,7 +28599,7 @@
|
||||||
http://trac.common-lisp.net/bordeaux-threads/wiki/ApiDocumentation
|
http://trac.common-lisp.net/bordeaux-threads/wiki/ApiDocumentation
|
||||||
|
|
||||||
... but not identically. In particular I chose not to implement
|
... but not identically. In particular I chose not to implement
|
||||||
interrupt-thread or destroy-thread, but instead a thread-signalling
|
interrupt-thread or destroy-thread, but instead a thread-signaling
|
||||||
approach.
|
approach.
|
||||||
|
|
||||||
I'm still undecided about *default-special-bindings* (which I did not
|
I'm still undecided about *default-special-bindings* (which I did not
|
||||||
|
|
|
@ -114,7 +114,7 @@ Root must be the root of an Emacs source tree."
|
||||||
;; configure.ac with sed, rather than duplicating the information.
|
;; configure.ac with sed, rather than duplicating the information.
|
||||||
(set-version-in-file root "msdos/sed2v2.inp" version
|
(set-version-in-file root "msdos/sed2v2.inp" version
|
||||||
(rx (and bol "/^#undef " (1+ not-newline)
|
(rx (and bol "/^#undef " (1+ not-newline)
|
||||||
"define VERSION" (1+ space) "\""
|
"define PACKAGE_VERSION" (1+ space) "\""
|
||||||
(submatch (1+ (in "0-9."))))))
|
(submatch (1+ (in "0-9."))))))
|
||||||
;; Major version only.
|
;; Major version only.
|
||||||
(when (string-match "\\([0-9]\\{2,\\}\\)" version)
|
(when (string-match "\\([0-9]\\{2,\\}\\)" version)
|
||||||
|
|
|
@ -95,13 +95,16 @@ normal bug reporting.)
|
||||||
|
|
||||||
** When reporting a new bug, to send a Cc to another address
|
** When reporting a new bug, to send a Cc to another address
|
||||||
(e.g. bug-cc-mode@gnu.org), do NOT just use a Cc: header.
|
(e.g. bug-cc-mode@gnu.org), do NOT just use a Cc: header.
|
||||||
Instead, use "X-Debbugs-CC:". This ensures the Cc address will get a
|
Instead, use "X-Debbugs-CC:". This ensures the Cc address(es) will get a
|
||||||
mail with the bug report number in. If you do not do this, each reply
|
mail with the bug report number in. If you do not do this, each reply
|
||||||
in the subsequent discussion might end up creating a new bug.
|
in the subsequent discussion might end up creating a new bug.
|
||||||
This is annoying. (So annoying that a form of message-id tracking has
|
This is annoying. (So annoying that a form of message-id tracking has
|
||||||
been implemented to hopefully stop this happening, but it is still
|
been implemented to hopefully stop this happening, but it is still
|
||||||
better to use X-Debbugs-CC.)
|
better to use X-Debbugs-CC.)
|
||||||
|
|
||||||
|
If you want to send copies to more than one address, add them
|
||||||
|
comma-separated in only one X-Debbugs-CC line.
|
||||||
|
|
||||||
Like any X-Debbugs- header, this one can also be specified in the
|
Like any X-Debbugs- header, this one can also be specified in the
|
||||||
pseudo-header (see below), if your mail client does not let you add
|
pseudo-header (see below), if your mail client does not let you add
|
||||||
"X-" headers.
|
"X-" headers.
|
||||||
|
|
|
@ -44,7 +44,7 @@ if test "$at_sign" != @; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check the log entry.
|
# Check the log entry.
|
||||||
exec $awk -v at_sign="$at_sign" -v cent_sign="$cent_sign" '
|
exec $awk -v at_sign="$at_sign" -v cent_sign="$cent_sign" -v file="$1" '
|
||||||
BEGIN {
|
BEGIN {
|
||||||
# These regular expressions assume traditional Unix unibyte behavior.
|
# These regular expressions assume traditional Unix unibyte behavior.
|
||||||
# They are needed for old or broken versions of awk, e.g.,
|
# They are needed for old or broken versions of awk, e.g.,
|
||||||
|
@ -66,8 +66,12 @@ exec $awk -v at_sign="$at_sign" -v cent_sign="$cent_sign" '
|
||||||
non_print = "[^[:print:]]"
|
non_print = "[^[:print:]]"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
c_lower = "abcdefghijklmnopqrstuvwxyz"
|
||||||
|
unsafe_gnu_url = "(http|ftp)://([" c_lower ".]*\\.)?(gnu|fsf)\\.org"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{ input[NR] = $0 }
|
||||||
|
|
||||||
/^#/ {
|
/^#/ {
|
||||||
# Ignore every line after a scissors line.
|
# Ignore every line after a scissors line.
|
||||||
if (/^# *---* *(>[8%]|[8%]<) *---* *$/) { exit }
|
if (/^# *---* *(>[8%]|[8%]<) *---* *$/) { exit }
|
||||||
|
@ -125,6 +129,10 @@ exec $awk -v at_sign="$at_sign" -v cent_sign="$cent_sign" '
|
||||||
status = 1
|
status = 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$0 ~ unsafe_gnu_url {
|
||||||
|
needs_rewriting = 1
|
||||||
|
}
|
||||||
|
|
||||||
$0 ~ non_print {
|
$0 ~ non_print {
|
||||||
print "Unprintable character in commit message"
|
print "Unprintable character in commit message"
|
||||||
status = 1
|
status = 1
|
||||||
|
@ -135,6 +143,21 @@ exec $awk -v at_sign="$at_sign" -v cent_sign="$cent_sign" '
|
||||||
print "Empty commit message"
|
print "Empty commit message"
|
||||||
status = 1
|
status = 1
|
||||||
}
|
}
|
||||||
|
if (status == 0 && needs_rewriting) {
|
||||||
|
for (i = 1; i <= NR; i++) {
|
||||||
|
line = input[i]
|
||||||
|
while (match(line, unsafe_gnu_url)) {
|
||||||
|
prefix = substr(line, 1, RSTART - 1)
|
||||||
|
suffix = substr(line, RSTART)
|
||||||
|
line = prefix "https:" substr(suffix, 5 + (suffix ~ /^http:/))
|
||||||
|
}
|
||||||
|
print line >file
|
||||||
|
}
|
||||||
|
if (close(file) != 0) {
|
||||||
|
print "Cannot rewrite: " file
|
||||||
|
status = 1
|
||||||
|
}
|
||||||
|
}
|
||||||
if (status != 0) {
|
if (status != 0) {
|
||||||
print "Commit aborted; please see the file 'CONTRIBUTE'"
|
print "Commit aborted; please see the file 'CONTRIBUTE'"
|
||||||
}
|
}
|
||||||
|
|
24
config.bat
24
config.bat
|
@ -189,9 +189,6 @@ rm -f junk.c junk junk.exe
|
||||||
update config.h2 config.h >nul
|
update config.h2 config.h >nul
|
||||||
rm -f config.tmp config.h2
|
rm -f config.tmp config.h2
|
||||||
|
|
||||||
rem On my system dir.h gets in the way. It's a VMS file so who cares.
|
|
||||||
if exist dir.h ren dir.h vmsdir.h
|
|
||||||
|
|
||||||
rem Create "makefile" from "makefile.in".
|
rem Create "makefile" from "makefile.in".
|
||||||
rm -f Makefile makefile.tmp
|
rm -f Makefile makefile.tmp
|
||||||
copy Makefile.in+deps.mk makefile.tmp
|
copy Makefile.in+deps.mk makefile.tmp
|
||||||
|
@ -222,6 +219,10 @@ sed -e "/^LIBXML2_LIBS *=/s/=/= -lxml2 -lz -liconv/" <Makefile >makefile.tmp
|
||||||
sed -e "/^LIBXML2_CFLAGS *=/s|=|= -I/dev/env/DJDIR/include/libxml2|" <makefile.tmp >Makefile
|
sed -e "/^LIBXML2_CFLAGS *=/s|=|= -I/dev/env/DJDIR/include/libxml2|" <makefile.tmp >Makefile
|
||||||
rm -f makefile.tmp
|
rm -f makefile.tmp
|
||||||
:src7
|
:src7
|
||||||
|
Rem Create .d files for new files in src/
|
||||||
|
If Not Exist deps\stamp mkdir deps
|
||||||
|
for %%f in (*.c) do @call ..\msdos\depfiles.bat %%f
|
||||||
|
echo deps-stamp > deps\stamp
|
||||||
cd ..
|
cd ..
|
||||||
rem ----------------------------------------------------------------------
|
rem ----------------------------------------------------------------------
|
||||||
Echo Configuring the library source directory...
|
Echo Configuring the library source directory...
|
||||||
|
@ -273,6 +274,7 @@ Echo Configuring the lib directory...
|
||||||
If Exist build-aux\snippet\c++defs.h update build-aux/snippet/c++defs.h build-aux/snippet/cxxdefs.h
|
If Exist build-aux\snippet\c++defs.h update build-aux/snippet/c++defs.h build-aux/snippet/cxxdefs.h
|
||||||
cd lib
|
cd lib
|
||||||
Rem Rename files like djtar on plain DOS filesystem would.
|
Rem Rename files like djtar on plain DOS filesystem would.
|
||||||
|
If Exist c++defs.h update c++defs.h cxxdefs.h
|
||||||
If Exist alloca.in.h update alloca.in.h alloca.in-h
|
If Exist alloca.in.h update alloca.in.h alloca.in-h
|
||||||
If Exist byteswap.in.h update byteswap.in.h byteswap.in-h
|
If Exist byteswap.in.h update byteswap.in.h byteswap.in-h
|
||||||
If Exist dirent.in.h update dirent.in.h dirent.in-h
|
If Exist dirent.in.h update dirent.in.h dirent.in-h
|
||||||
|
@ -280,12 +282,12 @@ If Exist errno.in.h update errno.in.h errno.in-h
|
||||||
If Exist execinfo.in.h update execinfo.in.h execinfo.in-h
|
If Exist execinfo.in.h update execinfo.in.h execinfo.in-h
|
||||||
If Exist fcntl.in.h update fcntl.in.h fcntl.in-h
|
If Exist fcntl.in.h update fcntl.in.h fcntl.in-h
|
||||||
If Exist getopt.in.h update getopt.in.h getopt.in-h
|
If Exist getopt.in.h update getopt.in.h getopt.in-h
|
||||||
|
If Exist getopt-cdefs.in.h update getopt-cdefs.in.h getopt-cdefs.in-h
|
||||||
If Exist inttypes.in.h update inttypes.in.h inttypes.in-h
|
If Exist inttypes.in.h update inttypes.in.h inttypes.in-h
|
||||||
If Exist stdarg.in.h update stdarg.in.h stdarg.in-h
|
If Exist limits.in.h update limits.in.h limits.in-h
|
||||||
If Exist stdalign.in.h update stdalign.in.h stdalign.in-h
|
|
||||||
If Exist stdbool.in.h update stdbool.in.h stdbool.in-h
|
|
||||||
If Exist signal.in.h update signal.in.h signal.in-h
|
If Exist signal.in.h update signal.in.h signal.in-h
|
||||||
If Exist stdalign.in.h update stdalign.in.h stdalign.in-h
|
If Exist signal.in.h update signal.in.h signal.in-h
|
||||||
|
If Exist stdalign.in.h update stdalign.in.h stdalign.in-h
|
||||||
If Exist stddef.in.h update stddef.in.h stddef.in-h
|
If Exist stddef.in.h update stddef.in.h stddef.in-h
|
||||||
If Exist stdint.in.h update stdint.in.h stdint.in-h
|
If Exist stdint.in.h update stdint.in.h stdint.in-h
|
||||||
If Exist stdio.in.h update stdio.in.h stdio.in-h
|
If Exist stdio.in.h update stdio.in.h stdio.in-h
|
||||||
|
@ -293,16 +295,20 @@ If Exist stdlib.in.h update stdlib.in.h stdlib.in-h
|
||||||
If Exist string.in.h update string.in.h string.in-h
|
If Exist string.in.h update string.in.h string.in-h
|
||||||
If Exist sys_select.in.h update sys_select.in.h sys_select.in-h
|
If Exist sys_select.in.h update sys_select.in.h sys_select.in-h
|
||||||
If Exist sys_stat.in.h update sys_stat.in.h sys_stat.in-h
|
If Exist sys_stat.in.h update sys_stat.in.h sys_stat.in-h
|
||||||
If Exist sys_types.in.h update sys_types.in.h sys_types.in-h
|
|
||||||
If Exist sys_time.in.h update sys_time.in.h sys_time.in-h
|
If Exist sys_time.in.h update sys_time.in.h sys_time.in-h
|
||||||
|
If Exist sys_types.in.h update sys_types.in.h sys_types.in-h
|
||||||
If Exist time.in.h update time.in.h time.in-h
|
If Exist time.in.h update time.in.h time.in-h
|
||||||
If Exist unistd.in.h update unistd.in.h unistd.in-h
|
If Exist unistd.in.h update unistd.in.h unistd.in-h
|
||||||
|
If Exist gnulib.mk.in update gnulib.mk.in gnulib.mk-in
|
||||||
Rem Only repository has the msdos/autogen directory
|
Rem Only repository has the msdos/autogen directory
|
||||||
If Exist Makefile.in sed -f ../msdos/sedlibcf.inp < Makefile.in > makefile.tmp
|
If Exist Makefile.in sed -f ../msdos/sedlibcf.inp < Makefile.in > makefile.tmp
|
||||||
If Exist ..\msdos\autogen\Makefile.in sed -f ../msdos/sedlibcf.inp < ..\msdos\autogen\Makefile.in > makefile.tmp
|
If Exist ..\msdos\autogen\Makefile.in sed -f ../msdos/sedlibcf.inp < ..\msdos\autogen\Makefile.in > makefile.tmp
|
||||||
sed -f ../msdos/sedlibmk.inp < makefile.tmp > Makefile
|
sed -f ../msdos/sedlibmk.inp < makefile.tmp > Makefile
|
||||||
rm -f makefile.tmp
|
rm -f makefile.tmp
|
||||||
Rem Create .Po files for new files in lib/
|
sed -f ../msdos/sedlibcf.inp < gnulib.mk-in > gnulib.tmp
|
||||||
|
sed -f ../msdos/sedlibmk.inp < gnulib.tmp > gnulib.mk
|
||||||
|
rm -f gnulib.tmp
|
||||||
|
Rem Create .d files for new files in lib/
|
||||||
If Not Exist deps\stamp mkdir deps
|
If Not Exist deps\stamp mkdir deps
|
||||||
for %%f in (*.c) do @call ..\msdos\depfiles.bat %%f
|
for %%f in (*.c) do @call ..\msdos\depfiles.bat %%f
|
||||||
echo deps-stamp > deps\stamp
|
echo deps-stamp > deps\stamp
|
||||||
|
|
|
@ -2050,13 +2050,17 @@ calculations.
|
||||||
|
|
||||||
@defun line-number-display-width &optional pixelwise
|
@defun line-number-display-width &optional pixelwise
|
||||||
This function returns the width used for displaying the line numbers
|
This function returns the width used for displaying the line numbers
|
||||||
in the selected window. Optional argument @var{pixelwise}, if
|
in the selected window. If the optional argument @var{pixelwise} is
|
||||||
non-@code{nil}, means return the value in pixels; otherwise the value
|
the symbol @code{columns}, the return value is a float number of the
|
||||||
is returned in column units of the font defined for the
|
frame's canonical columns; if @var{pixelwise} is @code{t} or any other
|
||||||
@code{line-number} face. If line numbers are not displayed in the
|
non-@code{nil} value, the value is an integer and is measured in
|
||||||
selected window, the value is zero. Use @code{with-selected-window}
|
pixels. If @var{pixelwise} is omitted or @code{nil}, the value is the
|
||||||
(@pxref{Selecting Windows}) if you need this information about another
|
integer number of columns of the font defined for the
|
||||||
window.
|
@code{line-number} face, and doesn't include the 2 columns used to pad
|
||||||
|
the numbers on display. If line numbers are not displayed in the
|
||||||
|
selected window, the value is zero regardless of the value of
|
||||||
|
@var{pixelwise}. Use @code{with-selected-window} (@pxref{Selecting
|
||||||
|
Windows}) if you need this information about another window.
|
||||||
@end defun
|
@end defun
|
||||||
|
|
||||||
|
|
||||||
|
@ -4635,7 +4639,7 @@ as an absolute number of pixels.
|
||||||
|
|
||||||
@smallexample
|
@smallexample
|
||||||
@group
|
@group
|
||||||
@var{expr} ::= @var{num} | (@var{num}) | @var{unit} | @var{elem} | @var{pos} | @var{image} | @var{form}
|
@var{expr} ::= @var{num} | (@var{num}) | @var{unit} | @var{elem} | @var{pos} | @var{image} | @var{xwidget} | @var{form}
|
||||||
@var{num} ::= @var{integer} | @var{float} | @var{symbol}
|
@var{num} ::= @var{integer} | @var{float} | @var{symbol}
|
||||||
@var{unit} ::= in | mm | cm | width | height
|
@var{unit} ::= in | mm | cm | width | height
|
||||||
@end group
|
@end group
|
||||||
|
@ -4651,22 +4655,34 @@ as an absolute number of pixels.
|
||||||
The form @var{num} specifies a fraction of the default frame font
|
The form @var{num} specifies a fraction of the default frame font
|
||||||
height or width. The form @code{(@var{num})} specifies an absolute
|
height or width. The form @code{(@var{num})} specifies an absolute
|
||||||
number of pixels. If @var{num} is a symbol, @var{symbol}, its
|
number of pixels. If @var{num} is a symbol, @var{symbol}, its
|
||||||
buffer-local variable binding is used.
|
buffer-local variable binding is used; that binding can be either a
|
||||||
|
number or a cons cell of the forms shown above (including yet another
|
||||||
|
cons cell whose @code{car} is a symbol that has a buffer-local
|
||||||
|
binding).
|
||||||
|
|
||||||
The @code{in}, @code{mm}, and @code{cm} units specify the number of
|
The @code{in}, @code{mm}, and @code{cm} units specify the number of
|
||||||
pixels per inch, millimeter, and centimeter, respectively. The
|
pixels per inch, millimeter, and centimeter, respectively. The
|
||||||
@code{width} and @code{height} units correspond to the default width
|
@code{width} and @code{height} units correspond to the default width
|
||||||
and height of the current face. An image specification @code{image}
|
and height of the current face. An image specification of the form
|
||||||
corresponds to the width or height of the image.
|
@w{@code{(image . @var{props})}} (@pxref{Image Descriptors})
|
||||||
|
corresponds to the width or height of the specified image. Similarly,
|
||||||
|
an xwidget specification of the form @w{@code{(xwidget . @var{props})}}
|
||||||
|
stands for the width or height of the specified xwidget.
|
||||||
|
@xref{Xwidgets}.
|
||||||
|
|
||||||
The elements @code{left-fringe}, @code{right-fringe},
|
The elements @code{left-fringe}, @code{right-fringe},
|
||||||
@code{left-margin}, @code{right-margin}, @code{scroll-bar}, and
|
@code{left-margin}, @code{right-margin}, @code{scroll-bar}, and
|
||||||
@code{text} specify to the width of the corresponding area of the
|
@code{text} specify the width of the corresponding area of the window.
|
||||||
window.
|
When the window displays line numbers (@pxref{Size of Displayed
|
||||||
|
Text}), the width of the @code{text} area is decreased by the screen
|
||||||
|
space taken by the line-number display.
|
||||||
|
|
||||||
The @code{left}, @code{center}, and @code{right} positions can be
|
The @code{left}, @code{center}, and @code{right} positions can be
|
||||||
used with @code{:align-to} to specify a position relative to the left
|
used with @code{:align-to} to specify a position relative to the left
|
||||||
edge, center, or right edge of the text area.
|
edge, center, or right edge of the text area. When the window
|
||||||
|
displays line numbers, the @code{left} and the @code{center} positions
|
||||||
|
are offset to account for the screen space taken by the line-number
|
||||||
|
display.
|
||||||
|
|
||||||
Any of the above window elements (except @code{text}) can also be
|
Any of the above window elements (except @code{text}) can also be
|
||||||
used with @code{:align-to} to specify that the position is relative to
|
used with @code{:align-to} to specify that the position is relative to
|
||||||
|
@ -4682,13 +4698,15 @@ the left-margin, use
|
||||||
|
|
||||||
If no specific base offset is set for alignment, it is always relative
|
If no specific base offset is set for alignment, it is always relative
|
||||||
to the left edge of the text area. For example, @samp{:align-to 0} in a
|
to the left edge of the text area. For example, @samp{:align-to 0} in a
|
||||||
header-line aligns with the first text column in the text area.
|
header-line aligns with the first text column in the text area. When
|
||||||
|
the window displays line numbers, the text is considered to start where
|
||||||
|
the space used for line-number display ends.
|
||||||
|
|
||||||
A value of the form @code{(@var{num} . @var{expr})} stands for the
|
A value of the form @code{(@var{num} . @var{expr})} stands for the
|
||||||
product of the values of @var{num} and @var{expr}. For example,
|
product of the values of @var{num} and @var{expr}. For example,
|
||||||
@code{(2 . in)} specifies a width of 2 inches, while @code{(0.5 .
|
@code{(2 . in)} specifies a width of 2 inches, while @code{(0.5 .
|
||||||
@var{image})} specifies half the width (or height) of the specified
|
@var{image})} specifies half the width (or height) of the specified
|
||||||
image.
|
@var{image} (which should be given by its image spec).
|
||||||
|
|
||||||
The form @code{(+ @var{expr} ...)} adds up the value of the
|
The form @code{(+ @var{expr} ...)} adds up the value of the
|
||||||
expressions. The form @code{(- @var{expr} ...)} negates or subtracts
|
expressions. The form @code{(- @var{expr} ...)} negates or subtracts
|
||||||
|
|
|
@ -3202,7 +3202,7 @@ a number of other ways as well. Here we sketch a few of them:
|
||||||
@item
|
@item
|
||||||
The semantics of maximizing and iconifying child frames is highly
|
The semantics of maximizing and iconifying child frames is highly
|
||||||
window-system dependent. As a rule, applications should never invoke
|
window-system dependent. As a rule, applications should never invoke
|
||||||
these operations for on frames. By default, invoking
|
these operations on child frames. By default, invoking
|
||||||
@code{iconify-frame} on a child frame will try to iconify the top-level
|
@code{iconify-frame} on a child frame will try to iconify the top-level
|
||||||
frame corresponding to that child frame instead. To obtain a different
|
frame corresponding to that child frame instead. To obtain a different
|
||||||
behavior, users may customize the option @code{iconify-child-frame}
|
behavior, users may customize the option @code{iconify-child-frame}
|
||||||
|
|
|
@ -1486,8 +1486,8 @@ This stands for the full name of the month.
|
||||||
@item %c
|
@item %c
|
||||||
This is a synonym for @samp{%x %X}.
|
This is a synonym for @samp{%x %X}.
|
||||||
@item %C
|
@item %C
|
||||||
This has a locale-specific meaning. In the default locale (named C), it
|
This stands for the century, that is, the year divided by 100,
|
||||||
is equivalent to @samp{%A, %B %e, %Y}.
|
truncated toward zero.
|
||||||
@item %d
|
@item %d
|
||||||
This stands for the day of month, zero-padded.
|
This stands for the day of month, zero-padded.
|
||||||
@item %D
|
@item %D
|
||||||
|
@ -1530,8 +1530,11 @@ This stands for the calendar quarter (1--4).
|
||||||
This is a synonym for @samp{%I:%M:%S %p}.
|
This is a synonym for @samp{%I:%M:%S %p}.
|
||||||
@item %R
|
@item %R
|
||||||
This is a synonym for @samp{%H:%M}.
|
This is a synonym for @samp{%H:%M}.
|
||||||
|
@item %s
|
||||||
|
This stands for the integer number of seconds since the epoch.
|
||||||
@item %S
|
@item %S
|
||||||
This stands for the seconds (00--59).
|
This stands for the second (00--59, or 00--60 on platforms
|
||||||
|
that support leap seconds).
|
||||||
@item %t
|
@item %t
|
||||||
This stands for a tab character.
|
This stands for a tab character.
|
||||||
@item %T
|
@item %T
|
||||||
|
@ -1561,22 +1564,31 @@ This stands for the year with century.
|
||||||
@item %Z
|
@item %Z
|
||||||
This stands for the time zone abbreviation (e.g., @samp{EST}).
|
This stands for the time zone abbreviation (e.g., @samp{EST}).
|
||||||
@item %z
|
@item %z
|
||||||
This stands for the time zone numerical offset (e.g., @samp{-0500}).
|
This stands for the time zone numerical offset. The @samp{z} can be
|
||||||
|
preceded by one, two, or three colons; if plain @samp{%z} stands for
|
||||||
|
@samp{-0500}, then @samp{%:z} stands for @samp{-05:00}, @samp{%::z}
|
||||||
|
stands for @samp{-05:00:00}, and @samp{%:::z} is like @samp{%::z}
|
||||||
|
except it suppresses trailing instances of @samp{:00} so it stands for
|
||||||
|
@samp{-05} in the same example.
|
||||||
|
@item %%
|
||||||
|
This stands for a single @samp{%}.
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
|
One or more flag characters can appear immediately after the @samp{%}.
|
||||||
|
@samp{0} pads with zeros, @samp{_} pads with blanks, @samp{-}
|
||||||
|
suppresses padding, @samp{^} upper-cases letters, and @samp{#}
|
||||||
|
reverses the case of letters.
|
||||||
|
|
||||||
You can also specify the field width and type of padding for any of
|
You can also specify the field width and type of padding for any of
|
||||||
these @samp{%}-sequences. This works as in @code{printf}: you write
|
these @samp{%}-sequences. This works as in @code{printf}: you write
|
||||||
the field width as digits in the middle of a @samp{%}-sequences. If you
|
the field width as digits in a @samp{%}-sequence, after any flags.
|
||||||
start the field width with @samp{0}, it means to pad with zeros. If you
|
|
||||||
start the field width with @samp{_}, it means to pad with spaces.
|
|
||||||
|
|
||||||
For example, @samp{%S} specifies the number of seconds since the minute;
|
For example, @samp{%S} specifies the number of seconds since the minute;
|
||||||
@samp{%03S} means to pad this with zeros to 3 positions, @samp{%_3S} to
|
@samp{%03S} means to pad this with zeros to 3 positions, @samp{%_3S} to
|
||||||
pad with spaces to 3 positions. Plain @samp{%3S} pads with zeros,
|
pad with spaces to 3 positions. Plain @samp{%3S} pads with zeros,
|
||||||
because that is how @samp{%S} normally pads to two positions.
|
because that is how @samp{%S} normally pads to two positions.
|
||||||
|
|
||||||
The characters @samp{E} and @samp{O} act as modifiers when used between
|
The characters @samp{E} and @samp{O} act as modifiers when used after
|
||||||
@samp{%} and one of the letters in the table above. @samp{E} specifies
|
any flags and field widths in a @samp{%}-sequence. @samp{E} specifies
|
||||||
using the current locale's alternative version of the date and time.
|
using the current locale's alternative version of the date and time.
|
||||||
In a Japanese locale, for example, @code{%Ex} might yield a date format
|
In a Japanese locale, for example, @code{%Ex} might yield a date format
|
||||||
based on the Japanese Emperors' reigns. @samp{E} is allowed in
|
based on the Japanese Emperors' reigns. @samp{E} is allowed in
|
||||||
|
@ -1587,6 +1599,11 @@ based on the Japanese Emperors' reigns. @samp{E} is allowed in
|
||||||
representation of numbers, instead of the ordinary decimal digits. This
|
representation of numbers, instead of the ordinary decimal digits. This
|
||||||
is allowed with most letters, all the ones that output numbers.
|
is allowed with most letters, all the ones that output numbers.
|
||||||
|
|
||||||
|
To help debug programs, unrecognized @samp{%}-sequences stand for
|
||||||
|
themselves and are output as-is. Programs should not rely on this
|
||||||
|
behavior, as future versions of Emacs may recognize new
|
||||||
|
@samp{%}-sequences as extensions.
|
||||||
|
|
||||||
This function uses the C library function @code{strftime}
|
This function uses the C library function @code{strftime}
|
||||||
(@pxref{Formatting Calendar Time,,, libc, The GNU C Library Reference
|
(@pxref{Formatting Calendar Time,,, libc, The GNU C Library Reference
|
||||||
Manual}) to do most of the work. In order to communicate with that
|
Manual}) to do most of the work. In order to communicate with that
|
||||||
|
|
|
@ -361,34 +361,38 @@ priority but without an overlay face.
|
||||||
(flymake-category . flymake-note))))
|
(flymake-category . flymake-note))))
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
@vindex flymake-text
|
@vindex flymake-diagnostics
|
||||||
|
@vindex flymake-diagnostic-backend
|
||||||
|
@vindex flymake-diagnostic-buffer
|
||||||
|
@vindex flymake-diagnostic-text
|
||||||
|
@vindex flymake-diagnostic-beg
|
||||||
|
@vindex flymake-diagnostic-end
|
||||||
As you might have guessed, Flymake's annotations are implemented as
|
As you might have guessed, Flymake's annotations are implemented as
|
||||||
overlays (@pxref{Overlays,,, elisp, The Emacs Lisp Reference Manual}).
|
overlays (@pxref{Overlays,,, elisp, The Emacs Lisp Reference Manual}).
|
||||||
Along with the properties that you specify for the specific type of
|
Along with the properties that you specify for the specific type of
|
||||||
diagnostic, Flymake adds the property @code{flymake-text} to these
|
diagnostic, Flymake adds the property @code{flymake-diagnostic} to
|
||||||
overlays, and sets it to the message string that the backend used to
|
these overlays, and sets it to the object that the backend created
|
||||||
describe the diagnostic.
|
with @code{flymake-make-diagnostic}.
|
||||||
|
|
||||||
Since overlays also support arbitrary keymaps, you can use this
|
Since overlays also support arbitrary keymaps, you can use this along
|
||||||
property @code{flymake-text} to create interactive annotations, such
|
with the functions @code{flymake-diagnostics} and
|
||||||
as in the following example of binding a @kbd{mouse-3} event (middle
|
@code{flymake-diagnostic-text} (@pxref{Flymake utility functions}) to
|
||||||
mouse button click) to an Internet search for the text of a
|
create interactive annotations, such as in the following example of
|
||||||
@code{:warning} or @code{:error}.
|
binding a @code{mouse-3} event (middle mouse button click) to an
|
||||||
|
Internet search for the text of a @code{:warning} or @code{:error}.
|
||||||
|
|
||||||
@example
|
@example
|
||||||
(defun my-search-for-message (event)
|
(defun my-search-for-message (event)
|
||||||
(interactive "e")
|
(interactive "e")
|
||||||
(let ((ovs (overlays-at (posn-point (event-start event))))
|
(let* ((diags (flymake-diagnostics (posn-point (event-start event))))
|
||||||
ov)
|
(topmost-diag (car diags)))
|
||||||
;; loop until flymake overlay we clicked on is recovered
|
(eww-browse-url
|
||||||
(while (not (overlay-get (setq ov (pop ovs)) 'flymake-text)))
|
(concat
|
||||||
(when ov
|
"https://duckduckgo.com/?q="
|
||||||
(eww-browse-url
|
(replace-regexp-in-string " "
|
||||||
(concat "https://duckduckgo.com/?q="
|
"+"
|
||||||
(replace-regexp-in-string " "
|
(flymake-diagnostic-text topmost-diag)))
|
||||||
"+"
|
t)))
|
||||||
(overlay-get ov 'flymake-text)))
|
|
||||||
t))))
|
|
||||||
|
|
||||||
(dolist (type '(:warning :error))
|
(dolist (type '(:warning :error))
|
||||||
(let ((a (assoc type flymake-diagnostic-types-alist)))
|
(let ((a (assoc type flymake-diagnostic-types-alist)))
|
||||||
|
@ -513,6 +517,24 @@ Make a Flymake diagnostic for @var{buffer}'s region from @var{beg} to
|
||||||
of the problem detected in this region.
|
of the problem detected in this region.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
|
@cindex access diagnostic object
|
||||||
|
These objects' properties can be accessed with the functions
|
||||||
|
@code{flymake-diagnostic-backend}, @code{flymake-diagnostic-buffer},
|
||||||
|
@code{flymake-diagnostic-text}, @code{flymake-diagnostic-beg},
|
||||||
|
@code{flymake-diagnostic-end} and @code{flymake-diagnostic-type}.
|
||||||
|
|
||||||
|
Additionally, the function @code{flymake-diagnostics} will collect
|
||||||
|
such objects in the region you specify.
|
||||||
|
|
||||||
|
@cindex collect diagnostic objects
|
||||||
|
@deffn Function flymake-diagnostics beg end
|
||||||
|
Get a list of Flymake diagnostics in the region determined by
|
||||||
|
@var{beg} and @var{end}. If neither @var{beg} or @var{end} is
|
||||||
|
supplied, use the whole buffer, otherwise if @var{beg} is
|
||||||
|
non-@code{nil} and @var{end} is @code{nil}, consider only diagnostics
|
||||||
|
at @var{beg}.
|
||||||
|
@end deffn
|
||||||
|
|
||||||
@cindex buffer position from line and column number
|
@cindex buffer position from line and column number
|
||||||
It is often the case with external syntax tools that a diagnostic's
|
It is often the case with external syntax tools that a diagnostic's
|
||||||
position is reported in terms of a line number, and sometimes a column
|
position is reported in terms of a line number, and sometimes a column
|
||||||
|
@ -520,9 +542,10 @@ number. To convert this information into a buffer position, backends
|
||||||
can use the following function:
|
can use the following function:
|
||||||
|
|
||||||
@deffn Function flymake-diag-region buffer line &optional col
|
@deffn Function flymake-diag-region buffer line &optional col
|
||||||
Compute @var{buffer}'s region (@var{beg} . @var{end}) corresponding to
|
Compute @var{buffer}'s region (@var{beg} . @var{end}) corresponding
|
||||||
@var{line} and @var{col}. If @var{col} is nil, return a region just
|
to @var{line} and @var{col}. If @var{col} is @code{nil}, return a
|
||||||
for @var{line}. Return nil if the region is invalid.
|
region just for @var{line}. Return @code{nil} if the region is
|
||||||
|
invalid.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@cindex add a log message
|
@cindex add a log message
|
||||||
|
@ -560,7 +583,7 @@ Binding,,, elisp, The Emacs Lisp Reference Manual}) to be active.
|
||||||
|
|
||||||
(defun ruby-flymake (report-fn &rest _args)
|
(defun ruby-flymake (report-fn &rest _args)
|
||||||
;; Not having a ruby interpreter is a serious problem which should cause
|
;; Not having a ruby interpreter is a serious problem which should cause
|
||||||
;; the backend to disable itself, so an @code{error} is signalled.
|
;; the backend to disable itself, so an @code{error} is signaled.
|
||||||
;;
|
;;
|
||||||
(unless (executable-find
|
(unless (executable-find
|
||||||
"ruby") (error "Cannot find a suitable ruby"))
|
"ruby") (error "Cannot find a suitable ruby"))
|
||||||
|
@ -600,7 +623,7 @@ Binding,,, elisp, The Emacs Lisp Reference Manual}) to be active.
|
||||||
;; `ruby--flymake-proc', which indicates that
|
;; `ruby--flymake-proc', which indicates that
|
||||||
;; `proc' is not an obsolete process.
|
;; `proc' is not an obsolete process.
|
||||||
;;
|
;;
|
||||||
(if (eq proc ruby--flymake-proc)
|
(if (with-current-buffer source (eq proc ruby--flymake-proc))
|
||||||
(with-current-buffer (process-buffer proc)
|
(with-current-buffer (process-buffer proc)
|
||||||
(goto-char (point-min))
|
(goto-char (point-min))
|
||||||
;; Parse the output buffer for diagnostic's
|
;; Parse the output buffer for diagnostic's
|
||||||
|
@ -625,7 +648,7 @@ Binding,,, elisp, The Emacs Lisp Reference Manual}) to be active.
|
||||||
msg)
|
msg)
|
||||||
into diags
|
into diags
|
||||||
finally (funcall report-fn diags)))
|
finally (funcall report-fn diags)))
|
||||||
(flymake-log :warning "Cancelling obsolete check %s"
|
(flymake-log :warning "Canceling obsolete check %s"
|
||||||
proc))
|
proc))
|
||||||
;; Cleanup the temporary buffer used to hold the
|
;; Cleanup the temporary buffer used to hold the
|
||||||
;; check's output.
|
;; check's output.
|
||||||
|
|
|
@ -712,7 +712,9 @@ CLOS class and slot documentation.
|
||||||
*** Rectangle Mark mode can have corners past EOL or in the middle of a TAB.
|
*** Rectangle Mark mode can have corners past EOL or in the middle of a TAB.
|
||||||
|
|
||||||
*** 'C-x C-x' in 'rectangle-mark-mode' now cycles through the four corners.
|
*** 'C-x C-x' in 'rectangle-mark-mode' now cycles through the four corners.
|
||||||
|
|
||||||
*** 'string-rectangle' provides on-the-fly preview of the result.
|
*** 'string-rectangle' provides on-the-fly preview of the result.
|
||||||
|
Customize 'rectangle-preview' to nil for the old behavior.
|
||||||
|
|
||||||
** New font-lock functions 'font-lock-ensure' and 'font-lock-flush'.
|
** New font-lock functions 'font-lock-ensure' and 'font-lock-flush'.
|
||||||
These should be used in preference to 'font-lock-fontify-buffer' when
|
These should be used in preference to 'font-lock-fontify-buffer' when
|
||||||
|
|
|
@ -5643,7 +5643,7 @@
|
||||||
1998-04-06 Andreas Schwab <schwab@gnu.org>
|
1998-04-06 Andreas Schwab <schwab@gnu.org>
|
||||||
|
|
||||||
Silence -Wimplicit:
|
Silence -Wimplicit:
|
||||||
* movemail.c: Move cancelations up. Include <stdlib.h> if
|
* movemail.c: Move cancellations up. Include <stdlib.h> if
|
||||||
available.
|
available.
|
||||||
* fakemail.c (_XOPEN_SOURCE): Define for declaration of cuserid.
|
* fakemail.c (_XOPEN_SOURCE): Define for declaration of cuserid.
|
||||||
(parse_header): Explicitly declare return type.
|
(parse_header): Explicitly declare return type.
|
||||||
|
|
|
@ -1530,7 +1530,7 @@ process_file_name (char *file, language *lang)
|
||||||
fdesc *fdp;
|
fdesc *fdp;
|
||||||
compressor *compr;
|
compressor *compr;
|
||||||
char *compressed_name, *uncompressed_name;
|
char *compressed_name, *uncompressed_name;
|
||||||
char *ext, *real_name UNINIT, *tmp_name;
|
char *ext, *real_name UNINIT, *tmp_name UNINIT;
|
||||||
int retval;
|
int retval;
|
||||||
|
|
||||||
canonicalize_filename (file);
|
canonicalize_filename (file);
|
||||||
|
|
|
@ -347,7 +347,7 @@ Only works for tags in the global namespace."
|
||||||
|
|
||||||
(push-mark)
|
(push-mark)
|
||||||
(semantic-go-to-tag target)
|
(semantic-go-to-tag target)
|
||||||
(switch-to-buffer (current-buffer))
|
(pop-to-buffer-same-window (current-buffer))
|
||||||
(semantic-momentary-highlight-tag target))
|
(semantic-momentary-highlight-tag target))
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -2120,7 +2120,7 @@ completion works."
|
||||||
(when (semantic-tag-p tag)
|
(when (semantic-tag-p tag)
|
||||||
(push-mark)
|
(push-mark)
|
||||||
(semantic-go-to-tag tag)
|
(semantic-go-to-tag tag)
|
||||||
(switch-to-buffer (current-buffer))
|
(pop-to-buffer-same-window (current-buffer))
|
||||||
(semantic-momentary-highlight-tag tag)
|
(semantic-momentary-highlight-tag tag)
|
||||||
(message "%S: %s "
|
(message "%S: %s "
|
||||||
(semantic-tag-class tag)
|
(semantic-tag-class tag)
|
||||||
|
|
|
@ -467,7 +467,7 @@ its contents.
|
||||||
(error "Could not location include %s"
|
(error "Could not location include %s"
|
||||||
(semantic-tag-name tag)))
|
(semantic-tag-name tag)))
|
||||||
((get-file-buffer file)
|
((get-file-buffer file)
|
||||||
(switch-to-buffer (get-file-buffer file)))
|
(pop-to-buffer-same-window (get-file-buffer file)))
|
||||||
((stringp file)
|
((stringp file)
|
||||||
(find-file file))
|
(find-file file))
|
||||||
))))
|
))))
|
||||||
|
|
|
@ -113,7 +113,7 @@ Uses `semantic-go-to-tag' and highlighting."
|
||||||
(forward-char o))
|
(forward-char o))
|
||||||
(error nil))
|
(error nil))
|
||||||
;; make it visible
|
;; make it visible
|
||||||
(switch-to-buffer (current-buffer))
|
(pop-to-buffer-same-window (current-buffer))
|
||||||
(semantic-momentary-highlight-tag tag)
|
(semantic-momentary-highlight-tag tag)
|
||||||
))
|
))
|
||||||
|
|
||||||
|
|
|
@ -530,11 +530,11 @@ Some tags such as includes have other reference features."
|
||||||
;; A tag
|
;; A tag
|
||||||
((semantic-tag-p result)
|
((semantic-tag-p result)
|
||||||
(semantic-go-to-tag result)
|
(semantic-go-to-tag result)
|
||||||
(switch-to-buffer (current-buffer))
|
(pop-to-buffer-same-window (current-buffer))
|
||||||
(semantic-momentary-highlight-tag result))
|
(semantic-momentary-highlight-tag result))
|
||||||
;; Buffers
|
;; Buffers
|
||||||
((bufferp result)
|
((bufferp result)
|
||||||
(switch-to-buffer result)
|
(pop-to-buffer-same-window result)
|
||||||
(pulse-momentary-highlight-one-line (point)))
|
(pulse-momentary-highlight-one-line (point)))
|
||||||
;; Files
|
;; Files
|
||||||
((and (stringp result) (file-exists-p result))
|
((and (stringp result) (file-exists-p result))
|
||||||
|
|
|
@ -1985,6 +1985,7 @@ Optional arg HOW-TO determines how to treat the target.
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defun dired-create-directory (directory)
|
(defun dired-create-directory (directory)
|
||||||
"Create a directory called DIRECTORY.
|
"Create a directory called DIRECTORY.
|
||||||
|
Parent directories of DIRECTORY are created as needed.
|
||||||
If DIRECTORY already exists, signal an error."
|
If DIRECTORY already exists, signal an error."
|
||||||
(interactive
|
(interactive
|
||||||
(list (read-file-name "Create directory: " (dired-current-directory))))
|
(list (read-file-name "Create directory: " (dired-current-directory))))
|
||||||
|
|
|
@ -193,20 +193,34 @@ The name is made by appending a number to PREFIX, default \"T\"."
|
||||||
(&or lambda-doc cl-declarations))
|
(&or lambda-doc cl-declarations))
|
||||||
|
|
||||||
(def-edebug-spec cl-lambda-list
|
(def-edebug-spec cl-lambda-list
|
||||||
(([&rest arg]
|
(([&rest cl-lambda-arg]
|
||||||
[&optional ["&optional" cl-&optional-arg &rest cl-&optional-arg]]
|
[&optional ["&optional" cl-&optional-arg &rest cl-&optional-arg]]
|
||||||
[&optional ["&rest" arg]]
|
[&optional ["&rest" cl-lambda-arg]]
|
||||||
[&optional ["&key" [cl-&key-arg &rest cl-&key-arg]
|
[&optional ["&key" [cl-&key-arg &rest cl-&key-arg]
|
||||||
&optional "&allow-other-keys"]]
|
&optional "&allow-other-keys"]]
|
||||||
[&optional ["&aux" &rest
|
[&optional ["&aux" &rest
|
||||||
&or (symbolp &optional def-form) symbolp]]
|
&or (symbolp &optional def-form) symbolp]]
|
||||||
)))
|
. [&or arg nil])))
|
||||||
|
|
||||||
(def-edebug-spec cl-&optional-arg
|
(def-edebug-spec cl-&optional-arg
|
||||||
(&or (arg &optional def-form arg) arg))
|
(&or (cl-lambda-arg &optional def-form arg) arg))
|
||||||
|
|
||||||
(def-edebug-spec cl-&key-arg
|
(def-edebug-spec cl-&key-arg
|
||||||
(&or ([&or (symbolp arg) arg] &optional def-form arg) arg))
|
(&or ([&or (symbolp cl-lambda-arg) arg] &optional def-form arg) arg))
|
||||||
|
|
||||||
|
(def-edebug-spec cl-lambda-arg
|
||||||
|
(&or arg cl-lambda-list1))
|
||||||
|
|
||||||
|
(def-edebug-spec cl-lambda-list1
|
||||||
|
(([&optional ["&whole" arg]] ;; only allowed at lower levels
|
||||||
|
[&rest cl-lambda-arg]
|
||||||
|
[&optional ["&optional" cl-&optional-arg &rest cl-&optional-arg]]
|
||||||
|
[&optional ["&rest" cl-lambda-arg]]
|
||||||
|
[&optional ["&key" cl-&key-arg &rest cl-&key-arg
|
||||||
|
&optional "&allow-other-keys"]]
|
||||||
|
[&optional ["&aux" &rest
|
||||||
|
&or (symbolp &optional def-form) symbolp]]
|
||||||
|
. [&or arg nil])))
|
||||||
|
|
||||||
(def-edebug-spec cl-type-spec sexp)
|
(def-edebug-spec cl-type-spec sexp)
|
||||||
|
|
||||||
|
@ -336,8 +350,8 @@ The full form of a Common Lisp function argument list is
|
||||||
[&key (([KEYWORD] VAR) [INITFORM [SVAR]])... [&allow-other-keys]]
|
[&key (([KEYWORD] VAR) [INITFORM [SVAR]])... [&allow-other-keys]]
|
||||||
[&aux (VAR [INITFORM])...])
|
[&aux (VAR [INITFORM])...])
|
||||||
|
|
||||||
VAR maybe be replaced recursively with an argument list for
|
VAR may be replaced recursively with an argument list for
|
||||||
destructing, `&whole' is supported within these sublists. If
|
destructuring, `&whole' is supported within these sublists. If
|
||||||
SVAR, INITFORM, and KEYWORD are all omitted, then `(VAR)' may be
|
SVAR, INITFORM, and KEYWORD are all omitted, then `(VAR)' may be
|
||||||
written simply `VAR'. See the Info node `(cl)Argument Lists' for
|
written simply `VAR'. See the Info node `(cl)Argument Lists' for
|
||||||
more details.
|
more details.
|
||||||
|
@ -430,8 +444,8 @@ The full form of a Common Lisp macro argument list is
|
||||||
[&aux (VAR [INITFORM])...]
|
[&aux (VAR [INITFORM])...]
|
||||||
[&environment VAR])
|
[&environment VAR])
|
||||||
|
|
||||||
VAR maybe be replaced recursively with an argument list for
|
VAR may be replaced recursively with an argument list for
|
||||||
destructing, `&whole' is supported within these sublists. If
|
destructuring, `&whole' is supported within these sublists. If
|
||||||
SVAR, INITFORM, and KEYWORD are all omitted, then `(VAR)' may be
|
SVAR, INITFORM, and KEYWORD are all omitted, then `(VAR)' may be
|
||||||
written simply `VAR'. See the Info node `(cl)Argument Lists' for
|
written simply `VAR'. See the Info node `(cl)Argument Lists' for
|
||||||
more details.
|
more details.
|
||||||
|
|
|
@ -253,7 +253,9 @@ first will be printed into the backtrace buffer."
|
||||||
;; Unshow debugger-buffer.
|
;; Unshow debugger-buffer.
|
||||||
(quit-restore-window debugger-window debugger-bury-or-kill)
|
(quit-restore-window debugger-window debugger-bury-or-kill)
|
||||||
;; Restore current buffer (Bug#12502).
|
;; Restore current buffer (Bug#12502).
|
||||||
(set-buffer debugger-old-buffer))))
|
(set-buffer debugger-old-buffer)))
|
||||||
|
;; Forget debugger window, it won't be back (Bug#17882).
|
||||||
|
(setq debugger-previous-window nil))
|
||||||
;; Restore previous state of debugger-buffer in case we were
|
;; Restore previous state of debugger-buffer in case we were
|
||||||
;; in a recursive invocation of the debugger, otherwise just
|
;; in a recursive invocation of the debugger, otherwise just
|
||||||
;; erase the buffer and put it into fundamental mode.
|
;; erase the buffer and put it into fundamental mode.
|
||||||
|
|
|
@ -1625,7 +1625,7 @@ default (if any)."
|
||||||
(defun ert-find-test-other-window (test-name)
|
(defun ert-find-test-other-window (test-name)
|
||||||
"Find, in another window, the definition of TEST-NAME."
|
"Find, in another window, the definition of TEST-NAME."
|
||||||
(interactive (list (ert-read-test-name-at-point "Find test definition: ")))
|
(interactive (list (ert-read-test-name-at-point "Find test definition: ")))
|
||||||
(find-function-do-it test-name 'ert-deftest 'switch-to-buffer-other-window))
|
(find-function-do-it test-name 'ert--test 'switch-to-buffer-other-window))
|
||||||
|
|
||||||
(defun ert-delete-test (test-name)
|
(defun ert-delete-test (test-name)
|
||||||
"Make the test TEST-NAME unbound.
|
"Make the test TEST-NAME unbound.
|
||||||
|
@ -2594,7 +2594,7 @@ To be used in the ERT results buffer."
|
||||||
|
|
||||||
;;; Actions on load/unload.
|
;;; Actions on load/unload.
|
||||||
|
|
||||||
(add-to-list 'find-function-regexp-alist '(ert-deftest . ert--find-test-regexp))
|
(add-to-list 'find-function-regexp-alist '(ert--test . ert--find-test-regexp))
|
||||||
(add-to-list 'minor-mode-alist '(ert--current-run-stats
|
(add-to-list 'minor-mode-alist '(ert--current-run-stats
|
||||||
(:eval
|
(:eval
|
||||||
(ert--tests-running-mode-line-indicator))))
|
(ert--tests-running-mode-line-indicator))))
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
;; GNU General Public License for more details.
|
;; GNU General Public License for more details.
|
||||||
|
|
||||||
;; You should have received a copy of the GNU General Public License
|
;; You should have received a copy of the GNU General Public License
|
||||||
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
|
;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
;;; Commentary:
|
;;; Commentary:
|
||||||
|
|
||||||
|
|
|
@ -193,10 +193,10 @@ Populated by `tabulated-list-init-header'.")
|
||||||
;; is displayed.
|
;; is displayed.
|
||||||
(if (not display-line-numbers)
|
(if (not display-line-numbers)
|
||||||
0
|
0
|
||||||
(let ((cbuf-window (get-buffer-window (current-buffer))))
|
(let ((cbuf-window (get-buffer-window (current-buffer) t)))
|
||||||
(if (window-live-p cbuf-window)
|
(if (window-live-p cbuf-window)
|
||||||
(with-selected-window cbuf-window
|
(with-selected-window cbuf-window
|
||||||
(+ (line-number-display-width) 2))
|
(line-number-display-width 'columns))
|
||||||
4))))
|
4))))
|
||||||
|
|
||||||
(defun tabulated-list-init-header ()
|
(defun tabulated-list-init-header ()
|
||||||
|
@ -329,8 +329,6 @@ Check the current row, the previous one and the next row."
|
||||||
(string-width (if (stringp nt) nt (car nt)))))
|
(string-width (if (stringp nt) nt (car nt)))))
|
||||||
tabulated-list--near-rows)))
|
tabulated-list--near-rows)))
|
||||||
|
|
||||||
(defvar tabulated-list-entry-lnum-width nil)
|
|
||||||
|
|
||||||
(defun tabulated-list-print (&optional remember-pos update)
|
(defun tabulated-list-print (&optional remember-pos update)
|
||||||
"Populate the current Tabulated List mode buffer.
|
"Populate the current Tabulated List mode buffer.
|
||||||
This sorts the `tabulated-list-entries' list if sorting is
|
This sorts the `tabulated-list-entries' list if sorting is
|
||||||
|
@ -373,7 +371,6 @@ changing `tabulated-list-sort-key'."
|
||||||
(unless tabulated-list-use-header-line
|
(unless tabulated-list-use-header-line
|
||||||
(tabulated-list-print-fake-header)))
|
(tabulated-list-print-fake-header)))
|
||||||
;; Finally, print the resulting list.
|
;; Finally, print the resulting list.
|
||||||
(setq tabulated-list-entry-lnum-width (tabulated-list-line-number-width))
|
|
||||||
(while entries
|
(while entries
|
||||||
(let* ((elt (car entries))
|
(let* ((elt (car entries))
|
||||||
(tabulated-list--near-rows
|
(tabulated-list--near-rows
|
||||||
|
@ -428,9 +425,8 @@ of column descriptors."
|
||||||
(x (max tabulated-list-padding 0))
|
(x (max tabulated-list-padding 0))
|
||||||
(ncols (length tabulated-list-format))
|
(ncols (length tabulated-list-format))
|
||||||
(inhibit-read-only t))
|
(inhibit-read-only t))
|
||||||
(setq x (+ x tabulated-list-entry-lnum-width))
|
|
||||||
(if (> tabulated-list-padding 0)
|
(if (> tabulated-list-padding 0)
|
||||||
(insert (make-string (- x tabulated-list-entry-lnum-width) ?\s)))
|
(insert (make-string x ?\s)))
|
||||||
(let ((tabulated-list--near-rows ; Bind it if not bound yet (Bug#25506).
|
(let ((tabulated-list--near-rows ; Bind it if not bound yet (Bug#25506).
|
||||||
(or (bound-and-true-p tabulated-list--near-rows)
|
(or (bound-and-true-p tabulated-list--near-rows)
|
||||||
(list (or (tabulated-list-get-entry (point-at-bol 0))
|
(list (or (tabulated-list-get-entry (point-at-bol 0))
|
||||||
|
@ -601,6 +597,14 @@ With a numeric prefix argument N, sort the Nth column."
|
||||||
(tabulated-list-init-header)
|
(tabulated-list-init-header)
|
||||||
(tabulated-list-print t)))
|
(tabulated-list-print t)))
|
||||||
|
|
||||||
|
(defvar tabulated-list--current-lnum-width nil)
|
||||||
|
(defun tabulated-list-watch-line-number-width (_window)
|
||||||
|
(if display-line-numbers
|
||||||
|
(let ((lnum-width (tabulated-list-line-number-width)))
|
||||||
|
(when (not (= tabulated-list--current-lnum-width lnum-width))
|
||||||
|
(setq-local tabulated-list--current-lnum-width lnum-width)
|
||||||
|
(tabulated-list-revert)))))
|
||||||
|
|
||||||
;;; The mode definition:
|
;;; The mode definition:
|
||||||
|
|
||||||
(define-derived-mode tabulated-list-mode special-mode "Tabulated"
|
(define-derived-mode tabulated-list-mode special-mode "Tabulated"
|
||||||
|
@ -645,7 +649,12 @@ as the ewoc pretty-printer."
|
||||||
;; column of the first entry happens to begin with a R2L letter.
|
;; column of the first entry happens to begin with a R2L letter.
|
||||||
(setq bidi-paragraph-direction 'left-to-right)
|
(setq bidi-paragraph-direction 'left-to-right)
|
||||||
;; This is for if/when they turn on display-line-numbers
|
;; This is for if/when they turn on display-line-numbers
|
||||||
(add-hook 'display-line-numbers-mode-hook #'tabulated-list-revert nil t))
|
(add-hook 'display-line-numbers-mode-hook #'tabulated-list-revert nil t)
|
||||||
|
;; This is for if/when they customize the line-number face or when
|
||||||
|
;; the line-number width needs to change due to scrolling.
|
||||||
|
(setq-local tabulated-list--current-lnum-width 0)
|
||||||
|
(add-hook 'pre-redisplay-functions
|
||||||
|
#'tabulated-list-watch-line-number-width nil t))
|
||||||
|
|
||||||
(put 'tabulated-list-mode 'mode-class 'special)
|
(put 'tabulated-list-mode 'mode-class 'special)
|
||||||
|
|
||||||
|
|
|
@ -892,7 +892,8 @@ Calls `suspend-emacs' if invoked from the controlling tty device,
|
||||||
|
|
||||||
(defvar frame-name-history nil)
|
(defvar frame-name-history nil)
|
||||||
(defun select-frame-by-name (name)
|
(defun select-frame-by-name (name)
|
||||||
"Select the frame on the current terminal whose name is NAME and raise it.
|
"Select the frame whose name is NAME and raise it.
|
||||||
|
Frames on the current terminal are checked first.
|
||||||
If there is no frame by that name, signal an error."
|
If there is no frame by that name, signal an error."
|
||||||
(interactive
|
(interactive
|
||||||
(let* ((frame-names-alist (make-frame-names-alist))
|
(let* ((frame-names-alist (make-frame-names-alist))
|
||||||
|
@ -903,11 +904,14 @@ If there is no frame by that name, signal an error."
|
||||||
(if (= (length input) 0)
|
(if (= (length input) 0)
|
||||||
(list default)
|
(list default)
|
||||||
(list input))))
|
(list input))))
|
||||||
(let* ((frame-names-alist (make-frame-names-alist))
|
(select-frame-set-input-focus
|
||||||
(frame (cdr (assoc name frame-names-alist))))
|
;; Prefer frames on the current display.
|
||||||
(if frame
|
(or (cdr (assoc name (make-frame-names-alist)))
|
||||||
(select-frame-set-input-focus frame)
|
(catch 'done
|
||||||
(error "There is no frame named `%s'" name))))
|
(dolist (frame (frame-list))
|
||||||
|
(when (equal (frame-parameter frame 'name) name)
|
||||||
|
(throw 'done frame))))
|
||||||
|
(error "There is no frame named `%s'" name))))
|
||||||
|
|
||||||
|
|
||||||
;;;; Background mode.
|
;;;; Background mode.
|
||||||
|
|
|
@ -1035,6 +1035,12 @@ Internal use only."
|
||||||
(frameset--initial-params filtered-cfg))))
|
(frameset--initial-params filtered-cfg))))
|
||||||
(puthash frame :created frameset--action-map))
|
(puthash frame :created frameset--action-map))
|
||||||
|
|
||||||
|
;; Remove `border-width' from the list of parameters. If it has not
|
||||||
|
;; been assigned via `make-frame-on-display', any attempt to assign
|
||||||
|
;; it now via `modify-frame-parameters' may result in an error on X
|
||||||
|
;; (Bug#28873).
|
||||||
|
(setq filtered-cfg (assq-delete-all 'border-width filtered-cfg))
|
||||||
|
|
||||||
;; Try to assign parent-frame right here - it will improve things
|
;; Try to assign parent-frame right here - it will improve things
|
||||||
;; for minibuffer-less child frames.
|
;; for minibuffer-less child frames.
|
||||||
(let* ((frame-id (frame-parameter frame 'frameset--parent-frame))
|
(let* ((frame-id (frame-parameter frame 'frameset--parent-frame))
|
||||||
|
|
|
@ -27,7 +27,8 @@
|
||||||
;;; Code:
|
;;; Code:
|
||||||
|
|
||||||
(eval-when-compile
|
(eval-when-compile
|
||||||
(require 'cl))
|
(require 'cl)
|
||||||
|
(require 'subr-x))
|
||||||
|
|
||||||
(require 'nnheader)
|
(require 'nnheader)
|
||||||
(require 'gnus-util)
|
(require 'gnus-util)
|
||||||
|
|
|
@ -748,7 +748,10 @@ Increase at own risk.")
|
||||||
'image-dired-cmd-create-thumbnail-program)
|
'image-dired-cmd-create-thumbnail-program)
|
||||||
(let* ((width (int-to-string (image-dired-thumb-size 'width)))
|
(let* ((width (int-to-string (image-dired-thumb-size 'width)))
|
||||||
(height (int-to-string (image-dired-thumb-size 'height)))
|
(height (int-to-string (image-dired-thumb-size 'height)))
|
||||||
(modif-time (floor (float-time (nth 5 (file-attributes original-file)))))
|
(modif-time
|
||||||
|
(format "%.0f"
|
||||||
|
(ffloor (float-time
|
||||||
|
(nth 5 (file-attributes original-file))))))
|
||||||
(thumbnail-nq8-file (replace-regexp-in-string ".png\\'" "-nq8.png"
|
(thumbnail-nq8-file (replace-regexp-in-string ".png\\'" "-nq8.png"
|
||||||
thumbnail-file))
|
thumbnail-file))
|
||||||
(spec
|
(spec
|
||||||
|
|
|
@ -34,8 +34,8 @@
|
||||||
(defconst image-type-header-regexps
|
(defconst image-type-header-regexps
|
||||||
`(("\\`/[\t\n\r ]*\\*.*XPM.\\*/" . xpm)
|
`(("\\`/[\t\n\r ]*\\*.*XPM.\\*/" . xpm)
|
||||||
("\\`P[1-6]\\(?:\
|
("\\`P[1-6]\\(?:\
|
||||||
\\(?:\\(?:#[^\r\n]*[\r\n]\\)?[[:space:]]\\)+\
|
\\(?:\\(?:#[^\r\n]*[\r\n]\\)*[[:space:]]\\)+\
|
||||||
\\(?:\\(?:#[^\r\n]*[\r\n]\\)?[0-9]\\)+\
|
\\(?:\\(?:#[^\r\n]*[\r\n]\\)*[0-9]\\)+\
|
||||||
\\)\\{2\\}" . pbm)
|
\\)\\{2\\}" . pbm)
|
||||||
("\\`GIF8[79]a" . gif)
|
("\\`GIF8[79]a" . gif)
|
||||||
("\\`\x89PNG\r\n\x1a\n" . png)
|
("\\`\x89PNG\r\n\x1a\n" . png)
|
||||||
|
|
|
@ -937,7 +937,7 @@ without repeating the prefix."
|
||||||
|
|
||||||
;;; Single-step editing of keyboard macros
|
;;; Single-step editing of keyboard macros
|
||||||
|
|
||||||
(defvar kmacro-step-edit-active) ;; step-editing active
|
(defvar kmacro-step-edit-active nil) ;; step-editing active
|
||||||
(defvar kmacro-step-edit-new-macro) ;; storage for new macro
|
(defvar kmacro-step-edit-new-macro) ;; storage for new macro
|
||||||
(defvar kmacro-step-edit-inserting) ;; inserting into macro
|
(defvar kmacro-step-edit-inserting) ;; inserting into macro
|
||||||
(defvar kmacro-step-edit-appending) ;; append to end of macro
|
(defvar kmacro-step-edit-appending) ;; append to end of macro
|
||||||
|
|
|
@ -95,7 +95,10 @@ Customizing the value takes effect when you start Emacs next time."
|
||||||
:type '(choice
|
:type '(choice
|
||||||
(const :tag "default" nil)
|
(const :tag "default" nil)
|
||||||
(const :tag "as space" as-space)
|
(const :tag "as space" as-space)
|
||||||
(const :tag "absorb" absorb)))
|
(const :tag "absorb" absorb))
|
||||||
|
:set (lambda (sym val)
|
||||||
|
(set-default sym val)
|
||||||
|
(clear-composition-cache)))
|
||||||
|
|
||||||
;; Record error in arabic-change-gstring.
|
;; Record error in arabic-change-gstring.
|
||||||
(defvar arabic-shape-log nil)
|
(defvar arabic-shape-log nil)
|
||||||
|
|
|
@ -2349,7 +2349,15 @@ choose a font."
|
||||||
If the value is a modifier, such as `control' or `shift' or `meta',
|
If the value is a modifier, such as `control' or `shift' or `meta',
|
||||||
then if that modifier key is pressed when dropping the region, region
|
then if that modifier key is pressed when dropping the region, region
|
||||||
text is copied instead of being cut."
|
text is copied instead of being cut."
|
||||||
:type 'symbol
|
:type `(choice
|
||||||
|
(const :tag "Disable dragging the region" nil)
|
||||||
|
,@(mapcar
|
||||||
|
(lambda (modifier)
|
||||||
|
`(const :tag ,(format "Enable, but copy with the %s modifier"
|
||||||
|
modifier)
|
||||||
|
modifier))
|
||||||
|
'(alt super hyper shift control meta))
|
||||||
|
(other :tag "Enable dragging the region" t))
|
||||||
:version "26.1"
|
:version "26.1"
|
||||||
:group 'mouse)
|
:group 'mouse)
|
||||||
|
|
||||||
|
|
|
@ -802,38 +802,43 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are completely ignored."
|
||||||
(setq filename (expand-file-name filename)
|
(setq filename (expand-file-name filename)
|
||||||
newname (expand-file-name newname))
|
newname (expand-file-name newname))
|
||||||
|
|
||||||
(let ((t1 (tramp-tramp-file-p filename))
|
(if (file-directory-p filename)
|
||||||
(t2 (tramp-tramp-file-p newname)))
|
(progn
|
||||||
(with-parsed-tramp-file-name (if t1 filename newname) nil
|
(copy-directory filename newname t t)
|
||||||
(with-tramp-progress-reporter
|
(delete-directory filename 'recursive))
|
||||||
v 0 (format "Renaming %s to %s" filename newname)
|
|
||||||
|
|
||||||
(if (and t1 t2
|
(let ((t1 (tramp-tramp-file-p filename))
|
||||||
(tramp-equal-remote filename newname)
|
(t2 (tramp-tramp-file-p newname)))
|
||||||
(not (file-directory-p filename)))
|
(with-parsed-tramp-file-name (if t1 filename newname) nil
|
||||||
(let ((l1 (file-remote-p filename 'localname))
|
(with-tramp-progress-reporter
|
||||||
(l2 (file-remote-p newname 'localname)))
|
v 0 (format "Renaming %s to %s" filename newname)
|
||||||
(when (and (not ok-if-already-exists)
|
|
||||||
(file-exists-p newname))
|
|
||||||
(tramp-error v 'file-already-exists newname))
|
|
||||||
;; We must also flush the cache of the directory, because
|
|
||||||
;; `file-attributes' reads the values from there.
|
|
||||||
(tramp-flush-file-property v (file-name-directory l1))
|
|
||||||
(tramp-flush-file-property v l1)
|
|
||||||
(tramp-flush-file-property v (file-name-directory l2))
|
|
||||||
(tramp-flush-file-property v l2)
|
|
||||||
;; Short track.
|
|
||||||
(tramp-adb-barf-unless-okay
|
|
||||||
v (format
|
|
||||||
"mv -f %s %s"
|
|
||||||
(tramp-shell-quote-argument l1)
|
|
||||||
(tramp-shell-quote-argument l2))
|
|
||||||
"Error renaming %s to %s" filename newname))
|
|
||||||
|
|
||||||
;; Rename by copy.
|
(if (and t1 t2
|
||||||
(copy-file
|
(tramp-equal-remote filename newname)
|
||||||
filename newname ok-if-already-exists 'keep-time 'preserve-uid-gid)
|
(not (file-directory-p filename)))
|
||||||
(delete-file filename))))))
|
(let ((l1 (file-remote-p filename 'localname))
|
||||||
|
(l2 (file-remote-p newname 'localname)))
|
||||||
|
(when (and (not ok-if-already-exists)
|
||||||
|
(file-exists-p newname))
|
||||||
|
(tramp-error v 'file-already-exists newname))
|
||||||
|
;; We must also flush the cache of the directory, because
|
||||||
|
;; `file-attributes' reads the values from there.
|
||||||
|
(tramp-flush-file-property v (file-name-directory l1))
|
||||||
|
(tramp-flush-file-property v l1)
|
||||||
|
(tramp-flush-file-property v (file-name-directory l2))
|
||||||
|
(tramp-flush-file-property v l2)
|
||||||
|
;; Short track.
|
||||||
|
(tramp-adb-barf-unless-okay
|
||||||
|
v (format
|
||||||
|
"mv -f %s %s"
|
||||||
|
(tramp-shell-quote-argument l1)
|
||||||
|
(tramp-shell-quote-argument l2))
|
||||||
|
"Error renaming %s to %s" filename newname))
|
||||||
|
|
||||||
|
;; Rename by copy.
|
||||||
|
(copy-file
|
||||||
|
filename newname ok-if-already-exists 'keep-time 'preserve-uid-gid)
|
||||||
|
(delete-file filename)))))))
|
||||||
|
|
||||||
(defun tramp-adb-handle-process-file
|
(defun tramp-adb-handle-process-file
|
||||||
(program &optional infile destination display &rest args)
|
(program &optional infile destination display &rest args)
|
||||||
|
|
|
@ -675,6 +675,11 @@ file names."
|
||||||
(unless (memq op '(copy rename))
|
(unless (memq op '(copy rename))
|
||||||
(error "Unknown operation `%s', must be `copy' or `rename'" op))
|
(error "Unknown operation `%s', must be `copy' or `rename'" op))
|
||||||
|
|
||||||
|
(if (file-directory-p filename)
|
||||||
|
(progn
|
||||||
|
(copy-directory filename newname keep-date t)
|
||||||
|
(when (eq op 'rename) (delete-directory filename 'recursive)))
|
||||||
|
|
||||||
(let ((t1 (tramp-tramp-file-p filename))
|
(let ((t1 (tramp-tramp-file-p filename))
|
||||||
(t2 (tramp-tramp-file-p newname))
|
(t2 (tramp-tramp-file-p newname))
|
||||||
(equal-remote (tramp-equal-remote filename newname))
|
(equal-remote (tramp-equal-remote filename newname))
|
||||||
|
@ -738,7 +743,7 @@ file names."
|
||||||
(when t2
|
(when t2
|
||||||
(with-parsed-tramp-file-name newname nil
|
(with-parsed-tramp-file-name newname nil
|
||||||
(tramp-flush-file-property v (file-name-directory localname))
|
(tramp-flush-file-property v (file-name-directory localname))
|
||||||
(tramp-flush-file-property v localname)))))))
|
(tramp-flush-file-property v localname))))))))
|
||||||
|
|
||||||
(defun tramp-gvfs-handle-copy-file
|
(defun tramp-gvfs-handle-copy-file
|
||||||
(filename newname &optional ok-if-already-exists keep-date
|
(filename newname &optional ok-if-already-exists keep-date
|
||||||
|
|
|
@ -2039,96 +2039,102 @@ of `copy' and `rename'. FILENAME and NEWNAME must be absolute
|
||||||
file names."
|
file names."
|
||||||
(unless (memq op '(copy rename))
|
(unless (memq op '(copy rename))
|
||||||
(error "Unknown operation `%s', must be `copy' or `rename'" op))
|
(error "Unknown operation `%s', must be `copy' or `rename'" op))
|
||||||
(let ((t1 (tramp-tramp-file-p filename))
|
|
||||||
(t2 (tramp-tramp-file-p newname))
|
|
||||||
(length (tramp-compat-file-attribute-size
|
|
||||||
(file-attributes (file-truename filename))))
|
|
||||||
(attributes (and preserve-extended-attributes
|
|
||||||
(apply 'file-extended-attributes (list filename)))))
|
|
||||||
|
|
||||||
(with-parsed-tramp-file-name (if t1 filename newname) nil
|
(if (file-directory-p filename)
|
||||||
(when (and (not ok-if-already-exists) (file-exists-p newname))
|
(progn
|
||||||
(tramp-error v 'file-already-exists newname))
|
(copy-directory filename newname keep-date t)
|
||||||
|
(when (eq op 'rename) (delete-directory filename 'recursive)))
|
||||||
|
|
||||||
(with-tramp-progress-reporter
|
(let ((t1 (tramp-tramp-file-p filename))
|
||||||
v 0 (format "%s %s to %s"
|
(t2 (tramp-tramp-file-p newname))
|
||||||
(if (eq op 'copy) "Copying" "Renaming")
|
(length (tramp-compat-file-attribute-size
|
||||||
filename newname)
|
(file-attributes (file-truename filename))))
|
||||||
|
(attributes (and preserve-extended-attributes
|
||||||
|
(apply 'file-extended-attributes (list filename)))))
|
||||||
|
|
||||||
(cond
|
(with-parsed-tramp-file-name (if t1 filename newname) nil
|
||||||
;; Both are Tramp files.
|
(when (and (not ok-if-already-exists) (file-exists-p newname))
|
||||||
((and t1 t2)
|
(tramp-error v 'file-already-exists newname))
|
||||||
(with-parsed-tramp-file-name filename v1
|
|
||||||
(with-parsed-tramp-file-name newname v2
|
|
||||||
(cond
|
|
||||||
;; Shortcut: if method, host, user are the same for
|
|
||||||
;; both files, we invoke `cp' or `mv' on the remote
|
|
||||||
;; host directly.
|
|
||||||
((tramp-equal-remote filename newname)
|
|
||||||
(tramp-do-copy-or-rename-file-directly
|
|
||||||
op filename newname
|
|
||||||
ok-if-already-exists keep-date preserve-uid-gid))
|
|
||||||
|
|
||||||
;; Try out-of-band operation.
|
(with-tramp-progress-reporter
|
||||||
((and
|
v 0 (format "%s %s to %s"
|
||||||
(tramp-method-out-of-band-p v1 length)
|
(if (eq op 'copy) "Copying" "Renaming")
|
||||||
(tramp-method-out-of-band-p v2 length))
|
filename newname)
|
||||||
(tramp-do-copy-or-rename-file-out-of-band
|
|
||||||
op filename newname keep-date))
|
|
||||||
|
|
||||||
;; No shortcut was possible. So we copy the file
|
|
||||||
;; first. If the operation was `rename', we go back
|
|
||||||
;; and delete the original file (if the copy was
|
|
||||||
;; successful). The approach is simple-minded: we
|
|
||||||
;; create a new buffer, insert the contents of the
|
|
||||||
;; source file into it, then write out the buffer to
|
|
||||||
;; the target file. The advantage is that it doesn't
|
|
||||||
;; matter which file name handlers are used for the
|
|
||||||
;; source and target file.
|
|
||||||
(t
|
|
||||||
(tramp-do-copy-or-rename-file-via-buffer
|
|
||||||
op filename newname keep-date))))))
|
|
||||||
|
|
||||||
;; One file is a Tramp file, the other one is local.
|
|
||||||
((or t1 t2)
|
|
||||||
(cond
|
(cond
|
||||||
;; Fast track on local machine.
|
;; Both are Tramp files.
|
||||||
((tramp-local-host-p v)
|
((and t1 t2)
|
||||||
(tramp-do-copy-or-rename-file-directly
|
(with-parsed-tramp-file-name filename v1
|
||||||
op filename newname
|
(with-parsed-tramp-file-name newname v2
|
||||||
ok-if-already-exists keep-date preserve-uid-gid))
|
(cond
|
||||||
|
;; Shortcut: if method, host, user are the same for
|
||||||
|
;; both files, we invoke `cp' or `mv' on the remote
|
||||||
|
;; host directly.
|
||||||
|
((tramp-equal-remote filename newname)
|
||||||
|
(tramp-do-copy-or-rename-file-directly
|
||||||
|
op filename newname
|
||||||
|
ok-if-already-exists keep-date preserve-uid-gid))
|
||||||
|
|
||||||
;; If the Tramp file has an out-of-band method, the
|
;; Try out-of-band operation.
|
||||||
;; corresponding copy-program can be invoked.
|
((and
|
||||||
((tramp-method-out-of-band-p v length)
|
(tramp-method-out-of-band-p v1 length)
|
||||||
(tramp-do-copy-or-rename-file-out-of-band
|
(tramp-method-out-of-band-p v2 length))
|
||||||
op filename newname keep-date))
|
(tramp-do-copy-or-rename-file-out-of-band
|
||||||
|
op filename newname keep-date))
|
||||||
|
|
||||||
;; Use the inline method via a Tramp buffer.
|
;; No shortcut was possible. So we copy the file
|
||||||
(t (tramp-do-copy-or-rename-file-via-buffer
|
;; first. If the operation was `rename', we go back
|
||||||
op filename newname keep-date))))
|
;; and delete the original file (if the copy was
|
||||||
|
;; successful). The approach is simple-minded: we
|
||||||
|
;; create a new buffer, insert the contents of the
|
||||||
|
;; source file into it, then write out the buffer to
|
||||||
|
;; the target file. The advantage is that it doesn't
|
||||||
|
;; matter which file name handlers are used for the
|
||||||
|
;; source and target file.
|
||||||
|
(t
|
||||||
|
(tramp-do-copy-or-rename-file-via-buffer
|
||||||
|
op filename newname keep-date))))))
|
||||||
|
|
||||||
(t
|
;; One file is a Tramp file, the other one is local.
|
||||||
;; One of them must be a Tramp file.
|
((or t1 t2)
|
||||||
(error "Tramp implementation says this cannot happen")))
|
(cond
|
||||||
|
;; Fast track on local machine.
|
||||||
|
((tramp-local-host-p v)
|
||||||
|
(tramp-do-copy-or-rename-file-directly
|
||||||
|
op filename newname
|
||||||
|
ok-if-already-exists keep-date preserve-uid-gid))
|
||||||
|
|
||||||
;; Handle `preserve-extended-attributes'. We ignore possible
|
;; If the Tramp file has an out-of-band method, the
|
||||||
;; errors, because ACL strings could be incompatible.
|
;; corresponding copy-program can be invoked.
|
||||||
(when attributes
|
((tramp-method-out-of-band-p v length)
|
||||||
(ignore-errors
|
(tramp-do-copy-or-rename-file-out-of-band
|
||||||
(apply 'set-file-extended-attributes (list newname attributes))))
|
op filename newname keep-date))
|
||||||
|
|
||||||
;; In case of `rename', we must flush the cache of the source file.
|
;; Use the inline method via a Tramp buffer.
|
||||||
(when (and t1 (eq op 'rename))
|
(t (tramp-do-copy-or-rename-file-via-buffer
|
||||||
(with-parsed-tramp-file-name filename v1
|
op filename newname keep-date))))
|
||||||
(tramp-flush-file-property v1 (file-name-directory v1-localname))
|
|
||||||
(tramp-flush-file-property v1 v1-localname)))
|
|
||||||
|
|
||||||
;; When newname did exist, we have wrong cached values.
|
(t
|
||||||
(when t2
|
;; One of them must be a Tramp file.
|
||||||
(with-parsed-tramp-file-name newname v2
|
(error "Tramp implementation says this cannot happen")))
|
||||||
(tramp-flush-file-property v2 (file-name-directory v2-localname))
|
|
||||||
(tramp-flush-file-property v2 v2-localname)))))))
|
;; Handle `preserve-extended-attributes'. We ignore possible
|
||||||
|
;; errors, because ACL strings could be incompatible.
|
||||||
|
(when attributes
|
||||||
|
(ignore-errors
|
||||||
|
(apply 'set-file-extended-attributes (list newname attributes))))
|
||||||
|
|
||||||
|
;; In case of `rename', we must flush the cache of the source file.
|
||||||
|
(when (and t1 (eq op 'rename))
|
||||||
|
(with-parsed-tramp-file-name filename v1
|
||||||
|
(tramp-flush-file-property v1 (file-name-directory v1-localname))
|
||||||
|
(tramp-flush-file-property v1 v1-localname)))
|
||||||
|
|
||||||
|
;; When newname did exist, we have wrong cached values.
|
||||||
|
(when t2
|
||||||
|
(with-parsed-tramp-file-name newname v2
|
||||||
|
(tramp-flush-file-property v2 (file-name-directory v2-localname))
|
||||||
|
(tramp-flush-file-property v2 v2-localname))))))))
|
||||||
|
|
||||||
(defun tramp-do-copy-or-rename-file-via-buffer (op filename newname keep-date)
|
(defun tramp-do-copy-or-rename-file-via-buffer (op filename newname keep-date)
|
||||||
"Use an Emacs buffer to copy or rename a file.
|
"Use an Emacs buffer to copy or rename a file.
|
||||||
|
|
|
@ -1073,10 +1073,11 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are completely ignored."
|
||||||
entries))
|
entries))
|
||||||
|
|
||||||
;; Insert size information.
|
;; Insert size information.
|
||||||
(insert
|
(when full-directory-p
|
||||||
(if avail
|
(insert
|
||||||
(format "total used in directory %s available %s\n" used avail)
|
(if avail
|
||||||
(format "total %s\n" used)))
|
(format "total used in directory %s available %s\n" used avail)
|
||||||
|
(format "total %s\n" used))))
|
||||||
|
|
||||||
;; Print entries.
|
;; Print entries.
|
||||||
(mapc
|
(mapc
|
||||||
|
|
|
@ -604,7 +604,8 @@ Important: the match ends just after the marker.")
|
||||||
"Return header line for Proced buffer."
|
"Return header line for Proced buffer."
|
||||||
(list (propertize " "
|
(list (propertize " "
|
||||||
'display
|
'display
|
||||||
(list 'space :align-to (+ 2 (line-number-display-width))))
|
(list 'space :align-to
|
||||||
|
(line-number-display-width 'columns)))
|
||||||
(if (<= (window-hscroll) (length proced-header-line))
|
(if (<= (window-hscroll) (length proced-header-line))
|
||||||
(replace-regexp-in-string ;; preserve text properties
|
(replace-regexp-in-string ;; preserve text properties
|
||||||
"\\(%\\)" "\\1\\1"
|
"\\(%\\)" "\\1\\1"
|
||||||
|
|
|
@ -1693,7 +1693,8 @@ current buffer state and calls REPORT-FN when done."
|
||||||
(when (eq (process-status proc) 'exit)
|
(when (eq (process-status proc) 'exit)
|
||||||
(unwind-protect
|
(unwind-protect
|
||||||
(cond
|
(cond
|
||||||
((not (eq proc elisp-flymake--byte-compile-process))
|
((not (eq proc (with-current-buffer source-buffer
|
||||||
|
elisp-flymake--byte-compile-process)))
|
||||||
(flymake-log :warning "byte-compile process %s obsolete" proc))
|
(flymake-log :warning "byte-compile process %s obsolete" proc))
|
||||||
((zerop (process-exit-status proc))
|
((zerop (process-exit-status proc))
|
||||||
(elisp-flymake--byte-compile-done report-fn
|
(elisp-flymake--byte-compile-done report-fn
|
||||||
|
|
|
@ -909,6 +909,8 @@ Can be overridden by the value of `font-lock-maximum-decoration'.")
|
||||||
[ \t]*\\(\\(?:\\sw\\|\\s_\\)+\\)"
|
[ \t]*\\(\\(?:\\sw\\|\\s_\\)+\\)"
|
||||||
"Regexp matching the definition of a derived type.")
|
"Regexp matching the definition of a derived type.")
|
||||||
|
|
||||||
|
;; Maybe this should include "class default", but the constant is no
|
||||||
|
;; longer used.
|
||||||
(defconst f90-typeis-re
|
(defconst f90-typeis-re
|
||||||
"\\_<\\(class\\|type\\)[ \t]*is[ \t]*("
|
"\\_<\\(class\\|type\\)[ \t]*is[ \t]*("
|
||||||
"Regexp matching a CLASS/TYPE IS statement.")
|
"Regexp matching a CLASS/TYPE IS statement.")
|
||||||
|
@ -955,10 +957,14 @@ Used in the F90 entry in `hs-special-modes-alist'.")
|
||||||
;; Avoid F2003 "type is" in "select type",
|
;; Avoid F2003 "type is" in "select type",
|
||||||
;; and also variables of derived type "type (foo)".
|
;; and also variables of derived type "type (foo)".
|
||||||
;; "type, foo" must be a block (?).
|
;; "type, foo" must be a block (?).
|
||||||
|
;; And a partial effort to avoid "class default".
|
||||||
"\\(?:type\\|class\\)[ \t,]\\("
|
"\\(?:type\\|class\\)[ \t,]\\("
|
||||||
"[^i(!\n\"& \t]\\|" ; not-i(
|
"[^id(!\n\"& \t]\\|" ; not-id(
|
||||||
"i[^s!\n\"& \t]\\|" ; i not-s
|
"i[^s!\n\"& \t]\\|" ; i not-s
|
||||||
"is\\(?:\\sw\\|\\s_\\)\\)\\|"
|
"d[^e!\n\"& \t]\\|" ; d not-e
|
||||||
|
"de[^f!\n\"& \t]\\|" ; de not-f
|
||||||
|
"def[^a!\n\"& \t]\\|" ; def not-a
|
||||||
|
"\\(?:is\\|default\\)\\(?:\\sw\\|\\s_\\)\\)\\|"
|
||||||
;; "abstract interface" is F2003; "submodule" is F2008.
|
;; "abstract interface" is F2003; "submodule" is F2008.
|
||||||
"program\\|\\(?:abstract[ \t]*\\)?interface\\|\\(?:sub\\)?module\\|"
|
"program\\|\\(?:abstract[ \t]*\\)?interface\\|\\(?:sub\\)?module\\|"
|
||||||
;; "enum", but not "enumerator".
|
;; "enum", but not "enumerator".
|
||||||
|
@ -1454,7 +1460,7 @@ if all else fails."
|
||||||
(not (or (looking-at "end")
|
(not (or (looking-at "end")
|
||||||
(looking-at "\\(do\\|if\\|else\\(if\\|where\\)?\
|
(looking-at "\\(do\\|if\\|else\\(if\\|where\\)?\
|
||||||
\\|select[ \t]*\\(case\\|type\\)\\|case\\|where\\|forall\\|\
|
\\|select[ \t]*\\(case\\|type\\)\\|case\\|where\\|forall\\|\
|
||||||
\\(?:class\\|type\\)[ \t]*is\\|\
|
\\(?:class\\|type\\)[ \t]*is\\|class[ \t]*default\\|\
|
||||||
block\\|critical\\|enum\\|associate\\)\\_>")
|
block\\|critical\\|enum\\|associate\\)\\_>")
|
||||||
(looking-at "\\(program\\|\\(?:sub\\)?module\\|\
|
(looking-at "\\(program\\|\\(?:sub\\)?module\\|\
|
||||||
\\(?:abstract[ \t]*\\)?interface\\|block[ \t]*data\\)\\_>")
|
\\(?:abstract[ \t]*\\)?interface\\|block[ \t]*data\\)\\_>")
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
;; GNU General Public License for more details.
|
;; GNU General Public License for more details.
|
||||||
|
|
||||||
;; You should have received a copy of the GNU General Public License
|
;; You should have received a copy of the GNU General Public License
|
||||||
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
|
;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
;;; Commentary:
|
;;; Commentary:
|
||||||
;;
|
;;
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
;; GNU General Public License for more details.
|
;; GNU General Public License for more details.
|
||||||
|
|
||||||
;; You should have received a copy of the GNU General Public License
|
;; You should have received a copy of the GNU General Public License
|
||||||
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
|
;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
;;; Commentary:
|
;;; Commentary:
|
||||||
;;
|
;;
|
||||||
|
@ -48,7 +48,8 @@
|
||||||
(require 'thingatpt) ; end-of-thing
|
(require 'thingatpt) ; end-of-thing
|
||||||
(require 'warnings) ; warning-numeric-level, display-warning
|
(require 'warnings) ; warning-numeric-level, display-warning
|
||||||
(require 'compile) ; for some faces
|
(require 'compile) ; for some faces
|
||||||
(require 'subr-x) ; when-let*, if-let*, hash-table-keys, hash-table-values
|
;; when-let*, if-let*, hash-table-keys, hash-table-values:
|
||||||
|
(eval-when-compile (require 'subr-x))
|
||||||
|
|
||||||
(defgroup flymake nil
|
(defgroup flymake nil
|
||||||
"Universal on-the-fly syntax checker."
|
"Universal on-the-fly syntax checker."
|
||||||
|
@ -228,6 +229,29 @@ TYPE is a key to `flymake-diagnostic-types-alist' and TEXT is a
|
||||||
description of the problem detected in this region."
|
description of the problem detected in this region."
|
||||||
(flymake--diag-make :buffer buffer :beg beg :end end :type type :text text))
|
(flymake--diag-make :buffer buffer :beg beg :end end :type type :text text))
|
||||||
|
|
||||||
|
;;;###autoload
|
||||||
|
(defun flymake-diagnostics (&optional beg end)
|
||||||
|
"Get Flymake diagnostics in region determined by BEG and END.
|
||||||
|
|
||||||
|
If neither BEG or END is supplied, use the whole buffer,
|
||||||
|
otherwise if BEG is non-nil and END is nil, consider only
|
||||||
|
diagnostics at BEG."
|
||||||
|
(mapcar (lambda (ov) (overlay-get ov 'flymake-diagnostic))
|
||||||
|
(flymake--overlays :beg beg :end end)))
|
||||||
|
|
||||||
|
(defmacro flymake--diag-accessor (public internal thing)
|
||||||
|
"Make PUBLIC an alias for INTERNAL, add doc using THING."
|
||||||
|
`(defsubst ,public (diag)
|
||||||
|
,(format "Get Flymake diagnostic DIAG's %s." (symbol-name thing))
|
||||||
|
(,internal diag)))
|
||||||
|
|
||||||
|
(flymake--diag-accessor flymake-diagnostic-buffer flymake--diag-buffer buffer)
|
||||||
|
(flymake--diag-accessor flymake-diagnostic-text flymake--diag-text text)
|
||||||
|
(flymake--diag-accessor flymake-diagnostic-type flymake--diag-type type)
|
||||||
|
(flymake--diag-accessor flymake-diagnostic-beg flymake--diag-beg beg)
|
||||||
|
(flymake--diag-accessor flymake-diagnostic-end flymake--diag-end end)
|
||||||
|
(flymake--diag-accessor flymake-diagnostic-backend flymake--diag-backend backend)
|
||||||
|
|
||||||
(cl-defun flymake--overlays (&key beg end filter compare key)
|
(cl-defun flymake--overlays (&key beg end filter compare key)
|
||||||
"Get flymake-related overlays.
|
"Get flymake-related overlays.
|
||||||
If BEG is non-nil and END is nil, consider only `overlays-at'
|
If BEG is non-nil and END is nil, consider only `overlays-at'
|
||||||
|
@ -238,7 +262,7 @@ verify FILTER, a function, and sort them by COMPARE (using KEY)."
|
||||||
(widen)
|
(widen)
|
||||||
(let ((ovs (cl-remove-if-not
|
(let ((ovs (cl-remove-if-not
|
||||||
(lambda (ov)
|
(lambda (ov)
|
||||||
(and (overlay-get ov 'flymake)
|
(and (overlay-get ov 'flymake-diagnostic)
|
||||||
(or (not filter)
|
(or (not filter)
|
||||||
(funcall filter ov))))
|
(funcall filter ov))))
|
||||||
(if (and beg (null end))
|
(if (and beg (null end))
|
||||||
|
@ -498,18 +522,15 @@ associated `flymake-category' return DEFAULT."
|
||||||
(default-maybe 'help-echo
|
(default-maybe 'help-echo
|
||||||
(lambda (_window _ov pos)
|
(lambda (_window _ov pos)
|
||||||
(mapconcat
|
(mapconcat
|
||||||
(lambda (ov)
|
#'flymake--diag-text
|
||||||
(overlay-get ov 'flymake-text))
|
(flymake-diagnostics pos)
|
||||||
(flymake--overlays :beg pos)
|
|
||||||
"\n")))
|
"\n")))
|
||||||
(default-maybe 'severity (warning-numeric-level :error))
|
(default-maybe 'severity (warning-numeric-level :error))
|
||||||
(default-maybe 'priority (+ 100 (overlay-get ov 'severity))))
|
(default-maybe 'priority (+ 100 (overlay-get ov 'severity))))
|
||||||
;; Some properties can't be overridden.
|
;; Some properties can't be overridden.
|
||||||
;;
|
;;
|
||||||
(overlay-put ov 'evaporate t)
|
(overlay-put ov 'evaporate t)
|
||||||
(overlay-put ov 'flymake t)
|
(overlay-put ov 'flymake-diagnostic diagnostic)))
|
||||||
(overlay-put ov 'flymake-text (flymake--diag-text diagnostic))
|
|
||||||
(overlay-put ov 'flymake--diagnostic diagnostic)))
|
|
||||||
|
|
||||||
;; Nothing in Flymake uses this at all any more, so this is just for
|
;; Nothing in Flymake uses this at all any more, so this is just for
|
||||||
;; third-party compatibility.
|
;; third-party compatibility.
|
||||||
|
@ -600,7 +621,7 @@ not expected."
|
||||||
(lambda (ov)
|
(lambda (ov)
|
||||||
(eq backend
|
(eq backend
|
||||||
(flymake--diag-backend
|
(flymake--diag-backend
|
||||||
(overlay-get ov 'flymake--diagnostic))))))
|
(overlay-get ov 'flymake-diagnostic))))))
|
||||||
(mapc (lambda (diag)
|
(mapc (lambda (diag)
|
||||||
(flymake--highlight-line diag)
|
(flymake--highlight-line diag)
|
||||||
(setf (flymake--diag-backend diag) backend))
|
(setf (flymake--diag-backend diag) backend))
|
||||||
|
@ -899,7 +920,7 @@ applied."
|
||||||
(lambda (ov)
|
(lambda (ov)
|
||||||
(let ((diag (overlay-get
|
(let ((diag (overlay-get
|
||||||
ov
|
ov
|
||||||
'flymake--diagnostic)))
|
'flymake-diagnostic)))
|
||||||
(and diag
|
(and diag
|
||||||
(or (not filter)
|
(or (not filter)
|
||||||
(memq (flymake--diag-type diag)
|
(memq (flymake--diag-type diag)
|
||||||
|
@ -1089,13 +1110,13 @@ applied."
|
||||||
(interactive (list (point) t))
|
(interactive (list (point) t))
|
||||||
(let* ((id (or (tabulated-list-get-id pos)
|
(let* ((id (or (tabulated-list-get-id pos)
|
||||||
(user-error "Nothing at point")))
|
(user-error "Nothing at point")))
|
||||||
(overlay (plist-get id :overlay)))
|
(diag (plist-get id :diagnostic)))
|
||||||
(with-current-buffer (overlay-buffer overlay)
|
(with-current-buffer (flymake--diag-buffer diag)
|
||||||
(with-selected-window
|
(with-selected-window
|
||||||
(display-buffer (current-buffer) other-window)
|
(display-buffer (current-buffer) other-window)
|
||||||
(goto-char (overlay-start overlay))
|
(goto-char (flymake--diag-beg diag))
|
||||||
(pulse-momentary-highlight-region (overlay-start overlay)
|
(pulse-momentary-highlight-region (flymake--diag-beg diag)
|
||||||
(overlay-end overlay)
|
(flymake--diag-end diag)
|
||||||
'highlight))
|
'highlight))
|
||||||
(current-buffer))))
|
(current-buffer))))
|
||||||
|
|
||||||
|
@ -1108,18 +1129,16 @@ POS can be a buffer position or a button"
|
||||||
|
|
||||||
(defun flymake--diagnostics-buffer-entries ()
|
(defun flymake--diagnostics-buffer-entries ()
|
||||||
(with-current-buffer flymake--diagnostics-buffer-source
|
(with-current-buffer flymake--diagnostics-buffer-source
|
||||||
(cl-loop for ov in (flymake--overlays)
|
(cl-loop for diag in (flymake-diagnostics)
|
||||||
for diag = (overlay-get ov
|
|
||||||
'flymake--diagnostic)
|
|
||||||
for (line . col) =
|
for (line . col) =
|
||||||
(save-excursion
|
(save-excursion
|
||||||
(goto-char (overlay-start ov))
|
(goto-char (flymake--diag-beg diag))
|
||||||
(cons (line-number-at-pos)
|
(cons (line-number-at-pos)
|
||||||
(- (point)
|
(- (point)
|
||||||
(line-beginning-position))))
|
(line-beginning-position))))
|
||||||
for type = (flymake--diag-type diag)
|
for type = (flymake--diag-type diag)
|
||||||
collect
|
collect
|
||||||
(list (list :overlay ov
|
(list (list :diagnostic diag
|
||||||
:line line
|
:line line
|
||||||
:severity (flymake--lookup-type-property
|
:severity (flymake--lookup-type-property
|
||||||
type
|
type
|
||||||
|
|
|
@ -3304,8 +3304,9 @@ the full statement in the case of imports."
|
||||||
(defcustom python-shell-completion-native-disabled-interpreters
|
(defcustom python-shell-completion-native-disabled-interpreters
|
||||||
;; PyPy's readline cannot handle some escape sequences yet. Native
|
;; PyPy's readline cannot handle some escape sequences yet. Native
|
||||||
;; completion was found to be non-functional for IPython (see
|
;; completion was found to be non-functional for IPython (see
|
||||||
;; Bug#25067).
|
;; Bug#25067). Native completion doesn't work on w32 (Bug#28580).
|
||||||
(list "pypy" "ipython")
|
(if (eq system-type 'windows-nt) '("")
|
||||||
|
'("pypy" "ipython"))
|
||||||
"List of disabled interpreters.
|
"List of disabled interpreters.
|
||||||
When a match is found, native completion is disabled."
|
When a match is found, native completion is disabled."
|
||||||
:version "25.1"
|
:version "25.1"
|
||||||
|
|
|
@ -450,6 +450,10 @@ With a prefix (or a FILL) argument, also fill too short lines."
|
||||||
"Replace rectangle contents with STRING on each line.
|
"Replace rectangle contents with STRING on each line.
|
||||||
The length of STRING need not be the same as the rectangle width.
|
The length of STRING need not be the same as the rectangle width.
|
||||||
|
|
||||||
|
When called interactively and option `rectangle-preview' is
|
||||||
|
non-nil, display the result as the user enters the string into
|
||||||
|
the minibuffer.
|
||||||
|
|
||||||
Called from a program, takes three args; START, END and STRING."
|
Called from a program, takes three args; START, END and STRING."
|
||||||
(interactive
|
(interactive
|
||||||
(progn
|
(progn
|
||||||
|
|
|
@ -307,7 +307,12 @@ or remove a tab stop. \\[ruler-mode-toggle-show-tab-stops] or
|
||||||
N is a column number relative to selected frame.
|
N is a column number relative to selected frame.
|
||||||
If required, account for screen estate taken by `display-line-numbers'."
|
If required, account for screen estate taken by `display-line-numbers'."
|
||||||
(if display-line-numbers
|
(if display-line-numbers
|
||||||
(setq n (- n (line-number-display-width) 2)))
|
;; FIXME: ruler-mode relies on N being an integer, so if the
|
||||||
|
;; 'line-number' face is customized to use a font that is larger
|
||||||
|
;; or smaller than that of the default face, the alignment might
|
||||||
|
;; be off by up to half a column, unless the font width is an
|
||||||
|
;; integral multiple or divisor of the default face's font.
|
||||||
|
(setq n (- n (round (line-number-display-width 'columns)))))
|
||||||
(- n
|
(- n
|
||||||
(or (car (window-margins)) 0)
|
(or (car (window-margins)) 0)
|
||||||
(fringe-columns 'left)
|
(fringe-columns 'left)
|
||||||
|
@ -668,7 +673,12 @@ Optional argument PROPS specifies other text properties to apply."
|
||||||
(let* ((w (ruler-mode-text-scaled-window-width))
|
(let* ((w (ruler-mode-text-scaled-window-width))
|
||||||
(m (window-margins))
|
(m (window-margins))
|
||||||
(f (window-fringes))
|
(f (window-fringes))
|
||||||
(i (if display-line-numbers (+ (line-number-display-width) 2) 0))
|
(i (if display-line-numbers
|
||||||
|
;; FIXME: ruler-mode relies on I being an integer, so
|
||||||
|
;; the column numbers might be slightly off if the
|
||||||
|
;; line-number face is customized.
|
||||||
|
(round (line-number-display-width 'columns))
|
||||||
|
0))
|
||||||
(j (ruler-mode-text-scaled-window-hscroll))
|
(j (ruler-mode-text-scaled-window-hscroll))
|
||||||
;; Setup the scrollbar, fringes, and margins areas.
|
;; Setup the scrollbar, fringes, and margins areas.
|
||||||
(lf (ruler-mode-space
|
(lf (ruler-mode-space
|
||||||
|
@ -708,7 +718,7 @@ Optional argument PROPS specifies other text properties to apply."
|
||||||
;; line-number display be blank, not filled with
|
;; line-number display be blank, not filled with
|
||||||
;; ruler-mode-basic-graduation-char.
|
;; ruler-mode-basic-graduation-char.
|
||||||
(if display-line-numbers
|
(if display-line-numbers
|
||||||
(let* ((lndw (+ (line-number-display-width) 2))
|
(let* ((lndw (round (line-number-display-width 'columns)))
|
||||||
(s (make-string lndw ?\s)))
|
(s (make-string lndw ?\s)))
|
||||||
(concat s (make-string (- w lndw)
|
(concat s (make-string (- w lndw)
|
||||||
ruler-mode-basic-graduation-char)))
|
ruler-mode-basic-graduation-char)))
|
||||||
|
|
|
@ -1149,7 +1149,7 @@ This function is intended to be good enough to help SMIE during
|
||||||
tokenization, but should not be regarded as a reliable function
|
tokenization, but should not be regarded as a reliable function
|
||||||
for determining whether point is within a selector."
|
for determining whether point is within a selector."
|
||||||
(save-excursion
|
(save-excursion
|
||||||
(re-search-forward "[{};)]" nil t)
|
(re-search-forward "[{};]" nil t)
|
||||||
(eq (char-before) ?\{)))
|
(eq (char-before) ?\{)))
|
||||||
|
|
||||||
(defun css--colon-inside-funcall ()
|
(defun css--colon-inside-funcall ()
|
||||||
|
|
|
@ -109,22 +109,6 @@
|
||||||
(def-edebug-spec push
|
(def-edebug-spec push
|
||||||
(&or [form symbolp] [form gv-place]))
|
(&or [form symbolp] [form gv-place]))
|
||||||
|
|
||||||
;; Correct wrong declaration. This still doesn't support dotted destructuring
|
|
||||||
;; though.
|
|
||||||
(def-edebug-spec cl-lambda-list
|
|
||||||
(([&rest cl-macro-arg]
|
|
||||||
[&optional ["&optional" cl-&optional-arg &rest cl-&optional-arg]]
|
|
||||||
[&optional ["&rest" arg]]
|
|
||||||
[&optional ["&key" [cl-&key-arg &rest cl-&key-arg]
|
|
||||||
&optional "&allow-other-keys"]]
|
|
||||||
[&optional ["&aux" &rest
|
|
||||||
&or (symbolp &optional def-form) symbolp]]
|
|
||||||
)))
|
|
||||||
|
|
||||||
;; Add missing declaration.
|
|
||||||
(def-edebug-spec cl-type-spec sexp) ;; This is not exactly correct but good
|
|
||||||
;; enough.
|
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; Support for `testcover'
|
;; Support for `testcover'
|
||||||
|
|
||||||
|
|
|
@ -177,6 +177,8 @@ For a description of possible values, see `vc-check-master-templates'."
|
||||||
(push (list frel state) result))))
|
(push (list frel state) result))))
|
||||||
(funcall update-function result)))
|
(funcall update-function result)))
|
||||||
|
|
||||||
|
(defun vc-rcs-dir-extra-headers (&rest _ignore))
|
||||||
|
|
||||||
(defun vc-rcs-working-revision (file)
|
(defun vc-rcs-working-revision (file)
|
||||||
"RCS-specific version of `vc-working-revision'."
|
"RCS-specific version of `vc-working-revision'."
|
||||||
(or (and vc-consult-headers
|
(or (and vc-consult-headers
|
||||||
|
|
|
@ -304,12 +304,15 @@ You may want to include buffer names such as *Help*, *Apropos*,
|
||||||
(push win xwins))) ; delete this window
|
(push win xwins))) ; delete this window
|
||||||
|
|
||||||
;; Restore marks
|
;; Restore marks
|
||||||
(save-current-buffer
|
;; `winner-undo' shouldn't update the selection (Bug#28631) when
|
||||||
(cl-loop for buf in buffers
|
;; select-enable-primary is non-nil.
|
||||||
for entry = (cadr (assq buf winner-point-alist))
|
(unless select-enable-primary
|
||||||
do (progn (set-buffer buf)
|
(save-current-buffer
|
||||||
(set-mark (car entry))
|
(cl-loop for buf in buffers
|
||||||
(setf (winner-active-region) (cdr entry)))))
|
for entry = (cadr (assq buf winner-point-alist))
|
||||||
|
do (progn (set-buffer buf)
|
||||||
|
(set-mark (car entry))
|
||||||
|
(setf (winner-active-region) (cdr entry))))))
|
||||||
;; Delete windows, whose buffers are dead or boring.
|
;; Delete windows, whose buffers are dead or boring.
|
||||||
;; Return t if this is still a possible configuration.
|
;; Return t if this is still a possible configuration.
|
||||||
(or (null xwins)
|
(or (null xwins)
|
||||||
|
|
|
@ -20,6 +20,6 @@ rem along with GNU Emacs. If not, see https://www.gnu.org/licenses/.
|
||||||
|
|
||||||
rem ----------------------------------------------------------------------
|
rem ----------------------------------------------------------------------
|
||||||
|
|
||||||
echo %1 | sed -e "s,\(.*\)\.c,@if not exist deps\\\1.Po echo # dummy > deps\\\1.Po," > tdepfile.bat
|
echo %1 | sed -e "s,\(.*\)\.c,@if not exist deps\\\1.d echo # dummy > deps\\\1.d," > tdepfile.bat
|
||||||
call tdepfile
|
call tdepfile
|
||||||
del tdepfile.bat
|
del tdepfile.bat
|
||||||
|
|
|
@ -94,6 +94,8 @@ s/ *@LIBXPM@//
|
||||||
/^IMAGEMAGICK_CFLAGS *=/s/@IMAGEMAGICK_CFLAGS@//
|
/^IMAGEMAGICK_CFLAGS *=/s/@IMAGEMAGICK_CFLAGS@//
|
||||||
/^LIBXML2_LIBS *=/s/@LIBXML2_LIBS@//
|
/^LIBXML2_LIBS *=/s/@LIBXML2_LIBS@//
|
||||||
/^LIBXML2_CFLAGS *=/s/@LIBXML2_CFLAGS@//
|
/^LIBXML2_CFLAGS *=/s/@LIBXML2_CFLAGS@//
|
||||||
|
/^GETADDRINFO_A_LIBS *=/s/@GETADDRINFO_A_LIBS@//
|
||||||
|
/^LIBLCMS2 *=/s/@LIBLCMS2@//
|
||||||
/^WIDGET_OBJ *=/s/@WIDGET_OBJ@//
|
/^WIDGET_OBJ *=/s/@WIDGET_OBJ@//
|
||||||
/^XWIDGETS_OBJ *=/s/@XWIDGETS_OBJ@//
|
/^XWIDGETS_OBJ *=/s/@XWIDGETS_OBJ@//
|
||||||
/^WEBKIT_LIBS *=/s/@WEBKIT_LIBS@//
|
/^WEBKIT_LIBS *=/s/@WEBKIT_LIBS@//
|
||||||
|
@ -102,16 +104,19 @@ s/ *@LIBXPM@//
|
||||||
/^CAIRO_CFLAGS *=/s/@CAIRO_CFLAGS@//
|
/^CAIRO_CFLAGS *=/s/@CAIRO_CFLAGS@//
|
||||||
/^XFIXES_LIBS *=/s/@XFIXES_LIBS@//
|
/^XFIXES_LIBS *=/s/@XFIXES_LIBS@//
|
||||||
/^XFIXES_CFLAGS *=/s/@XFIXES_CFLAGS@//
|
/^XFIXES_CFLAGS *=/s/@XFIXES_CFLAGS@//
|
||||||
|
/^XDBE_LIBS *=/s/@XDBE_LIBS@//
|
||||||
|
/^XDBE_CFLAGS *=/s/@XDBE_CFLAGS@//
|
||||||
/^CYGWIN_OBJ *=/s/@CYGWIN_OBJ@//
|
/^CYGWIN_OBJ *=/s/@CYGWIN_OBJ@//
|
||||||
/^WINDOW_SYSTEM_OBJ *=/s/@WINDOW_SYSTEM_OBJ@//
|
/^WINDOW_SYSTEM_OBJ *=/s/@WINDOW_SYSTEM_OBJ@//
|
||||||
/^MSDOS_OBJ *=/s/= */= dosfns.o msdos.o w16select.o/
|
/^MSDOS_OBJ *=/s/= */= dosfns.o msdos.o w16select.o/
|
||||||
/^NS_OBJ *=/s/@NS_OBJ@//
|
/^NS_OBJ *=/s/@NS_OBJ@//
|
||||||
/^NS_OBJC_OBJ *=/s/@NS_OBJC_OBJ@//
|
/^NS_OBJC_OBJ *=/s/@NS_OBJC_OBJ@//
|
||||||
/^GNU_OBJC_CFLAGS*=/s/=.*$/=/
|
/^GNU_OBJC_CFLAGS*=/s/=.*$/=/
|
||||||
/^LIBRESOLV *=/s/@LIBRESOLV@//
|
|
||||||
/^LIBMODULES *=/s/@LIBMODULES@//
|
/^LIBMODULES *=/s/@LIBMODULES@//
|
||||||
/^MODULES_OBJ *=/s/@MODULES_OBJ@//
|
/^MODULES_OBJ *=/s/@MODULES_OBJ@//
|
||||||
/^LIBSELINUX_LIBS *=/s/@LIBSELINUX_LIBS@//
|
/^LIBSELINUX_LIBS *=/s/@LIBSELINUX_LIBS@//
|
||||||
|
/^LIBSYSTEMD_LIBS *=/s/@LIBSYSTEMD_LIBS@//
|
||||||
|
/^LIBSYSTEMD_CFLAGS *=/s/@LIBSYSTEMD_CFLAGS@//
|
||||||
/^LIB_CLOCK_GETTIME *=/s/@[^@\n]*@//g
|
/^LIB_CLOCK_GETTIME *=/s/@[^@\n]*@//g
|
||||||
/^LIB_TIMER_TIME *=/s/@[^@\n]*@//g
|
/^LIB_TIMER_TIME *=/s/@[^@\n]*@//g
|
||||||
/^LIB_EXECINFO *=/s/@[^@\n]*@//g
|
/^LIB_EXECINFO *=/s/@[^@\n]*@//g
|
||||||
|
@ -133,6 +138,7 @@ s/ *@LIBXPM@//
|
||||||
/^XRANDR_CFLAGS *=/s/@XRANDR_CFLAGS@//
|
/^XRANDR_CFLAGS *=/s/@XRANDR_CFLAGS@//
|
||||||
/^XINERAMA_LIBS *=/s/@XINERAMA_LIBS@//
|
/^XINERAMA_LIBS *=/s/@XINERAMA_LIBS@//
|
||||||
/^XINERAMA_CFLAGS *=/s/@XINERAMA_CFLAGS@//
|
/^XINERAMA_CFLAGS *=/s/@XINERAMA_CFLAGS@//
|
||||||
|
/^HYBRID_MALLOC *=/s/@HYBRID_MALLOC@//
|
||||||
/^GMALLOC_OBJ *=/s/@GMALLOC_OBJ@/gmalloc.o/
|
/^GMALLOC_OBJ *=/s/@GMALLOC_OBJ@/gmalloc.o/
|
||||||
/^VMLIMIT_OBJ *=/s/@VMLIMIT_OBJ@/vm-limit.o/
|
/^VMLIMIT_OBJ *=/s/@VMLIMIT_OBJ@/vm-limit.o/
|
||||||
/^FIRSTFILE_OBJ *=/s/@FIRSTFILE_OBJ@//
|
/^FIRSTFILE_OBJ *=/s/@FIRSTFILE_OBJ@//
|
||||||
|
@ -140,9 +146,8 @@ s/ *@LIBXPM@//
|
||||||
/^PRE_ALLOC_OBJ *=/s/@PRE_ALLOC_OBJ@/lastfile.o/
|
/^PRE_ALLOC_OBJ *=/s/@PRE_ALLOC_OBJ@/lastfile.o/
|
||||||
/^POST_ALLOC_OBJ *=/s/@POST_ALLOC_OBJ@/$(vmlimitobj)/
|
/^POST_ALLOC_OBJ *=/s/@POST_ALLOC_OBJ@/$(vmlimitobj)/
|
||||||
/^UNEXEC_OBJ *=/s/@UNEXEC_OBJ@/unexcoff.o/
|
/^UNEXEC_OBJ *=/s/@UNEXEC_OBJ@/unexcoff.o/
|
||||||
|
/^BUILD_DETAILS *=/s/@BUILD_DETAILS@//
|
||||||
/^CANNOT_DUMP *=/s/@CANNOT_DUMP@/no/
|
/^CANNOT_DUMP *=/s/@CANNOT_DUMP@/no/
|
||||||
/^DEPFLAGS *=/s/@DEPFLAGS@//
|
|
||||||
/^MKDEPDIR *=/s/@MKDEPDIR@//
|
|
||||||
/^W32_OBJ *=/s/@W32_OBJ@//
|
/^W32_OBJ *=/s/@W32_OBJ@//
|
||||||
/^W32_LIBS *=/s/@W32_LIBS@//
|
/^W32_LIBS *=/s/@W32_LIBS@//
|
||||||
/^version *=/s/@[^@\n]*@//
|
/^version *=/s/@[^@\n]*@//
|
||||||
|
@ -172,20 +177,18 @@ lisp.mk: $(lispsource)/loadup.el\
|
||||||
/^ [ ]*\$(AM_V_GLOBALS)\$(libsrc)\/make-doc/s!>.*$!!
|
/^ [ ]*\$(AM_V_GLOBALS)\$(libsrc)\/make-doc/s!>.*$!!
|
||||||
/^\$(libsrc)\/make-docfile\$(EXEEXT): /i\
|
/^\$(libsrc)\/make-docfile\$(EXEEXT): /i\
|
||||||
cd ../src
|
cd ../src
|
||||||
/^\$(leimdir)\/leim-list.el: /s/bootstrap-emacs\$(EXEEXT)/b-emacs$(EXEEXT)/
|
|
||||||
/^ if test -f/,/^ fi$/c\
|
/^ if test -f/,/^ fi$/c\
|
||||||
command.com /c if exist .gdbinit rm -f _gdbinit
|
command.com /c if exist .gdbinit rm -f _gdbinit
|
||||||
/^ *ifneq (\$(PAXCTL_notdumped),)/,/^ *endif/d
|
/^ *ifneq (\$(PAXCTL_notdumped),)/,/^ *endif/d
|
||||||
/^ *ifneq (\$(PAXCTL_dumped),)/,/^ *endif/d
|
/^ *ifneq (\$(PAXCTL_dumped),)/,/^ *endif/d
|
||||||
/^ *ln /s/ln /cp /
|
/^ *ln /s/ln /cp /
|
||||||
/^ *\$(SETFATTR_if_present) -n/d
|
|
||||||
/^ fi/d
|
/^ fi/d
|
||||||
/^ *\$(RUN_TEMACS) /i\
|
/^ *\$(RUN_TEMACS) /i\
|
||||||
stubedit temacs.exe minstack=1024k
|
stubedit temacs.exe minstack=1024k
|
||||||
/^ *LC_ALL=C \$(RUN_TEMACS)/i\
|
/^ *LC_ALL=C \$(RUN_TEMACS)/i\
|
||||||
stubedit temacs.exe minstack=1024k
|
stubedit temacs.exe minstack=1024k
|
||||||
/^ *LC_ALL=C.*\$(RUN_TEMACS)/s/LC_ALL=C/set &;/
|
/^ *LC_ALL=C.*\$(RUN_TEMACS)/s/LC_ALL=C/set &;/
|
||||||
/-batch -l loadup/a\
|
/-batch .* -l loadup/a\
|
||||||
stubify emacs\
|
stubify emacs\
|
||||||
stubedit emacs.exe minstack=3072k
|
stubedit emacs.exe minstack=3072k
|
||||||
s/ @true *$/ @rem/
|
s/ @true *$/ @rem/
|
||||||
|
@ -193,7 +196,6 @@ s/^ [^ ]*move-if-change / update /
|
||||||
/^ [^ ]*echo[ ][ ]*timestamp/s/echo /djecho /
|
/^ [^ ]*echo[ ][ ]*timestamp/s/echo /djecho /
|
||||||
/^ .*djecho timestamp/a\
|
/^ .*djecho timestamp/a\
|
||||||
@rm -f globals.tmp
|
@rm -f globals.tmp
|
||||||
/^ *@\$(MKDEPDIR) *$/d
|
|
||||||
/^ mv \.\/\.gdbinit/d
|
/^ mv \.\/\.gdbinit/d
|
||||||
/^ if test -f/,/^ fi$/c\
|
/^ if test -f/,/^ fi$/c\
|
||||||
command.com /c if exist .gdbinit rm -f _gdbinit
|
command.com /c if exist .gdbinit rm -f _gdbinit
|
||||||
|
@ -201,12 +203,7 @@ s/^ [^ ]*move-if-change / update /
|
||||||
/^ @: /d
|
/^ @: /d
|
||||||
/^ -\{0,1\} *ln /s/ln /cp /
|
/^ -\{0,1\} *ln /s/ln /cp /
|
||||||
/^[ ]touch /s/touch/djecho $@ >/
|
/^[ ]touch /s/touch/djecho $@ >/
|
||||||
s/@YMF_PASS_LDFLAGS@/flags/
|
|
||||||
s/@PRE_EDIT_LDFLAGS@//
|
|
||||||
s/@POST_EDIT_LDFLAGS@//
|
|
||||||
s/bootstrap-emacs/b-emacs/
|
s/bootstrap-emacs/b-emacs/
|
||||||
s/bootstrap-temacs/b-temacs/
|
|
||||||
s/bootstrap-doc/b-doc/
|
|
||||||
/rm -f bootstrap-emacs/s/b-emacs/b-emacs b-emacs.exe/
|
/rm -f bootstrap-emacs/s/b-emacs/b-emacs b-emacs.exe/
|
||||||
s/echo.*buildobj.lst/dj&/
|
s/echo.*buildobj.lst/dj&/
|
||||||
/ --load loadup bootstrap/a\
|
/ --load loadup bootstrap/a\
|
||||||
|
@ -222,25 +219,20 @@ s/echo.*buildobj.lst/dj&/
|
||||||
}
|
}
|
||||||
# Remove or replace dependencies we cannot have
|
# Remove or replace dependencies we cannot have
|
||||||
/^\.PRECIOUS: /s!\.\./config.status !!
|
/^\.PRECIOUS: /s!\.\./config.status !!
|
||||||
/^\.\.\/config.status: /d
|
/^\.\.\/config.status: /,/^ /d
|
||||||
/^Makefile: /s!\.\./config.status !!
|
/^Makefile: /s!\.\./config.status !!
|
||||||
/^\$(top_srcdir)\/aclocal\.m4 /,/^doc\.o:/c\
|
|
||||||
\
|
|
||||||
doc.o: buildobj.h
|
|
||||||
# Make the GCC command line fit one screen line
|
# Make the GCC command line fit one screen line
|
||||||
/^[ ][ ]*\$(GNUSTEP_CFLAGS)/d
|
/^[ ][ ]*\$(GNUSTEP_CFLAGS)/d
|
||||||
/^[ ][ ]*\$(GCONF_CFLAGS)/d
|
|
||||||
/^[ ][ ]*\$(LIBGNUTLS_CFLAGS)/d
|
/^[ ][ ]*\$(LIBGNUTLS_CFLAGS)/d
|
||||||
s/\$(LIBOTF_CFLAGS) \$(M17N_FLT_CFLAGS) \$(DEPFLAGS) //
|
/^[ ][ ]*\$(LIBSYSTEMD_CFLAGS)/d
|
||||||
|
/^[ ][ ]*\$(XRANDR_CFLAGS)/d
|
||||||
|
/^[ ][ ]*\$(WEBKIT_CFLAGS)/d
|
||||||
|
/^[ ][ ]*\$(SETTINGS_CFLAGS)/d
|
||||||
|
s/\$(LIBOTF_CFLAGS) \$(M17N_FLT_CFLAGS) //
|
||||||
s/ \$(C_SWITCH_X_SITE)//
|
s/ \$(C_SWITCH_X_SITE)//
|
||||||
s/ \$(DBUS_CFLAGS)//
|
s/ \$(DBUS_CFLAGS)//
|
||||||
s/ \$(PNG_CFLAGS) //
|
s/ \$(PNG_CFLAGS) //
|
||||||
s/ \$(XINERAMA_CFLAGS)//
|
|
||||||
s/ \$(XFIXES_CFLAGS)//
|
|
||||||
s/ \$(FREETYPE_CFLAGS)//
|
|
||||||
s/ \$(FONTCONFIG_CFLAGS)//
|
|
||||||
s| -I\$(srcdir)/\.\./lib||
|
s| -I\$(srcdir)/\.\./lib||
|
||||||
s| -I\$(top_srcdir)/lib||
|
s| -I\$(top_srcdir)/lib||
|
||||||
# Add our local inttypes.h to prerequisites where needed
|
s| -I\. -I\$(srcdir)| -I.|
|
||||||
/^lread\.o:/s|lread\.c|& ../msdos/inttypes.h|
|
|
||||||
/^ *test "X/d
|
/^ *test "X/d
|
||||||
|
|
|
@ -55,6 +55,7 @@
|
||||||
/^#undef HAVE_STRNCASECMP *$/s/^.*$/#define HAVE_STRNCASECMP 1/
|
/^#undef HAVE_STRNCASECMP *$/s/^.*$/#define HAVE_STRNCASECMP 1/
|
||||||
/^#undef HAVE_STRUCT_TM_TM_ZONE *$/s/^.*$/#define HAVE_STRUCT_TM_TM_ZONE 1/
|
/^#undef HAVE_STRUCT_TM_TM_ZONE *$/s/^.*$/#define HAVE_STRUCT_TM_TM_ZONE 1/
|
||||||
/^#undef HAVE_SYNC *$/s/^.*$/#define HAVE_SYNC 1/
|
/^#undef HAVE_SYNC *$/s/^.*$/#define HAVE_SYNC 1/
|
||||||
|
/^#undef HAVE___BUILTIN_FRAME_ADDRESS *$/s/^.*$/#define HAVE___BUILTIN_FRAME_ADDRESS 1/
|
||||||
/^#undef HAVE___BUILTIN_UNWIND_INIT *$/s/^.*$/#define HAVE___BUILTIN_UNWIND_INIT 1/
|
/^#undef HAVE___BUILTIN_UNWIND_INIT *$/s/^.*$/#define HAVE___BUILTIN_UNWIND_INIT 1/
|
||||||
/^#undef HAVE_MENUS *$/s/^.*$/#define HAVE_MENUS 1/
|
/^#undef HAVE_MENUS *$/s/^.*$/#define HAVE_MENUS 1/
|
||||||
/^#undef DATA_START/s/^.*$/#define DATA_START (\&etext + 1)/
|
/^#undef DATA_START/s/^.*$/#define DATA_START (\&etext + 1)/
|
||||||
|
@ -64,9 +65,7 @@
|
||||||
/^#undef PACKAGE_NAME/s/^.*$/#define PACKAGE_NAME ""/
|
/^#undef PACKAGE_NAME/s/^.*$/#define PACKAGE_NAME ""/
|
||||||
/^#undef PACKAGE_STRING/s/^.*$/#define PACKAGE_STRING ""/
|
/^#undef PACKAGE_STRING/s/^.*$/#define PACKAGE_STRING ""/
|
||||||
/^#undef PACKAGE_TARNAME/s/^.*$/#define PACKAGE_TARNAME ""/
|
/^#undef PACKAGE_TARNAME/s/^.*$/#define PACKAGE_TARNAME ""/
|
||||||
/^#undef PACKAGE_VERSION/s/^.*$/#define PACKAGE_VERSION VERSION/
|
/^#undef PACKAGE_VERSION/s/^.*$/#define PACKAGE_VERSION "27.0.50"/
|
||||||
/^#undef PENDING_OUTPUT_COUNT/s/^.*$/#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_ptr - (FILE)->_base)/
|
|
||||||
/^#undef VERSION/s/^.*$/#define VERSION "27.0.50"/
|
|
||||||
/^#undef SYSTEM_TYPE/s/^.*$/#define SYSTEM_TYPE "ms-dos"/
|
/^#undef SYSTEM_TYPE/s/^.*$/#define SYSTEM_TYPE "ms-dos"/
|
||||||
/^#undef HAVE_DECL_GETENV/s/^.*$/#define HAVE_DECL_GETENV 1/
|
/^#undef HAVE_DECL_GETENV/s/^.*$/#define HAVE_DECL_GETENV 1/
|
||||||
/^#undef SYS_SIGLIST_DECLARED/s/^.*$/#define SYS_SIGLIST_DECLARED 1/
|
/^#undef SYS_SIGLIST_DECLARED/s/^.*$/#define SYS_SIGLIST_DECLARED 1/
|
||||||
|
@ -86,6 +85,8 @@
|
||||||
/^#undef IS_DIRECTORY_SEP *$/s,^.*$,#define IS_DIRECTORY_SEP(_c_) ((_c_) == '/' || (_c_) == '\\\\'),
|
/^#undef IS_DIRECTORY_SEP *$/s,^.*$,#define IS_DIRECTORY_SEP(_c_) ((_c_) == '/' || (_c_) == '\\\\'),
|
||||||
/^#undef IS_DEVICE_SEP *$/s/^.*$/#define IS_DEVICE_SEP(_c_) ((_c_) == ':')/
|
/^#undef IS_DEVICE_SEP *$/s/^.*$/#define IS_DEVICE_SEP(_c_) ((_c_) == ':')/
|
||||||
/^#undef IS_ANY_SEP *$/s/^.*$/#define IS_ANY_SEP(_c_) (IS_DIRECTORY_SEP (_c_) || IS_DEVICE_SEP (_c_))/
|
/^#undef IS_ANY_SEP *$/s/^.*$/#define IS_ANY_SEP(_c_) (IS_DIRECTORY_SEP (_c_) || IS_DEVICE_SEP (_c_))/
|
||||||
|
/^#undef NEED_MKTIME_INTERNAL *$/s/^.*$/#define NEED_MKTIME_INTERNAL 1/
|
||||||
|
/^#undef NEED_MKTIME_WORKING *$/s/^.*$/#define NEED_MKTIME_WORKING 1/
|
||||||
/^#undef INTERNAL_TERMINAL *$/s,^.*$,#define INTERNAL_TERMINAL "pc|bios|IBM PC with color display::co#80:li#25:Co#16:pa#256:km:ms:cm=<CM>:cl=<CL>:ce=<CE>::se=</SO>:so=<SO>:us=<UL>:ue=</UL>:md=<BD>:mh=<DIM>:mb=<BL>:mr=<RV>:me=<NV>::AB=<BG %d>:AF=<FG %d>:op=<DefC>:",
|
/^#undef INTERNAL_TERMINAL *$/s,^.*$,#define INTERNAL_TERMINAL "pc|bios|IBM PC with color display::co#80:li#25:Co#16:pa#256:km:ms:cm=<CM>:cl=<CL>:ce=<CE>::se=</SO>:so=<SO>:us=<UL>:ue=</UL>:md=<BD>:mh=<DIM>:mb=<BL>:mr=<RV>:me=<NV>::AB=<BG %d>:AF=<FG %d>:op=<DefC>:",
|
||||||
/^#undef NULL_DEVICE *$/s/^.*$/#define NULL_DEVICE "nul"/
|
/^#undef NULL_DEVICE *$/s/^.*$/#define NULL_DEVICE "nul"/
|
||||||
/^#undef SEPCHAR *$/s/^.*$/#define SEPCHAR '\;'/
|
/^#undef SEPCHAR *$/s/^.*$/#define SEPCHAR '\;'/
|
||||||
|
@ -102,6 +103,7 @@ s/^#undef STACK_DIRECTION *$/#define STACK_DIRECTION -1/
|
||||||
s/^#undef EMACS_CONFIGURATION *$/#define EMACS_CONFIGURATION "i386-pc-msdosdjgpp"/
|
s/^#undef EMACS_CONFIGURATION *$/#define EMACS_CONFIGURATION "i386-pc-msdosdjgpp"/
|
||||||
s/^#undef EMACS_CONFIG_OPTIONS *$/#define EMACS_CONFIG_OPTIONS "msdos"/
|
s/^#undef EMACS_CONFIG_OPTIONS *$/#define EMACS_CONFIG_OPTIONS "msdos"/
|
||||||
s/^#undef EMACS_CONFIG_FEATURES *$/#define EMACS_CONFIG_FEATURES ""/
|
s/^#undef EMACS_CONFIG_FEATURES *$/#define EMACS_CONFIG_FEATURES ""/
|
||||||
|
s|^#undef FLEXIBLE_ARRAY_MEMBER *$|#define FLEXIBLE_ARRAY_MEMBER /**/|
|
||||||
s/^#undef PROTOTYPES *$/#define PROTOTYPES 1/
|
s/^#undef PROTOTYPES *$/#define PROTOTYPES 1/
|
||||||
s/^#undef POINTER_TYPE *$/#define POINTER_TYPE void/
|
s/^#undef POINTER_TYPE *$/#define POINTER_TYPE void/
|
||||||
/^#undef HAVE_INTTYPES_H/c\
|
/^#undef HAVE_INTTYPES_H/c\
|
||||||
|
@ -117,12 +119,31 @@ s/^#undef POINTER_TYPE *$/#define POINTER_TYPE void/
|
||||||
#undef HAVE_STDINT_H\
|
#undef HAVE_STDINT_H\
|
||||||
#endif
|
#endif
|
||||||
s/^#undef HAVE_C_VARARRAYS *$/#define HAVE_C_VARARRAYS 1/
|
s/^#undef HAVE_C_VARARRAYS *$/#define HAVE_C_VARARRAYS 1/
|
||||||
|
s/^#undef HAVE_DECL_ALIGNED_ALLOC *$/#define HAVE_DECL_ALIGNED_ALLOC 0/
|
||||||
|
s/^#undef HAVE_DECL_CLEARERR_UNLOCKED *$/#define HAVE_DECL_CLEARERR_UNLOCKED 0/
|
||||||
|
s/^#undef HAVE_DECL_FEOF_UNLOCKED *$/#define HAVE_DECL_FEOF_UNLOCKED 0/
|
||||||
|
s/^#undef HAVE_DECL_FERROR_UNLOCKED *$/#define HAVE_DECL_FERROR_UNLOCKED 0/
|
||||||
|
s/^#undef HAVE_DECL_FFLUSH_UNLOCKED *$/#define HAVE_DECL_FFLUSH_UNLOCKED 0/
|
||||||
|
s/^#undef HAVE_DECL_FGETS_UNLOCKED *$/#define HAVE_DECL_FGETS_UNLOCKED 0/
|
||||||
|
s/^#undef HAVE_DECL_FPUTC_UNLOCKED *$/#define HAVE_DECL_FPUTC_UNLOCKED 0/
|
||||||
|
s/^#undef HAVE_DECL_FPUTS_UNLOCKED *$/#define HAVE_DECL_FPUTS_UNLOCKED 0/
|
||||||
|
s/^#undef HAVE_DECL_FREAD_UNLOCKED *$/#define HAVE_DECL_FREAD_UNLOCKED 0/
|
||||||
|
s/^#undef HAVE_DECL_FWRITE_UNLOCKED *$/#define HAVE_DECL_FWRITE_UNLOCKED 0/
|
||||||
|
s/^#undef HAVE_DECL_GETCHAR_UNLOCKED *$/#define HAVE_DECL_GETCHAR_UNLOCKED 0/
|
||||||
|
s/^#undef HAVE_DECL_GETC_UNLOCKED *$/#define HAVE_DECL_GETC_UNLOCKED 0/
|
||||||
|
s/^#undef HAVE_DECL_PUTCHAR_UNLOCKED *$/#define HAVE_DECL_PUTCHAR_UNLOCKED 0/
|
||||||
|
s/^#undef HAVE_DECL_PUTC_UNLOCKED *$/#define HAVE_DECL_PUTC_UNLOCKED 0/
|
||||||
s/^#undef HAVE_DECL_STRTOLL *$/#define HAVE_DECL_STRTOLL 1/
|
s/^#undef HAVE_DECL_STRTOLL *$/#define HAVE_DECL_STRTOLL 1/
|
||||||
s/^#undef HAVE_DECL_STRTOULL *$/#define HAVE_DECL_STRTOULL 1/
|
|
||||||
s/^#undef HAVE_DECL_STRTOIMAX *$/#define HAVE_DECL_STRTOIMAX 1/
|
s/^#undef HAVE_DECL_STRTOIMAX *$/#define HAVE_DECL_STRTOIMAX 1/
|
||||||
s/^#undef HAVE_DECL_STRTOUMAX *$/#define HAVE_DECL_STRTOUMAX 1/
|
|
||||||
s/^#undef HAVE_STRTOLL *$/#define HAVE_STRTOLL 1/
|
s/^#undef HAVE_STRTOLL *$/#define HAVE_STRTOLL 1/
|
||||||
s/^#undef HAVE_STRTOULL *$/#define HAVE_STRTOULL 1/
|
s/^#undef HAVE_STRTOULL *$/#define HAVE_STRTOULL 1/
|
||||||
|
/^#undef HAVE_STRUCT_DIRENT_D_TYPE *$/c\
|
||||||
|
#if __DJGPP__ + (__DJGPP_MINOR__ >= 5) >= 3\
|
||||||
|
#define HAVE_STRUCT_DIRENT_D_TYPE 1/\
|
||||||
|
#else\
|
||||||
|
#undef HAVE_STRUCT_DIRENT_D_TYPE\
|
||||||
|
#endif
|
||||||
|
s/^#undef HAVE_STRUCT_ATTRIBUTE_ALIGNED *$/#define HAVE_STRUCT_ATTRIBUTE_ALIGNED 1/
|
||||||
s/^#undef HAVE_PUTENV *$/#define HAVE_PUTENV 1/
|
s/^#undef HAVE_PUTENV *$/#define HAVE_PUTENV 1/
|
||||||
/^#undef HAVE_SIGSET_T *$/s/^.*$/#define HAVE_SIGSET_T 1/
|
/^#undef HAVE_SIGSET_T *$/s/^.*$/#define HAVE_SIGSET_T 1/
|
||||||
/^#undef HAVE_SNPRINTF/c\
|
/^#undef HAVE_SNPRINTF/c\
|
||||||
|
@ -133,7 +154,9 @@ s/^#undef HAVE_PUTENV *$/#define HAVE_PUTENV 1/
|
||||||
#include <sys/types.h>\
|
#include <sys/types.h>\
|
||||||
extern int snprintf (char *__restrict, size_t, const char *__restrict, ...);\
|
extern int snprintf (char *__restrict, size_t, const char *__restrict, ...);\
|
||||||
#endif
|
#endif
|
||||||
s/^#undef PENDING_OUTPUT_N_BYTES *$/#define PENDING_OUTPUT_N_BYTES fp->_ptr - fp->_base/
|
/^#include <conf_post.h>/i\
|
||||||
|
/* From libc/file.h, needed by lib/fpending.c. */\
|
||||||
|
#define _IOERR 000200
|
||||||
|
|
||||||
# Comment out any remaining undef directives, because some of them
|
# Comment out any remaining undef directives, because some of them
|
||||||
# might be defined in sys/config.h we include at the top of config.h.
|
# might be defined in sys/config.h we include at the top of config.h.
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
/^archlibdir *=/s!=.*$!=/emacs/bin!
|
/^archlibdir *=/s!=.*$!=/emacs/bin!
|
||||||
/^bindir *=/s!=.*$!=/emacs/bin!
|
/^bindir *=/s!=.*$!=/emacs/bin!
|
||||||
/^libdir *=/s!=.*$!=/emacs/bin!
|
/^libdir *=/s!=.*$!=/emacs/bin!
|
||||||
/^srcdir=/s!srcdir=@srcdir@!srcdir := $(subst \\,/,$(shell command.com /c cd))!
|
/^srcdir=/s!srcdir=@srcdir@!srcdir := $(CURDIR)!
|
||||||
/^VPATH *=/s!=.*$!=.!
|
/^VPATH *=/s!=.*$!=.!
|
||||||
/^BLESSMAIL_TARGET *=/s!@BLESSMAIL_TARGET@!need-blessmail!
|
/^BLESSMAIL_TARGET *=/s!@BLESSMAIL_TARGET@!need-blessmail!
|
||||||
/^KRB4LIB *=/s/@[^@\n]*@//g
|
/^KRB4LIB *=/s/@[^@\n]*@//g
|
||||||
|
@ -41,7 +41,6 @@
|
||||||
/^C_SWITCH_MACHINE *=/s/@C_SWITCH_MACHINE@//
|
/^C_SWITCH_MACHINE *=/s/@C_SWITCH_MACHINE@//
|
||||||
/^WARN_CFLAGS *=/s/@WARN_CFLAGS@//
|
/^WARN_CFLAGS *=/s/@WARN_CFLAGS@//
|
||||||
/^WERROR_CFLAGS *=/s/@WERROR_CFLAGS@//
|
/^WERROR_CFLAGS *=/s/@WERROR_CFLAGS@//
|
||||||
/^UPDATE_MANIFEST *=/s/@UPDATE_MANIFEST@//
|
|
||||||
/^PROFILING_CFLAGS *=/s/@PROFILING_CFLAGS@//
|
/^PROFILING_CFLAGS *=/s/@PROFILING_CFLAGS@//
|
||||||
/^AM_DEFAULT_VERBOSITY *=/s/@AM_DEFAULT_VERBOSITY@/1/
|
/^AM_DEFAULT_VERBOSITY *=/s/@AM_DEFAULT_VERBOSITY@/1/
|
||||||
/^[Aa][Mm]_/s/@AM_V@/$(V)/
|
/^[Aa][Mm]_/s/@AM_V@/$(V)/
|
||||||
|
@ -58,6 +57,3 @@
|
||||||
/^GETOPT_H *=/s!@GETOPT_H@!getopt.h!
|
/^GETOPT_H *=/s!@GETOPT_H@!getopt.h!
|
||||||
/^GETOPTOBJS *=/s!@GETOPTOBJS@!getopt.o getopt1.o!
|
/^GETOPTOBJS *=/s!@GETOPTOBJS@!getopt.o getopt1.o!
|
||||||
/^INSTALLABLES/s/emacsclient[^ ]* *//
|
/^INSTALLABLES/s/emacsclient[^ ]* *//
|
||||||
/^UTILITIES *=/,/^$/{
|
|
||||||
s/movemail[^ ]* *//
|
|
||||||
}
|
|
||||||
|
|
|
@ -18,14 +18,9 @@
|
||||||
#
|
#
|
||||||
# Checklist to add a new gnulib module:
|
# Checklist to add a new gnulib module:
|
||||||
#
|
#
|
||||||
# . If the module includes source files that need to be compiled, and
|
# . If a module appears in gnulib.mk.in that is not required for the
|
||||||
# does not appear in the am_libgnu_a_OBJECTS list, add the
|
# MSDOS build, disable its building by setting the corresponding
|
||||||
# corresponding .o file names to the list that gets assigned to the
|
# OMIT_GNULIB_MODULE_foo variable to true.
|
||||||
# gl_LIBOBJS variable.
|
|
||||||
#
|
|
||||||
# . If a module appears in am_libgnu_a_OBJECTS that is not required
|
|
||||||
# for the MSDOS build, edit it out by adding an appropriate command
|
|
||||||
# to the set that edits the am_libgnu_a_OBJECTS block.
|
|
||||||
#
|
#
|
||||||
# . If the module defines functions that need to replace DJGPP
|
# . If the module defines functions that need to replace DJGPP
|
||||||
# functions, edit the appropriate REPLACE_foo variables to 1:
|
# functions, edit the appropriate REPLACE_foo variables to 1:
|
||||||
|
@ -38,22 +33,22 @@
|
||||||
# as above should be placed before that catchall rule (search for
|
# as above should be placed before that catchall rule (search for
|
||||||
# "REPLACE_" below).
|
# "REPLACE_" below).
|
||||||
#
|
#
|
||||||
# . If the module is a header or adds headers, edit the corresponding
|
# . If the module generates a header from a .in.h file, edit the
|
||||||
# variable to either an empty value or to the name of the header.
|
# corresponding variable to either an empty value or to the name of
|
||||||
# Examples:
|
# the header. Examples:
|
||||||
#
|
#
|
||||||
# /^STDINT_H *=/s/@[^@\n]*@/stdint.h/ -- stdint.h is needed
|
# /^STDINT_H *=/s/@[^@\n]*@/stdint.h/ -- stdint.h is needed
|
||||||
# /^STDDEF_H *=/s/@[^@\n]*@// -- stddef.h is not needed
|
# /^STDDEF_H *=/s/@[^@\n]*@// -- stddef.h is not needed
|
||||||
#
|
#
|
||||||
# . Some of the headers are generated conditionally, and the
|
# . Some of the headers are generated conditionally, and the
|
||||||
# corresponding recipes are guarded by @GL_GENERATE_xxxx_H_TRUE@
|
# corresponding recipes are guarded by
|
||||||
# and @GL_GENERATE_xxxx_H_FALSE@. Depending on whether DJGPP uses
|
# ifneq (,$(GL_GENERATE_xxxx_H))
|
||||||
# the corresponding header, these should be edited either to
|
# Depending on whether DJGPP uses the corresponding header, these
|
||||||
# nothing (thus exposing the recipe) or to #, which comments the
|
# should be edited either to 1 (thus exposing the recipe) or
|
||||||
# recipe away. Example:
|
# to nothing, which makes Make bypass the recipe away. Example:
|
||||||
#
|
#
|
||||||
# s/^@GL_GENERATE_STDBOOL_H_TRUE@/\#/
|
# s/^@GL_GENERATE_STDBOOL_H@/1/
|
||||||
# s/^@GL_GENERATE_STDBOOL_H_FALSE@//
|
# s/^@GL_GENERATE_STDINT_H@//
|
||||||
#
|
#
|
||||||
# . Also edit the NEXT_foo_H and NEXT_AS_FIRST_DIRECTIVE_foo_H
|
# . Also edit the NEXT_foo_H and NEXT_AS_FIRST_DIRECTIVE_foo_H
|
||||||
# variables as appropriately: to an empty value if the gnulib
|
# variables as appropriately: to an empty value if the gnulib
|
||||||
|
@ -67,7 +62,7 @@
|
||||||
#
|
#
|
||||||
# . Note that some gnulib headers cannot be left unused: those for
|
# . Note that some gnulib headers cannot be left unused: those for
|
||||||
# which there's no corresponding foo_H variable in
|
# which there's no corresponding foo_H variable in
|
||||||
# msdos/autogen/Makefile.in (example: stdio.h). For these the "not
|
# lib/Makefile.in (example: stdio.h). For these the "not
|
||||||
# needed" path is not applicable.
|
# needed" path is not applicable.
|
||||||
#
|
#
|
||||||
# . If the header is needed, edit all the variables it uses as
|
# . If the header is needed, edit all the variables it uses as
|
||||||
|
@ -135,8 +130,6 @@
|
||||||
/^@SET_MAKE@$/s/@SET_MAKE@//
|
/^@SET_MAKE@$/s/@SET_MAKE@//
|
||||||
/^VPATH *=/s/@[^@\n]*@/./
|
/^VPATH *=/s/@[^@\n]*@/./
|
||||||
s/@PACKAGE@/emacs/
|
s/@PACKAGE@/emacs/
|
||||||
/^am__cd *=/c\
|
|
||||||
am__cd = cd
|
|
||||||
/^@BUILDING_FOR_WINDOWSNT_TRUE@/s/@[^@\n]*@/#/
|
/^@BUILDING_FOR_WINDOWSNT_TRUE@/s/@[^@\n]*@/#/
|
||||||
/^@BUILDING_FOR_WINDOWSNT_FALSE@/s/@[^@\n]*@//
|
/^@BUILDING_FOR_WINDOWSNT_FALSE@/s/@[^@\n]*@//
|
||||||
/^ALLOCA *=/s/@[^@\n]*@//
|
/^ALLOCA *=/s/@[^@\n]*@//
|
||||||
|
@ -145,6 +138,7 @@ am__cd = cd
|
||||||
/^AR *=/s/@[^@\n]*@/ar/
|
/^AR *=/s/@[^@\n]*@/ar/
|
||||||
/^ARFLAGS *=/s/@[^@\n]*@/cru/
|
/^ARFLAGS *=/s/@[^@\n]*@/cru/
|
||||||
/^AWK *=/s/@[^@\n]*@/gawk/
|
/^AWK *=/s/@[^@\n]*@/gawk/
|
||||||
|
/^AUTO_DEPEND *=/s/@AUTO_DEPEND@/yes/
|
||||||
/^CANNOT_DUMP *=/s/@[^@\n]*@/no/
|
/^CANNOT_DUMP *=/s/@[^@\n]*@/no/
|
||||||
/^CC *=/s/@[^@\n]*@/gcc -std=gnu99/
|
/^CC *=/s/@[^@\n]*@/gcc -std=gnu99/
|
||||||
/^CPP *=/s/@[^@\n]*@/gcc -e/
|
/^CPP *=/s/@[^@\n]*@/gcc -e/
|
||||||
|
@ -159,6 +153,7 @@ am__cd = cd
|
||||||
/^C_SWITCH_X_SITE *=/s/@C_SWITCH_X_SITE@//
|
/^C_SWITCH_X_SITE *=/s/@C_SWITCH_X_SITE@//
|
||||||
/^PROFILING_CFLAGS *=/s/@PROFILING_CFLAGS@//
|
/^PROFILING_CFLAGS *=/s/@PROFILING_CFLAGS@//
|
||||||
/^GNULIB_WARN_CFLAGS *=/s/@GNULIB_WARN_CFLAGS@//
|
/^GNULIB_WARN_CFLAGS *=/s/@GNULIB_WARN_CFLAGS@//
|
||||||
|
/^HYBRID_MALLOC *=/s/@HYBRID_MALLOC@//
|
||||||
/^WARN_CFLAGS *=/s/@WARN_CFLAGS@//
|
/^WARN_CFLAGS *=/s/@WARN_CFLAGS@//
|
||||||
/^WERROR_CFLAGS *=/s/@WERROR_CFLAGS@//
|
/^WERROR_CFLAGS *=/s/@WERROR_CFLAGS@//
|
||||||
/^DEFS *=/s/@[^@\n]*@//
|
/^DEFS *=/s/@[^@\n]*@//
|
||||||
|
@ -191,6 +186,7 @@ am__cd = cd
|
||||||
/^GNULIB_MKOSTEMP *=/s/@GNULIB_MKOSTEMP@/1/
|
/^GNULIB_MKOSTEMP *=/s/@GNULIB_MKOSTEMP@/1/
|
||||||
/^GNULIB_MKTIME *=/s/@GNULIB_MKTIME@/1/
|
/^GNULIB_MKTIME *=/s/@GNULIB_MKTIME@/1/
|
||||||
/^GNULIB_TIME_R *=/s/@GNULIB_TIME_R@/1/
|
/^GNULIB_TIME_R *=/s/@GNULIB_TIME_R@/1/
|
||||||
|
/^GNULIB_TIMEGM *=/s/@GNULIB_TIMEGM@/1/
|
||||||
/^GNULIB_TIME_RZ *=/s/@GNULIB_TIME_RZ@/1/
|
/^GNULIB_TIME_RZ *=/s/@GNULIB_TIME_RZ@/1/
|
||||||
/^GNULIB_UNSETENV *=/s/@GNULIB_UNSETENV@/1/
|
/^GNULIB_UNSETENV *=/s/@GNULIB_UNSETENV@/1/
|
||||||
/^GNULIB_[^ =]* *= *@/s/@[^@\n]*@/0/
|
/^GNULIB_[^ =]* *= *@/s/@[^@\n]*@/0/
|
||||||
|
@ -250,6 +246,7 @@ am__cd = cd
|
||||||
/^HAVE_SYS_PARAM_H *=/s/@HAVE_SYS_PARAM_H@/1/
|
/^HAVE_SYS_PARAM_H *=/s/@HAVE_SYS_PARAM_H@/1/
|
||||||
/^HAVE_SYS_TIME_H *=/s/@HAVE_SYS_TIME_H@/1/
|
/^HAVE_SYS_TIME_H *=/s/@HAVE_SYS_TIME_H@/1/
|
||||||
/^HAVE_SYS_TYPES_H *=/s/@HAVE_SYS_TYPES_H@/1/
|
/^HAVE_SYS_TYPES_H *=/s/@HAVE_SYS_TYPES_H@/1/
|
||||||
|
/^HAVE_TIMEGM *=/s/@HAVE_TIMEGM@/0/
|
||||||
/^HAVE_TYPE_VOLATILE_SIG_ATOMIC_T *=/s/@HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@/1/
|
/^HAVE_TYPE_VOLATILE_SIG_ATOMIC_T *=/s/@HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@/1/
|
||||||
/^HAVE_UNISTD_H *=/s/@HAVE_UNISTD_H@/1/
|
/^HAVE_UNISTD_H *=/s/@HAVE_UNISTD_H@/1/
|
||||||
/^HAVE_UNSIGNED_LONG_LONG_INT *=/s/@HAVE_UNSIGNED_LONG_LONG_INT@/1/
|
/^HAVE_UNSIGNED_LONG_LONG_INT *=/s/@HAVE_UNSIGNED_LONG_LONG_INT@/1/
|
||||||
|
@ -273,6 +270,7 @@ am__cd = cd
|
||||||
/^NEXT_AS_FIRST_DIRECTIVE_ERRNO_H *=/s/@[^@\n]*@//
|
/^NEXT_AS_FIRST_DIRECTIVE_ERRNO_H *=/s/@[^@\n]*@//
|
||||||
/^NEXT_AS_FIRST_DIRECTIVE_FCNTL_H *=/s/@[^@\n]*@/<fcntl.h>/
|
/^NEXT_AS_FIRST_DIRECTIVE_FCNTL_H *=/s/@[^@\n]*@/<fcntl.h>/
|
||||||
/^NEXT_AS_FIRST_DIRECTIVE_GETOPT_H *=/s/@[^@\n]*@/<getopt.h>/
|
/^NEXT_AS_FIRST_DIRECTIVE_GETOPT_H *=/s/@[^@\n]*@/<getopt.h>/
|
||||||
|
/^NEXT_AS_FIRST_DIRECTIVE_LIMITS_H *=/s/@[^@\n]*@/<limits.h>/
|
||||||
/^NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H *=/s/@[^@\n]*@/<signal.h>/
|
/^NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H *=/s/@[^@\n]*@/<signal.h>/
|
||||||
/^NEXT_AS_FIRST_DIRECTIVE_STDDEF_H *=/s/@[^@\n]*@/<stddef.h>/
|
/^NEXT_AS_FIRST_DIRECTIVE_STDDEF_H *=/s/@[^@\n]*@/<stddef.h>/
|
||||||
/^NEXT_AS_FIRST_DIRECTIVE_STDINT_H *=/s/@[^@\n]*@/<stdint.h>/
|
/^NEXT_AS_FIRST_DIRECTIVE_STDINT_H *=/s/@[^@\n]*@/<stdint.h>/
|
||||||
|
@ -289,6 +287,7 @@ am__cd = cd
|
||||||
/^NEXT_ERRNO_H *=/s/@[^@\n]*@//
|
/^NEXT_ERRNO_H *=/s/@[^@\n]*@//
|
||||||
/^NEXT_FCNTL_H *=/s/@[^@\n]*@/<fcntl.h>/
|
/^NEXT_FCNTL_H *=/s/@[^@\n]*@/<fcntl.h>/
|
||||||
/^NEXT_GETOPT_H *=/s/@[^@\n]*@/<getopt.h>/
|
/^NEXT_GETOPT_H *=/s/@[^@\n]*@/<getopt.h>/
|
||||||
|
/^NEXT_LIMITS_H *=/s/@[^@\n]*@/<limits.h>/
|
||||||
/^NEXT_SIGNAL_H *=/s/@[^@\n]*@/<signal.h>/
|
/^NEXT_SIGNAL_H *=/s/@[^@\n]*@/<signal.h>/
|
||||||
/^NEXT_STDDEF_H *=/s/@[^@\n]*@/<stddef.h>/
|
/^NEXT_STDDEF_H *=/s/@[^@\n]*@/<stddef.h>/
|
||||||
/^NEXT_STDIO_H *=/s/@[^@\n]*@/<stdio.h>/
|
/^NEXT_STDIO_H *=/s/@[^@\n]*@/<stdio.h>/
|
||||||
|
@ -317,6 +316,8 @@ am__cd = cd
|
||||||
/^DIRENT_H *=/s/@[^@\n]*@//
|
/^DIRENT_H *=/s/@[^@\n]*@//
|
||||||
/^ERRNO_H *=/s/@[^@\n]*@//
|
/^ERRNO_H *=/s/@[^@\n]*@//
|
||||||
/^EXECINFO_H *=/s/@[^@\n]*@/execinfo.h/
|
/^EXECINFO_H *=/s/@[^@\n]*@/execinfo.h/
|
||||||
|
/^GETOPT_CDEFS_H *=/s/@[^@\n]*@/getopt-cdefs.h/
|
||||||
|
/^LIMITS_H *=/s/@[^@\n]*@/limits.h/
|
||||||
/^STDALIGN_H *=/s/@[^@\n]*@/stdalign.h/
|
/^STDALIGN_H *=/s/@[^@\n]*@/stdalign.h/
|
||||||
/^STDDEF_H *=/s/@[^@\n]*@/stddef.h/
|
/^STDDEF_H *=/s/@[^@\n]*@/stddef.h/
|
||||||
/^STDINT_H *=/s/@[^@\n]*@/stdint.h/
|
/^STDINT_H *=/s/@[^@\n]*@/stdint.h/
|
||||||
|
@ -330,6 +331,8 @@ am__cd = cd
|
||||||
/^WINT_T_SUFFIX *=/s/@WINT_T_SUFFIX@//
|
/^WINT_T_SUFFIX *=/s/@WINT_T_SUFFIX@//
|
||||||
/^WINDOWS_64_BIT_OFF_T *=/s/@WINDOWS_64_BIT_OFF_T@/0/
|
/^WINDOWS_64_BIT_OFF_T *=/s/@WINDOWS_64_BIT_OFF_T@/0/
|
||||||
/^WINDOWS_64_BIT_ST_SIZE *=/s/@WINDOWS_64_BIT_ST_SIZE@/0/
|
/^WINDOWS_64_BIT_ST_SIZE *=/s/@WINDOWS_64_BIT_ST_SIZE@/0/
|
||||||
|
/^WINDOWS_STAT_INODES *=/s/@WINDOWS_STAT_INODES@/0/
|
||||||
|
/^WINDOWS_STAT_TIMESPEC *=/s/@WINDOWS_STAT_TIMESPEC@/0/
|
||||||
# Tailor lists of files to what we need
|
# Tailor lists of files to what we need
|
||||||
/am__append_[1-9][0-9]* *=.*gettext\.h/s/@[^@\n]*@/\#/
|
/am__append_[1-9][0-9]* *=.*gettext\.h/s/@[^@\n]*@/\#/
|
||||||
/am__append_2 *=.*verify\.h/s/@[^@\n]*@//
|
/am__append_2 *=.*verify\.h/s/@[^@\n]*@//
|
||||||
|
@ -357,15 +360,18 @@ am__cd = cd
|
||||||
/^top_builddir *=/s/@[^@\n]*@/../
|
/^top_builddir *=/s/@[^@\n]*@/../
|
||||||
s/@PRAGMA_SYSTEM_HEADER@/\#pragma GCC system_header/
|
s/@PRAGMA_SYSTEM_HEADER@/\#pragma GCC system_header/
|
||||||
s/@PRAGMA_COLUMNS@//
|
s/@PRAGMA_COLUMNS@//
|
||||||
|
/^SYSTEM_TYPE *=/s/@SYSTEM_TYPE@/msdos/
|
||||||
|
/^ifneq (\$(SYSTEM_TYPE),windows-nt)/,/^endif/d
|
||||||
|
/^DEPDIR *=/a\
|
||||||
|
AUTO_DEPEND = yes
|
||||||
#
|
#
|
||||||
# Delete the recipes we don't want to get in our way.
|
# Delete the recipes we don't want to get in our way.
|
||||||
/^\$(srcdir)\/Makefile\.in:/,/^[ ][ ]*\$(AUTOMAKE)/d
|
/^\.\.\/config.status:/,/^Makefile:/c\
|
||||||
/^Makefile:/,/^[ ][ ]*esac/d
|
Makefile: $(srcdir)/Makefile.in
|
||||||
/^\$(top_srcdir)\/configure:/,/^\$(am__aclocal_m4_deps):/d
|
|
||||||
/^\$(top_builddir)\/config.status:/,/^$/d
|
|
||||||
#
|
#
|
||||||
# Remove the dependencies on $(top_builddir)/config.status
|
# Remove the dependencies on $(top_builddir)/config.status
|
||||||
s/ $(top_builddir)\/config.status//
|
s/ \.\.\/config.status//
|
||||||
|
s/ \$(top_builddir)\/config.status//
|
||||||
#
|
#
|
||||||
# Fix the include-dependency lines
|
# Fix the include-dependency lines
|
||||||
s/^@AMDEP_TRUE@//
|
s/^@AMDEP_TRUE@//
|
||||||
|
@ -387,23 +393,53 @@ CONFIG_CLEAN_VPATH_FILES = xyzzy
|
||||||
s/^ -*test -z.*|| rm/ -rm/
|
s/^ -*test -z.*|| rm/ -rm/
|
||||||
s/@echo /@djecho /
|
s/@echo /@djecho /
|
||||||
#
|
#
|
||||||
# Fix the recipes for header files
|
# Determine which headers to generate
|
||||||
s/^@GL_GENERATE_ALLOCA_H_TRUE@//
|
s/= @GL_GENERATE_ALLOCA_H@/= 1/
|
||||||
s/^@GL_GENERATE_ALLOCA_H_FALSE@/\#/
|
s/= @GL_GENERATE_BYTESWAP_H@/= 1/
|
||||||
s/^@GL_GENERATE_BYTESWAP_H_TRUE@//
|
s/= @GL_GENERATE_EXECINFO_H@/= 1/
|
||||||
s/^@GL_GENERATE_BYTESWAP_H_FALSE@/\#/
|
s/= @GL_GENERATE_STDALIGN_H@/= 1/
|
||||||
s/^@GL_GENERATE_ERRNO_H_TRUE@/\#/
|
s/= @GL_GENERATE_STDDEF_H@/= 1/
|
||||||
s/^@GL_GENERATE_ERRNO_H_FALSE@//
|
s/= @GL_GENERATE_STDINT_H@/= 1/
|
||||||
s/^@GL_GENERATE_EXECINFO_H_TRUE@//
|
s/= @GL_GENERATE_LIMITS_H@/= 1/
|
||||||
s/^@GL_GENERATE_EXECINFO_H_FALSE@/\#/
|
s/= @GL_GENERATE_ERRNO_H@/= /
|
||||||
s/^@GL_GENERATE_STDALIGN_H_TRUE@//
|
s/= @GL_GENERATE_LIMITS_H@/= /
|
||||||
s/^@GL_GENERATE_STDALIGN_H_FALSE@/\#/
|
#
|
||||||
s/^@GL_GENERATE_STDDEF_H_TRUE@//
|
# Determine which modules to build and which to omit
|
||||||
s/^@GL_GENERATE_STDDEF_H_FALSE@/\#/
|
/^noinst_LIBRARIES /a\
|
||||||
s/^@GL_GENERATE_STDINT_H_TRUE@//
|
OMIT_GNULIB_MODULE_acl-permissions = true\
|
||||||
s/^@GL_GENERATE_STDINT_H_FALSE@/\#/
|
OMIT_GNULIB_MODULE_allocator = true\
|
||||||
s/^@GL_GENERATE_STDALIGN_H_TRUE@//
|
OMIT_GNULIB_MODULE_at-internal = true\
|
||||||
s/^@GL_GENERATE_STDALIGN_H_FALSE@/\#/
|
OMIT_GNULIB_MODULE_careadlinkat = true\
|
||||||
|
OMIT_GNULIB_MODULE_cloexec = true\
|
||||||
|
OMIT_GNULIB_MODULE_dirent = true\
|
||||||
|
OMIT_GNULIB_MODULE_dirfd = true\
|
||||||
|
OMIT_GNULIB_MODULE_dup2 = true\
|
||||||
|
OMIT_GNULIB_MODULE_errno = true\
|
||||||
|
OMIT_GNULIB_MODULE_euidaccess = true\
|
||||||
|
OMIT_GNULIB_MODULE_faccessat = true\
|
||||||
|
OMIT_GNULIB_MODULE_fcntl = true\
|
||||||
|
OMIT_GNULIB_MODULE_fdopendir = true\
|
||||||
|
OMIT_GNULIB_MODULE_fstatat = true\
|
||||||
|
OMIT_GNULIB_MODULE_fsync = true\
|
||||||
|
OMIT_GNULIB_MODULE_getdtablesize = true\
|
||||||
|
OMIT_GNULIB_MODULE_getgroups = true\
|
||||||
|
OMIT_GNULIB_MODULE_gettimeofday = true\
|
||||||
|
OMIT_GNULIB_MODULE_group-member = true\
|
||||||
|
OMIT_GNULIB_MODULE_inttypes-incomplete = true\
|
||||||
|
OMIT_GNULIB_MODULE_localtime-buffer = true\
|
||||||
|
OMIT_GNULIB_MODULE_lstat = true\
|
||||||
|
OMIT_GNULIB_MODULE_open = true\
|
||||||
|
OMIT_GNULIB_MODULE_pipe2 = true\
|
||||||
|
OMIT_GNULIB_MODULE_pselect = true\
|
||||||
|
OMIT_GNULIB_MODULE_putenv = true\
|
||||||
|
OMIT_GNULIB_MODULE_qcopy-acl = true\
|
||||||
|
OMIT_GNULIB_MODULE_readlink = true\
|
||||||
|
OMIT_GNULIB_MODULE_readlinkat = true\
|
||||||
|
OMIT_GNULIB_MODULE_strtoimax = true\
|
||||||
|
OMIT_GNULIB_MODULE_strtoll = true\
|
||||||
|
OMIT_GNULIB_MODULE_symlink = true\
|
||||||
|
OMIT_GNULIB_MODULE_sys_select = true\
|
||||||
|
OMIT_GNULIB_MODULE_sys_time = true
|
||||||
/^arg-nonnull\.h:/,/^[ ][ ]*mv /c\
|
/^arg-nonnull\.h:/,/^[ ][ ]*mv /c\
|
||||||
arg-nonnull.h: $(top_srcdir)/build-aux/snippet/arg-nonnull.h\
|
arg-nonnull.h: $(top_srcdir)/build-aux/snippet/arg-nonnull.h\
|
||||||
sed -n -e '/GL_ARG_NONNULL/,$$p' < $(top_srcdir)/build-aux/snippet/arg-nonnull.h > $@
|
sed -n -e '/GL_ARG_NONNULL/,$$p' < $(top_srcdir)/build-aux/snippet/arg-nonnull.h > $@
|
||||||
|
@ -416,6 +452,7 @@ warn-on-use.h: $(top_srcdir)/build-aux/snippet/warn-on-use.h\
|
||||||
s/^ [ ]*{ echo \(.*\); \\/ djecho \1 > $@-t/
|
s/^ [ ]*{ echo \(.*\); \\/ djecho \1 > $@-t/
|
||||||
s/^ [ ]*{ echo \(.*\) && \\/ djecho \1 > $@-t/
|
s/^ [ ]*{ echo \(.*\) && \\/ djecho \1 > $@-t/
|
||||||
s/^ [ ]*cat \(.*\); \\/ sed -e '' \1 >> $@-t/
|
s/^ [ ]*cat \(.*\); \\/ sed -e '' \1 >> $@-t/
|
||||||
|
s/^ sed -e/ sed -e/
|
||||||
s/ \&\& \\ *$//
|
s/ \&\& \\ *$//
|
||||||
s/\.in-h\; *\\$/.in-h >> $@-t/
|
s/\.in-h\; *\\$/.in-h >> $@-t/
|
||||||
/^ [ ]*} /d
|
/^ [ ]*} /d
|
||||||
|
|
|
@ -25,6 +25,7 @@ export FNCASE=y
|
||||||
/^top_srcdir *=/s|@top_srcdir@|./..|
|
/^top_srcdir *=/s|@top_srcdir@|./..|
|
||||||
/^EXEEXT *=/s/@EXEEXT@/.exe/
|
/^EXEEXT *=/s/@EXEEXT@/.exe/
|
||||||
/^XARGS_LIMIT *=/s|@XARGS_LIMIT@||
|
/^XARGS_LIMIT *=/s|@XARGS_LIMIT@||
|
||||||
|
/^FIND_DELETE *=/s/@FIND_DELETE@/-delete/
|
||||||
/^AM_DEFAULT_VERBOSITY *=/s/@AM_DEFAULT_VERBOSITY@/1/
|
/^AM_DEFAULT_VERBOSITY *=/s/@AM_DEFAULT_VERBOSITY@/1/
|
||||||
/^[Aa][Mm]_/s/@AM_V@/$(V)/
|
/^[Aa][Mm]_/s/@AM_V@/$(V)/
|
||||||
/^[Aa][Mm]_/s/@AM_DEFAULT_V@/$(AM_DEFAULT_VERBOSITY)/
|
/^[Aa][Mm]_/s/@AM_DEFAULT_V@/$(AM_DEFAULT_VERBOSITY)/
|
||||||
|
|
10
src/alloc.c
10
src/alloc.c
|
@ -2923,9 +2923,13 @@ set_next_vector (struct Lisp_Vector *v, struct Lisp_Vector *p)
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
/* Alignment of struct Lisp_Vector objects. */
|
/* Alignment of struct Lisp_Vector objects. Because pseudovectors
|
||||||
vector_alignment = COMMON_MULTIPLE (FLEXALIGNOF (struct Lisp_Vector),
|
can contain any C type, align at least as strictly as
|
||||||
GCALIGNMENT),
|
max_align_t. On x86 and x86-64 this can waste up to 8 bytes
|
||||||
|
for typical vectors, since alignof (max_align_t) is 16 but
|
||||||
|
typical vectors need only an alignment of 8. However, it is
|
||||||
|
not worth the hassle to avoid wasting those bytes. */
|
||||||
|
vector_alignment = COMMON_MULTIPLE (alignof (max_align_t), GCALIGNMENT),
|
||||||
|
|
||||||
/* Vector size requests are a multiple of this. */
|
/* Vector size requests are a multiple of this. */
|
||||||
roundup_size = COMMON_MULTIPLE (vector_alignment, word_size)
|
roundup_size = COMMON_MULTIPLE (vector_alignment, word_size)
|
||||||
|
|
|
@ -3616,8 +3616,8 @@ void
|
||||||
fix_start_end_in_overlays (register ptrdiff_t start, register ptrdiff_t end)
|
fix_start_end_in_overlays (register ptrdiff_t start, register ptrdiff_t end)
|
||||||
{
|
{
|
||||||
Lisp_Object overlay;
|
Lisp_Object overlay;
|
||||||
struct Lisp_Overlay *before_list;
|
struct Lisp_Overlay *before_list UNINIT;
|
||||||
struct Lisp_Overlay *after_list;
|
struct Lisp_Overlay *after_list UNINIT;
|
||||||
/* These are either nil, indicating that before_list or after_list
|
/* These are either nil, indicating that before_list or after_list
|
||||||
should be assigned, or the cons cell the cdr of which should be
|
should be assigned, or the cons cell the cdr of which should be
|
||||||
assigned. */
|
assigned. */
|
||||||
|
|
|
@ -686,6 +686,20 @@ composition_gstring_from_id (ptrdiff_t id)
|
||||||
return HASH_VALUE (h, id);
|
return HASH_VALUE (h, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DEFUN ("clear-composition-cache", Fclear_composition_cache,
|
||||||
|
Sclear_composition_cache, 0, 0, 0,
|
||||||
|
doc: /* Internal use only.
|
||||||
|
Clear composition cache. */)
|
||||||
|
(void)
|
||||||
|
{
|
||||||
|
Lisp_Object args[] = {QCtest, Qequal, QCsize, make_number (311)};
|
||||||
|
gstring_hash_table = CALLMANY (Fmake_hash_table, args);
|
||||||
|
/* Fixme: We call Fclear_face_cache to force complete re-building of
|
||||||
|
display glyphs. But, it may be better to call this function from
|
||||||
|
Fclear_face_cache instead. */
|
||||||
|
return Fclear_face_cache (Qt);
|
||||||
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
composition_gstring_p (Lisp_Object gstring)
|
composition_gstring_p (Lisp_Object gstring)
|
||||||
{
|
{
|
||||||
|
@ -1982,4 +1996,5 @@ See also the documentation of `auto-composition-mode'. */);
|
||||||
defsubr (&Scompose_string_internal);
|
defsubr (&Scompose_string_internal);
|
||||||
defsubr (&Sfind_composition_internal);
|
defsubr (&Sfind_composition_internal);
|
||||||
defsubr (&Scomposition_get_gstring);
|
defsubr (&Scomposition_get_gstring);
|
||||||
|
defsubr (&Sclear_composition_cache);
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,7 +31,7 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
|
|
||||||
#if defined DOS_NT && !defined DEFER_MS_W32_H
|
#if defined WINDOWSNT && !defined DEFER_MS_W32_H
|
||||||
# include <ms-w32.h>
|
# include <ms-w32.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -1888,7 +1888,7 @@ Instead, use `add-hook' and specify t for the LOCAL argument. */)
|
||||||
(Lisp_Object variable)
|
(Lisp_Object variable)
|
||||||
{
|
{
|
||||||
Lisp_Object tem;
|
Lisp_Object tem;
|
||||||
bool forwarded;
|
bool forwarded UNINIT;
|
||||||
union Lisp_Val_Fwd valcontents;
|
union Lisp_Val_Fwd valcontents;
|
||||||
struct Lisp_Symbol *sym;
|
struct Lisp_Symbol *sym;
|
||||||
struct Lisp_Buffer_Local_Value *blv = NULL;
|
struct Lisp_Buffer_Local_Value *blv = NULL;
|
||||||
|
|
|
@ -2038,11 +2038,11 @@ by text that describes the specified date and time in TIME:
|
||||||
only blank-padded, %l is like %I blank-padded.
|
only blank-padded, %l is like %I blank-padded.
|
||||||
%p is the locale's equivalent of either AM or PM.
|
%p is the locale's equivalent of either AM or PM.
|
||||||
%q is the calendar quarter (1–4).
|
%q is the calendar quarter (1–4).
|
||||||
%M is the minute.
|
%M is the minute (00-59).
|
||||||
%S is the second.
|
%S is the second (00-59; 00-60 on platforms with leap seconds)
|
||||||
%N is the nanosecond, %6N the microsecond, %3N the millisecond, etc.
|
|
||||||
%Z is the time zone name, %z is the numeric form.
|
|
||||||
%s is the number of seconds since 1970-01-01 00:00:00 +0000.
|
%s is the number of seconds since 1970-01-01 00:00:00 +0000.
|
||||||
|
%N is the nanosecond, %6N the microsecond, %3N the millisecond, etc.
|
||||||
|
%Z is the time zone abbreviation, %z is the numeric form.
|
||||||
|
|
||||||
%c is the locale's date and time format.
|
%c is the locale's date and time format.
|
||||||
%x is the locale's "preferred" date format.
|
%x is the locale's "preferred" date format.
|
||||||
|
@ -2052,7 +2052,8 @@ by text that describes the specified date and time in TIME:
|
||||||
%R is like "%H:%M", %T is like "%H:%M:%S", %r is like "%I:%M:%S %p".
|
%R is like "%H:%M", %T is like "%H:%M:%S", %r is like "%I:%M:%S %p".
|
||||||
%X is the locale's "preferred" time format.
|
%X is the locale's "preferred" time format.
|
||||||
|
|
||||||
Finally, %n is a newline, %t is a tab, %% is a literal %.
|
Finally, %n is a newline, %t is a tab, %% is a literal %, and
|
||||||
|
unrecognized %-sequences stand for themselves.
|
||||||
|
|
||||||
Certain flags and modifiers are available with some format controls.
|
Certain flags and modifiers are available with some format controls.
|
||||||
The flags are `_', `-', `^' and `#'. For certain characters X,
|
The flags are `_', `-', `^' and `#'. For certain characters X,
|
||||||
|
|
|
@ -2297,7 +2297,7 @@ This is what happens in interactive use with M-x. */)
|
||||||
bool plain_rename = (case_only_rename
|
bool plain_rename = (case_only_rename
|
||||||
|| (!NILP (ok_if_already_exists)
|
|| (!NILP (ok_if_already_exists)
|
||||||
&& !INTEGERP (ok_if_already_exists)));
|
&& !INTEGERP (ok_if_already_exists)));
|
||||||
int rename_errno;
|
int rename_errno UNINIT;
|
||||||
if (!plain_rename)
|
if (!plain_rename)
|
||||||
{
|
{
|
||||||
if (renameat_noreplace (AT_FDCWD, SSDATA (encoded_file),
|
if (renameat_noreplace (AT_FDCWD, SSDATA (encoded_file),
|
||||||
|
|
32
src/gnutls.c
32
src/gnutls.c
|
@ -26,7 +26,7 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
|
||||||
#include "coding.h"
|
#include "coding.h"
|
||||||
#include "buffer.h"
|
#include "buffer.h"
|
||||||
|
|
||||||
#if 0x030014 <= GNUTLS_VERSION_NUMBER
|
#if GNUTLS_VERSION_NUMBER >= 0x030014
|
||||||
# define HAVE_GNUTLS_X509_SYSTEM_TRUST
|
# define HAVE_GNUTLS_X509_SYSTEM_TRUST
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -36,10 +36,16 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
|
||||||
The relevant fix seems to have been made in GnuTLS 3.5.1; see:
|
The relevant fix seems to have been made in GnuTLS 3.5.1; see:
|
||||||
https://gitlab.com/gnutls/gnutls/commit/568935848dd6b82b9315d8b6c529d00e2605e03d
|
https://gitlab.com/gnutls/gnutls/commit/568935848dd6b82b9315d8b6c529d00e2605e03d
|
||||||
So, require 3.5.1. */
|
So, require 3.5.1. */
|
||||||
#if 0x030501 <= GNUTLS_VERSION_NUMBER
|
#if GNUTLS_VERSION_NUMBER >= 0x030501
|
||||||
# define HAVE_GNUTLS_AEAD
|
# define HAVE_GNUTLS_AEAD
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* gnutls_mac_get_nonce_size was added in GnuTLS 3.2.0, but was
|
||||||
|
exported only since 3.3.0. */
|
||||||
|
#if GNUTLS_VERSION_NUMBER >= 0x030300
|
||||||
|
# define HAVE_GNUTLS_MAC_GET_NONCE_SIZE
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_GNUTLS
|
#ifdef HAVE_GNUTLS
|
||||||
|
|
||||||
# ifdef WINDOWSNT
|
# ifdef WINDOWSNT
|
||||||
|
@ -187,7 +193,9 @@ DEF_DLL_FN (const char *, gnutls_mac_get_name, (gnutls_mac_algorithm_t));
|
||||||
# ifdef HAVE_GNUTLS3
|
# ifdef HAVE_GNUTLS3
|
||||||
DEF_DLL_FN (int, gnutls_rnd, (gnutls_rnd_level_t, void *, size_t));
|
DEF_DLL_FN (int, gnutls_rnd, (gnutls_rnd_level_t, void *, size_t));
|
||||||
DEF_DLL_FN (const gnutls_mac_algorithm_t *, gnutls_mac_list, (void));
|
DEF_DLL_FN (const gnutls_mac_algorithm_t *, gnutls_mac_list, (void));
|
||||||
|
# ifdef HAVE_GNUTLS_MAC_GET_NONCE_SIZE
|
||||||
DEF_DLL_FN (size_t, gnutls_mac_get_nonce_size, (gnutls_mac_algorithm_t));
|
DEF_DLL_FN (size_t, gnutls_mac_get_nonce_size, (gnutls_mac_algorithm_t));
|
||||||
|
# endif
|
||||||
DEF_DLL_FN (size_t, gnutls_mac_get_key_size, (gnutls_mac_algorithm_t));
|
DEF_DLL_FN (size_t, gnutls_mac_get_key_size, (gnutls_mac_algorithm_t));
|
||||||
DEF_DLL_FN (const gnutls_digest_algorithm_t *, gnutls_digest_list, (void));
|
DEF_DLL_FN (const gnutls_digest_algorithm_t *, gnutls_digest_list, (void));
|
||||||
DEF_DLL_FN (const char *, gnutls_digest_get_name, (gnutls_digest_algorithm_t));
|
DEF_DLL_FN (const char *, gnutls_digest_get_name, (gnutls_digest_algorithm_t));
|
||||||
|
@ -316,7 +324,9 @@ init_gnutls_functions (void)
|
||||||
# ifdef HAVE_GNUTLS3
|
# ifdef HAVE_GNUTLS3
|
||||||
LOAD_DLL_FN (library, gnutls_rnd);
|
LOAD_DLL_FN (library, gnutls_rnd);
|
||||||
LOAD_DLL_FN (library, gnutls_mac_list);
|
LOAD_DLL_FN (library, gnutls_mac_list);
|
||||||
|
# ifdef HAVE_GNUTLS_MAC_GET_NONCE_SIZE
|
||||||
LOAD_DLL_FN (library, gnutls_mac_get_nonce_size);
|
LOAD_DLL_FN (library, gnutls_mac_get_nonce_size);
|
||||||
|
# endif
|
||||||
LOAD_DLL_FN (library, gnutls_mac_get_key_size);
|
LOAD_DLL_FN (library, gnutls_mac_get_key_size);
|
||||||
LOAD_DLL_FN (library, gnutls_digest_list);
|
LOAD_DLL_FN (library, gnutls_digest_list);
|
||||||
LOAD_DLL_FN (library, gnutls_digest_get_name);
|
LOAD_DLL_FN (library, gnutls_digest_get_name);
|
||||||
|
@ -427,7 +437,9 @@ init_gnutls_functions (void)
|
||||||
# ifdef HAVE_GNUTLS3
|
# ifdef HAVE_GNUTLS3
|
||||||
# define gnutls_rnd fn_gnutls_rnd
|
# define gnutls_rnd fn_gnutls_rnd
|
||||||
# define gnutls_mac_list fn_gnutls_mac_list
|
# define gnutls_mac_list fn_gnutls_mac_list
|
||||||
# define gnutls_mac_get_nonce_size fn_gnutls_mac_get_nonce_size
|
# ifdef HAVE_GNUTLS_MAC_GET_NONCE_SIZE
|
||||||
|
# define gnutls_mac_get_nonce_size fn_gnutls_mac_get_nonce_size
|
||||||
|
# endif
|
||||||
# define gnutls_mac_get_key_size fn_gnutls_mac_get_key_size
|
# define gnutls_mac_get_key_size fn_gnutls_mac_get_key_size
|
||||||
# define gnutls_digest_list fn_gnutls_digest_list
|
# define gnutls_digest_list fn_gnutls_digest_list
|
||||||
# define gnutls_digest_get_name fn_gnutls_digest_get_name
|
# define gnutls_digest_get_name fn_gnutls_digest_get_name
|
||||||
|
@ -442,10 +454,10 @@ init_gnutls_functions (void)
|
||||||
# define gnutls_cipher_decrypt2 fn_gnutls_cipher_decrypt2
|
# define gnutls_cipher_decrypt2 fn_gnutls_cipher_decrypt2
|
||||||
# define gnutls_cipher_deinit fn_gnutls_cipher_deinit
|
# define gnutls_cipher_deinit fn_gnutls_cipher_deinit
|
||||||
# ifdef HAVE_GNUTLS_AEAD
|
# ifdef HAVE_GNUTLS_AEAD
|
||||||
# define gnutls_aead_cipher_encrypt fn_gnutls_aead_cipher_encrypt
|
# define gnutls_aead_cipher_encrypt fn_gnutls_aead_cipher_encrypt
|
||||||
# define gnutls_aead_cipher_decrypt fn_gnutls_aead_cipher_decrypt
|
# define gnutls_aead_cipher_decrypt fn_gnutls_aead_cipher_decrypt
|
||||||
# define gnutls_aead_cipher_init fn_gnutls_aead_cipher_init
|
# define gnutls_aead_cipher_init fn_gnutls_aead_cipher_init
|
||||||
# define gnutls_aead_cipher_deinit fn_gnutls_aead_cipher_deinit
|
# define gnutls_aead_cipher_deinit fn_gnutls_aead_cipher_deinit
|
||||||
# endif
|
# endif
|
||||||
# define gnutls_hmac_init fn_gnutls_hmac_init
|
# define gnutls_hmac_init fn_gnutls_hmac_init
|
||||||
# define gnutls_hmac_get_len fn_gnutls_hmac_get_len
|
# define gnutls_hmac_get_len fn_gnutls_hmac_get_len
|
||||||
|
@ -2178,6 +2190,10 @@ name. */)
|
||||||
/* A symbol representing the GnuTLS MAC algorithm. */
|
/* A symbol representing the GnuTLS MAC algorithm. */
|
||||||
Lisp_Object gma_symbol = intern (gnutls_mac_get_name (gma));
|
Lisp_Object gma_symbol = intern (gnutls_mac_get_name (gma));
|
||||||
|
|
||||||
|
size_t nonce_size = 0;
|
||||||
|
#ifdef HAVE_GNUTLS_MAC_GET_NONCE_SIZE
|
||||||
|
nonce_size = gnutls_mac_get_nonce_size (gma);
|
||||||
|
#endif
|
||||||
Lisp_Object mp = listn (CONSTYPE_HEAP, 11, gma_symbol,
|
Lisp_Object mp = listn (CONSTYPE_HEAP, 11, gma_symbol,
|
||||||
QCmac_algorithm_id, make_number (gma),
|
QCmac_algorithm_id, make_number (gma),
|
||||||
QCtype, Qgnutls_type_mac_algorithm,
|
QCtype, Qgnutls_type_mac_algorithm,
|
||||||
|
@ -2189,7 +2205,7 @@ name. */)
|
||||||
make_number (gnutls_mac_get_key_size (gma)),
|
make_number (gnutls_mac_get_key_size (gma)),
|
||||||
|
|
||||||
QCmac_algorithm_noncesize,
|
QCmac_algorithm_noncesize,
|
||||||
make_number (gnutls_mac_get_nonce_size (gma)));
|
make_number (nonce_size));
|
||||||
mac_algorithms = Fcons (mp, mac_algorithms);
|
mac_algorithms = Fcons (mp, mac_algorithms);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
61
src/image.c
61
src/image.c
|
@ -2574,7 +2574,7 @@ xbm_image_p (Lisp_Object object)
|
||||||
static int
|
static int
|
||||||
xbm_scan (char **s, char *end, char *sval, int *ival)
|
xbm_scan (char **s, char *end, char *sval, int *ival)
|
||||||
{
|
{
|
||||||
unsigned char c;
|
unsigned char c UNINIT;
|
||||||
|
|
||||||
loop:
|
loop:
|
||||||
|
|
||||||
|
@ -5277,6 +5277,25 @@ pbm_scan_number (char **s, char *end)
|
||||||
return val;
|
return val;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Scan an index from *S and return it. It is a one-byte unsigned
|
||||||
|
index if !TWO_BYTE, and a two-byte big-endian unsigned index if
|
||||||
|
TWO_BYTE. */
|
||||||
|
|
||||||
|
static int
|
||||||
|
pbm_scan_index (char **s, bool two_byte)
|
||||||
|
{
|
||||||
|
char *p = *s;
|
||||||
|
unsigned char c0 = *p++;
|
||||||
|
int n = c0;
|
||||||
|
if (two_byte)
|
||||||
|
{
|
||||||
|
unsigned char c1 = *p++;
|
||||||
|
n = (n << 8) + c1;
|
||||||
|
}
|
||||||
|
*s = p;
|
||||||
|
return n;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Load PBM image IMG for use on frame F. */
|
/* Load PBM image IMG for use on frame F. */
|
||||||
|
|
||||||
|
@ -5499,7 +5518,8 @@ pbm_load (struct frame *f, struct image *img)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
int expected_size = height * width;
|
int expected_size = height * width;
|
||||||
if (max_color_idx > 255)
|
bool two_byte = 255 < max_color_idx;
|
||||||
|
if (two_byte)
|
||||||
expected_size *= 2;
|
expected_size *= 2;
|
||||||
if (type == PBM_COLOR)
|
if (type == PBM_COLOR)
|
||||||
expected_size *= 3;
|
expected_size *= 3;
|
||||||
|
@ -5522,24 +5542,14 @@ pbm_load (struct frame *f, struct image *img)
|
||||||
int r, g, b;
|
int r, g, b;
|
||||||
|
|
||||||
if (type == PBM_GRAY && raw_p)
|
if (type == PBM_GRAY && raw_p)
|
||||||
{
|
r = g = b = pbm_scan_index (&p, two_byte);
|
||||||
r = g = b = *p++;
|
|
||||||
if (max_color_idx > 255)
|
|
||||||
r = g = b = r * 256 + *p++;
|
|
||||||
}
|
|
||||||
else if (type == PBM_GRAY)
|
else if (type == PBM_GRAY)
|
||||||
r = g = b = pbm_scan_number (&p, end);
|
r = g = b = pbm_scan_number (&p, end);
|
||||||
else if (raw_p)
|
else if (raw_p)
|
||||||
{
|
{
|
||||||
r = *p++;
|
r = pbm_scan_index (&p, two_byte);
|
||||||
if (max_color_idx > 255)
|
g = pbm_scan_index (&p, two_byte);
|
||||||
r = r * 256 + *p++;
|
b = pbm_scan_index (&p, two_byte);
|
||||||
g = *p++;
|
|
||||||
if (max_color_idx > 255)
|
|
||||||
g = g * 256 + *p++;
|
|
||||||
b = *p++;
|
|
||||||
if (max_color_idx > 255)
|
|
||||||
b = b * 256 + *p++;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -7839,7 +7849,7 @@ gif_load (struct frame *f, struct image *img)
|
||||||
init_color_table ();
|
init_color_table ();
|
||||||
|
|
||||||
#ifndef USE_CAIRO
|
#ifndef USE_CAIRO
|
||||||
unsigned long bgcolor;
|
unsigned long bgcolor UNINIT;
|
||||||
if (STRINGP (specified_bg))
|
if (STRINGP (specified_bg))
|
||||||
bgcolor = x_alloc_image_color (f, img, specified_bg,
|
bgcolor = x_alloc_image_color (f, img, specified_bg,
|
||||||
FRAME_BACKGROUND_PIXEL (f));
|
FRAME_BACKGROUND_PIXEL (f));
|
||||||
|
@ -8542,13 +8552,19 @@ imagemagick_load_image (struct frame *f, struct image *img,
|
||||||
char hint_buffer[MaxTextExtent];
|
char hint_buffer[MaxTextExtent];
|
||||||
char *filename_hint = NULL;
|
char *filename_hint = NULL;
|
||||||
|
|
||||||
|
/* Initialize the ImageMagick environment. */
|
||||||
|
static bool imagemagick_initialized;
|
||||||
|
if (!imagemagick_initialized)
|
||||||
|
{
|
||||||
|
imagemagick_initialized = true;
|
||||||
|
MagickWandGenesis ();
|
||||||
|
}
|
||||||
|
|
||||||
/* Handle image index for image types who can contain more than one image.
|
/* Handle image index for image types who can contain more than one image.
|
||||||
Interface :index is same as for GIF. First we "ping" the image to see how
|
Interface :index is same as for GIF. First we "ping" the image to see how
|
||||||
many sub-images it contains. Pinging is faster than loading the image to
|
many sub-images it contains. Pinging is faster than loading the image to
|
||||||
find out things about it. */
|
find out things about it. */
|
||||||
|
|
||||||
/* Initialize the imagemagick environment. */
|
|
||||||
MagickWandGenesis ();
|
|
||||||
image = image_spec_value (img->spec, QCindex, NULL);
|
image = image_spec_value (img->spec, QCindex, NULL);
|
||||||
ino = INTEGERP (image) ? XFASTINT (image) : 0;
|
ino = INTEGERP (image) ? XFASTINT (image) : 0;
|
||||||
image_wand = NewMagickWand ();
|
image_wand = NewMagickWand ();
|
||||||
|
@ -8849,8 +8865,10 @@ imagemagick_load_image (struct frame *f, struct image *img,
|
||||||
DestroyMagickWand (image_wand);
|
DestroyMagickWand (image_wand);
|
||||||
if (bg_wand) DestroyPixelWand (bg_wand);
|
if (bg_wand) DestroyPixelWand (bg_wand);
|
||||||
|
|
||||||
/* `MagickWandTerminus' terminates the imagemagick environment. */
|
/* Do not call MagickWandTerminus, to work around ImageMagick bug 825. See:
|
||||||
MagickWandTerminus ();
|
https://github.com/ImageMagick/ImageMagick/issues/825
|
||||||
|
Although this bug was introduced in ImageMagick 6.9.9-14 and
|
||||||
|
fixed in 6.9.9-18, it's simpler to work around it in all versions. */
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
|
@ -8858,7 +8876,6 @@ imagemagick_load_image (struct frame *f, struct image *img,
|
||||||
DestroyMagickWand (image_wand);
|
DestroyMagickWand (image_wand);
|
||||||
if (bg_wand) DestroyPixelWand (bg_wand);
|
if (bg_wand) DestroyPixelWand (bg_wand);
|
||||||
|
|
||||||
MagickWandTerminus ();
|
|
||||||
/* TODO more cleanup. */
|
/* TODO more cleanup. */
|
||||||
image_error ("Error parsing IMAGEMAGICK image `%s'", img->spec);
|
image_error ("Error parsing IMAGEMAGICK image `%s'", img->spec);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
27
src/indent.c
27
src/indent.c
|
@ -1974,6 +1974,11 @@ line_number_display_width (struct window *w, int *width, int *pixel_width)
|
||||||
saved_restriction = true;
|
saved_restriction = true;
|
||||||
}
|
}
|
||||||
start_display (&it, w, wstart);
|
start_display (&it, w, wstart);
|
||||||
|
/* The call to move_it_by_lines below will not generate a line
|
||||||
|
number if the first line shown in the window is hscrolled
|
||||||
|
such that all of its display elements are out of view. So we
|
||||||
|
pretend the hscroll doesn't exist. */
|
||||||
|
it.first_visible_x = 0;
|
||||||
move_it_by_lines (&it, 1);
|
move_it_by_lines (&it, 1);
|
||||||
*width = it.lnum_width;
|
*width = it.lnum_width;
|
||||||
*pixel_width = it.lnum_pixel_width;
|
*pixel_width = it.lnum_pixel_width;
|
||||||
|
@ -1986,14 +1991,26 @@ line_number_display_width (struct window *w, int *width, int *pixel_width)
|
||||||
DEFUN ("line-number-display-width", Fline_number_display_width,
|
DEFUN ("line-number-display-width", Fline_number_display_width,
|
||||||
Sline_number_display_width, 0, 1, 0,
|
Sline_number_display_width, 0, 1, 0,
|
||||||
doc: /* Return the width used for displaying line numbers in the selected window.
|
doc: /* Return the width used for displaying line numbers in the selected window.
|
||||||
If optional argument PIXELWISE is non-nil, return the width in pixels,
|
If optional argument PIXELWISE is the symbol `columns', return the width
|
||||||
otherwise return the width in columns of the face used to display
|
in units of the frame's canonical character width. In this case, the
|
||||||
line numbers, `line-number'. */)
|
value is a float.
|
||||||
|
If optional argument PIXELWISE is t or any other non-nil value, return
|
||||||
|
the width as an integer number of pixels.
|
||||||
|
Otherwise return the value as an integer number of columns of the face
|
||||||
|
used to display line numbers, `line-number'. Note that in the latter
|
||||||
|
case, the value doesn't include the 2 columns used for padding the
|
||||||
|
numbers on display. */)
|
||||||
(Lisp_Object pixelwise)
|
(Lisp_Object pixelwise)
|
||||||
{
|
{
|
||||||
int width, pixel_width;
|
int width, pixel_width;
|
||||||
|
struct window *w = XWINDOW (selected_window);
|
||||||
line_number_display_width (XWINDOW (selected_window), &width, &pixel_width);
|
line_number_display_width (XWINDOW (selected_window), &width, &pixel_width);
|
||||||
if (!NILP (pixelwise))
|
if (EQ (pixelwise, Qcolumns))
|
||||||
|
{
|
||||||
|
struct frame *f = XFRAME (w->frame);
|
||||||
|
return make_float ((double) pixel_width / FRAME_COLUMN_WIDTH (f));
|
||||||
|
}
|
||||||
|
else if (!NILP (pixelwise))
|
||||||
return make_number (pixel_width);
|
return make_number (pixel_width);
|
||||||
return make_number (width);
|
return make_number (width);
|
||||||
}
|
}
|
||||||
|
@ -2355,6 +2372,8 @@ syms_of_indent (void)
|
||||||
doc: /* Indentation can insert tabs if this is non-nil. */);
|
doc: /* Indentation can insert tabs if this is non-nil. */);
|
||||||
indent_tabs_mode = 1;
|
indent_tabs_mode = 1;
|
||||||
|
|
||||||
|
DEFSYM (Qcolumns, "columns");
|
||||||
|
|
||||||
defsubr (&Scurrent_indentation);
|
defsubr (&Scurrent_indentation);
|
||||||
defsubr (&Sindent_to);
|
defsubr (&Sindent_to);
|
||||||
defsubr (&Scurrent_column);
|
defsubr (&Scurrent_column);
|
||||||
|
|
|
@ -3943,6 +3943,8 @@ careadlinkat (int fd, char const *filename,
|
||||||
int
|
int
|
||||||
faccessat (int dirfd, const char * path, int mode, int flags)
|
faccessat (int dirfd, const char * path, int mode, int flags)
|
||||||
{
|
{
|
||||||
|
char fullname[MAXPATHLEN];
|
||||||
|
|
||||||
/* We silently ignore FLAGS. */
|
/* We silently ignore FLAGS. */
|
||||||
flags = flags;
|
flags = flags;
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,8 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
#include <dpmi.h>
|
#include <dpmi.h>
|
||||||
|
|
||||||
|
#include "termhooks.h" /* struct terminal */
|
||||||
|
|
||||||
int dos_ttraw (struct tty_display_info *);
|
int dos_ttraw (struct tty_display_info *);
|
||||||
int dos_ttcooked (void);
|
int dos_ttcooked (void);
|
||||||
int dos_get_saved_screen (char **, int *, int *);
|
int dos_get_saved_screen (char **, int *, int *);
|
||||||
|
@ -67,6 +69,7 @@ void syms_of_win16select (void);
|
||||||
|
|
||||||
/* Constants. */
|
/* Constants. */
|
||||||
#define EINPROGRESS 112
|
#define EINPROGRESS 112
|
||||||
|
#define ENOTSUP ENOSYS
|
||||||
/* Gnulib sets O_CLOEXEC to O_NOINHERIT, which gets in the way when we
|
/* Gnulib sets O_CLOEXEC to O_NOINHERIT, which gets in the way when we
|
||||||
need to redirect standard handles for subprocesses using temporary
|
need to redirect standard handles for subprocesses using temporary
|
||||||
files created by mkostemp, see callproc.c. */
|
files created by mkostemp, see callproc.c. */
|
||||||
|
|
22
src/nsterm.m
22
src/nsterm.m
|
@ -423,20 +423,12 @@ - (NSColor *)colorUsingDefaultColorSpace
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* GNUstep always shows decorations if the window is resizable,
|
/* These flags will be OR'd or XOR'd with the NSWindow's styleMask
|
||||||
miniaturizable or closable, but Cocoa does strange things in native
|
|
||||||
fullscreen mode if you don't have at least resizable enabled.
|
|
||||||
|
|
||||||
These flags will be OR'd or XOR'd with the NSWindow's styleMask
|
|
||||||
property depending on what we're doing. */
|
property depending on what we're doing. */
|
||||||
#ifdef NS_IMPL_COCOA
|
|
||||||
#define FRAME_DECORATED_FLAGS NSWindowStyleMaskTitled
|
|
||||||
#else
|
|
||||||
#define FRAME_DECORATED_FLAGS (NSWindowStyleMaskTitled \
|
#define FRAME_DECORATED_FLAGS (NSWindowStyleMaskTitled \
|
||||||
| NSWindowStyleMaskResizable \
|
| NSWindowStyleMaskResizable \
|
||||||
| NSWindowStyleMaskMiniaturizable \
|
| NSWindowStyleMaskMiniaturizable \
|
||||||
| NSWindowStyleMaskClosable)
|
| NSWindowStyleMaskClosable)
|
||||||
#endif
|
|
||||||
#define FRAME_UNDECORATED_FLAGS NSWindowStyleMaskBorderless
|
#define FRAME_UNDECORATED_FLAGS NSWindowStyleMaskBorderless
|
||||||
|
|
||||||
/* TODO: get rid of need for these forward declarations */
|
/* TODO: get rid of need for these forward declarations */
|
||||||
|
@ -7211,15 +7203,9 @@ - (instancetype) initFrameFromEmacs: (struct frame *)f
|
||||||
|
|
||||||
win = [[EmacsWindow alloc]
|
win = [[EmacsWindow alloc]
|
||||||
initWithContentRect: r
|
initWithContentRect: r
|
||||||
styleMask: ((FRAME_UNDECORATED (f)
|
styleMask: (FRAME_UNDECORATED (f)
|
||||||
? FRAME_UNDECORATED_FLAGS
|
? FRAME_UNDECORATED_FLAGS
|
||||||
: FRAME_DECORATED_FLAGS)
|
: FRAME_DECORATED_FLAGS)
|
||||||
#ifdef NS_IMPL_COCOA
|
|
||||||
| NSWindowStyleMaskResizable
|
|
||||||
| NSWindowStyleMaskMiniaturizable
|
|
||||||
| NSWindowStyleMaskClosable
|
|
||||||
#endif
|
|
||||||
)
|
|
||||||
backing: NSBackingStoreBuffered
|
backing: NSBackingStoreBuffered
|
||||||
defer: YES];
|
defer: YES];
|
||||||
|
|
||||||
|
|
|
@ -40,6 +40,8 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
|
||||||
#include <netinet/in.h>
|
#include <netinet/in.h>
|
||||||
#include <arpa/inet.h>
|
#include <arpa/inet.h>
|
||||||
|
|
||||||
|
#endif /* subprocesses */
|
||||||
|
|
||||||
#ifdef HAVE_SETRLIMIT
|
#ifdef HAVE_SETRLIMIT
|
||||||
# include <sys/resource.h>
|
# include <sys/resource.h>
|
||||||
|
|
||||||
|
@ -49,6 +51,8 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
|
||||||
static struct rlimit nofile_limit;
|
static struct rlimit nofile_limit;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef subprocesses
|
||||||
|
|
||||||
/* Are local (unix) sockets supported? */
|
/* Are local (unix) sockets supported? */
|
||||||
#if defined (HAVE_SYS_UN_H)
|
#if defined (HAVE_SYS_UN_H)
|
||||||
#if !defined (AF_LOCAL) && defined (AF_UNIX)
|
#if !defined (AF_LOCAL) && defined (AF_UNIX)
|
||||||
|
@ -3830,7 +3834,7 @@ usage: (make-network-process &rest ARGS) */)
|
||||||
Lisp_Object proc;
|
Lisp_Object proc;
|
||||||
Lisp_Object contact;
|
Lisp_Object contact;
|
||||||
struct Lisp_Process *p;
|
struct Lisp_Process *p;
|
||||||
const char *portstring;
|
const char *portstring UNINIT;
|
||||||
ptrdiff_t portstringlen ATTRIBUTE_UNUSED;
|
ptrdiff_t portstringlen ATTRIBUTE_UNUSED;
|
||||||
char portbuf[INT_BUFSIZE_BOUND (EMACS_INT)];
|
char portbuf[INT_BUFSIZE_BOUND (EMACS_INT)];
|
||||||
#ifdef HAVE_LOCAL_SOCKETS
|
#ifdef HAVE_LOCAL_SOCKETS
|
||||||
|
@ -7455,6 +7459,13 @@ keyboard_bit_set (fd_set *mask)
|
||||||
|
|
||||||
#else /* not subprocesses */
|
#else /* not subprocesses */
|
||||||
|
|
||||||
|
/* This is referenced in thread.c:run_thread (which is never actually
|
||||||
|
called, since threads are not enabled for this configuration. */
|
||||||
|
void
|
||||||
|
update_processes_for_thread_death (Lisp_Object dying_thread)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
/* Defined in msdos.c. */
|
/* Defined in msdos.c. */
|
||||||
extern int sys_select (int, fd_set *, fd_set *, fd_set *,
|
extern int sys_select (int, fd_set *, fd_set *, fd_set *,
|
||||||
struct timespec *, void *);
|
struct timespec *, void *);
|
||||||
|
|
|
@ -831,6 +831,8 @@ unblock_child_signal (sigset_t const *oldset)
|
||||||
pthread_sigmask (SIG_SETMASK, oldset, 0);
|
pthread_sigmask (SIG_SETMASK, oldset, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif /* !MSDOS */
|
||||||
|
|
||||||
/* Block SIGINT. */
|
/* Block SIGINT. */
|
||||||
void
|
void
|
||||||
block_interrupt_signal (sigset_t *oldset)
|
block_interrupt_signal (sigset_t *oldset)
|
||||||
|
@ -848,7 +850,6 @@ restore_signal_mask (sigset_t const *oldset)
|
||||||
pthread_sigmask (SIG_SETMASK, oldset, 0);
|
pthread_sigmask (SIG_SETMASK, oldset, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* !MSDOS */
|
|
||||||
|
|
||||||
/* Saving and restoring the process group of Emacs's terminal. */
|
/* Saving and restoring the process group of Emacs's terminal. */
|
||||||
|
|
||||||
|
|
|
@ -50,6 +50,11 @@ typedef int fd_set;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef MSDOS
|
#ifdef MSDOS
|
||||||
|
/* The above #define for 'select' gets in the way because sysselect.h
|
||||||
|
is included in thread.h, which is included everywhere, and 'select'
|
||||||
|
declared in DJGPP system headers has a signature incompatible with
|
||||||
|
'pselect', which we emulate in msdos.c. */
|
||||||
|
#undef select
|
||||||
#define pselect sys_select
|
#define pselect sys_select
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -187,7 +187,7 @@ sys_thread_yield (void)
|
||||||
|
|
||||||
#elif defined (WINDOWSNT)
|
#elif defined (WINDOWSNT)
|
||||||
|
|
||||||
#include <windows.h>
|
#include <w32term.h>
|
||||||
|
|
||||||
/* Cannot include <process.h> because of the local header by the same
|
/* Cannot include <process.h> because of the local header by the same
|
||||||
name, sigh. */
|
name, sigh. */
|
||||||
|
@ -326,8 +326,9 @@ sys_thread_self (void)
|
||||||
static thread_creation_function *thread_start_address;
|
static thread_creation_function *thread_start_address;
|
||||||
|
|
||||||
/* _beginthread wants a void function, while we are passed a function
|
/* _beginthread wants a void function, while we are passed a function
|
||||||
that returns a pointer. So we use a wrapper. */
|
that returns a pointer. So we use a wrapper. See the command in
|
||||||
static void
|
w32term.h about the need for ALIGN_STACK attribute. */
|
||||||
|
static void ALIGN_STACK
|
||||||
w32_beginthread_wrapper (void *arg)
|
w32_beginthread_wrapper (void *arg)
|
||||||
{
|
{
|
||||||
(void)thread_start_address (arg);
|
(void)thread_start_address (arg);
|
||||||
|
|
|
@ -806,7 +806,11 @@ If NAME is given, it must be a string; it names the new thread. */)
|
||||||
{
|
{
|
||||||
/* Restore the previous situation. */
|
/* Restore the previous situation. */
|
||||||
all_threads = all_threads->next_thread;
|
all_threads = all_threads->next_thread;
|
||||||
|
#ifdef THREADS_ENABLED
|
||||||
error ("Could not start a new thread");
|
error ("Could not start a new thread");
|
||||||
|
#else
|
||||||
|
error ("Concurrency is not supported in this configuration");
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/* FIXME: race here where new thread might not be filled in? */
|
/* FIXME: race here where new thread might not be filled in? */
|
||||||
|
|
|
@ -25,6 +25,10 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
|
||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef MSDOS
|
||||||
|
#include <signal.h> /* sigset_t */
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "sysselect.h" /* FIXME */
|
#include "sysselect.h" /* FIXME */
|
||||||
#include "systime.h" /* FIXME */
|
#include "systime.h" /* FIXME */
|
||||||
#include "systhread.h"
|
#include "systhread.h"
|
||||||
|
|
|
@ -5847,7 +5847,8 @@ This function is an internal primitive--use `make-frame' instead. */)
|
||||||
that are needed to determine window geometry. */
|
that are needed to determine window geometry. */
|
||||||
x_default_font_parameter (f, parameters);
|
x_default_font_parameter (f, parameters);
|
||||||
|
|
||||||
x_default_parameter (f, parameters, Qborder_width, make_number (2),
|
/* Default BorderWidth to 0 to match other platforms. */
|
||||||
|
x_default_parameter (f, parameters, Qborder_width, make_number (0),
|
||||||
"borderWidth", "BorderWidth", RES_TYPE_NUMBER);
|
"borderWidth", "BorderWidth", RES_TYPE_NUMBER);
|
||||||
|
|
||||||
/* We recognize either internalBorderWidth or internalBorder
|
/* We recognize either internalBorderWidth or internalBorder
|
||||||
|
@ -5862,7 +5863,7 @@ This function is an internal primitive--use `make-frame' instead. */)
|
||||||
parameters = Fcons (Fcons (Qinternal_border_width, value),
|
parameters = Fcons (Fcons (Qinternal_border_width, value),
|
||||||
parameters);
|
parameters);
|
||||||
}
|
}
|
||||||
/* Default internalBorderWidth to 0 on Windows to match other programs. */
|
|
||||||
x_default_parameter (f, parameters, Qinternal_border_width, make_number (0),
|
x_default_parameter (f, parameters, Qinternal_border_width, make_number (0),
|
||||||
"internalBorderWidth", "InternalBorder", RES_TYPE_NUMBER);
|
"internalBorderWidth", "InternalBorder", RES_TYPE_NUMBER);
|
||||||
x_default_parameter (f, parameters, Qright_divider_width, make_number (0),
|
x_default_parameter (f, parameters, Qright_divider_width, make_number (0),
|
||||||
|
|
|
@ -22,13 +22,14 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
|
||||||
#include "frame.h"
|
#include "frame.h"
|
||||||
#include "atimer.h"
|
#include "atimer.h"
|
||||||
|
|
||||||
/* Stack alignment stuff. Every CALLBACK function should have the
|
/* Stack alignment stuff. Every CALLBACK and thread function should
|
||||||
ALIGN_STACK attribute if it manipulates Lisp objects, because
|
have the ALIGN_STACK attribute if it manipulates Lisp objects,
|
||||||
Windows x86 32-bit ABI only guarantees 4-byte stack alignment, and
|
because Windows x86 32-bit ABI only guarantees 4-byte stack
|
||||||
that is what we will get when a Windows function calls us. The
|
alignment, and that is what we will get when a Windows function
|
||||||
ALIGN_STACK attribute forces GCC to emit a preamble code to
|
calls us. The ALIGN_STACK attribute forces GCC to emit a preamble
|
||||||
re-align the stack at function entry. Further details about this
|
code to re-align the stack at function entry. Further details
|
||||||
can be found in http://www.peterstock.co.uk/games/mingw_sse/. */
|
about this can be found in
|
||||||
|
http://www.peterstock.co.uk/games/mingw_sse/. */
|
||||||
#ifdef __GNUC__
|
#ifdef __GNUC__
|
||||||
# if USE_STACK_LISP_OBJECTS && !defined _WIN64 && !defined __x86_64__ \
|
# if USE_STACK_LISP_OBJECTS && !defined _WIN64 && !defined __x86_64__ \
|
||||||
&& __GNUC__ + (__GNUC_MINOR__ > 1) >= 5
|
&& __GNUC__ + (__GNUC_MINOR__ > 1) >= 5
|
||||||
|
|
57
src/xdisp.c
57
src/xdisp.c
|
@ -20889,9 +20889,11 @@ maybe_produce_line_number (struct it *it)
|
||||||
&& it->w->base_line_pos <= IT_CHARPOS (*it)
|
&& it->w->base_line_pos <= IT_CHARPOS (*it)
|
||||||
/* line-number-mode always displays narrowed line
|
/* line-number-mode always displays narrowed line
|
||||||
numbers, so we cannot use its data if the user wants
|
numbers, so we cannot use its data if the user wants
|
||||||
line numbers that disregard narrowing. */
|
line numbers that disregard narrowing, or if the
|
||||||
|
buffer's narrowing has just changed. */
|
||||||
&& !(display_line_numbers_widen
|
&& !(display_line_numbers_widen
|
||||||
&& (BEG_BYTE != BEGV_BYTE || Z_BYTE != ZV_BYTE)))
|
&& (BEG_BYTE != BEGV_BYTE || Z_BYTE != ZV_BYTE))
|
||||||
|
&& !current_buffer->clip_changed)
|
||||||
{
|
{
|
||||||
start_from = CHAR_TO_BYTE (it->w->base_line_pos);
|
start_from = CHAR_TO_BYTE (it->w->base_line_pos);
|
||||||
last_line = it->w->base_line_number - 1;
|
last_line = it->w->base_line_number - 1;
|
||||||
|
@ -25121,7 +25123,20 @@ else if the text is replaced by an ellipsis. */)
|
||||||
'(space :width (+ left-fringe left-margin (- (1))))
|
'(space :width (+ left-fringe left-margin (- (1))))
|
||||||
'(space :width (+ left-fringe left-margin (-1)))
|
'(space :width (+ left-fringe left-margin (-1)))
|
||||||
|
|
||||||
*/
|
If ALIGN_TO is NULL, returns the result in *RES. If ALIGN_TO is
|
||||||
|
non-NULL, the value of *ALIGN_TO is a window-relative pixel
|
||||||
|
coordinate, and *RES is the additional pixel width from that point
|
||||||
|
till the end of the stretch glyph.
|
||||||
|
|
||||||
|
WIDTH_P non-zero means take the width dimension or X coordinate of
|
||||||
|
the object specified by PROP, WIDTH_P zero means take the height
|
||||||
|
dimension or the Y coordinate. (Therefore, if ALIGN_TO is
|
||||||
|
non-NULL, WIDTH_P should be non-zero.)
|
||||||
|
|
||||||
|
FONT is the font of the face of the surrounding text.
|
||||||
|
|
||||||
|
The return value is non-zero if width or height were successfully
|
||||||
|
calculated, i.e. if PROP is a valid spec. */
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
calc_pixel_width_or_height (double *res, struct it *it, Lisp_Object prop,
|
calc_pixel_width_or_height (double *res, struct it *it, Lisp_Object prop,
|
||||||
|
@ -25143,6 +25158,7 @@ calc_pixel_width_or_height (double *res, struct it *it, Lisp_Object prop,
|
||||||
{
|
{
|
||||||
char *unit = SSDATA (SYMBOL_NAME (prop));
|
char *unit = SSDATA (SYMBOL_NAME (prop));
|
||||||
|
|
||||||
|
/* The UNIT expression, e.g. as part of (NUM . UNIT). */
|
||||||
if (unit[0] == 'i' && unit[1] == 'n')
|
if (unit[0] == 'i' && unit[1] == 'n')
|
||||||
pixels = 1.0;
|
pixels = 1.0;
|
||||||
else if (unit[0] == 'm' && unit[1] == 'm')
|
else if (unit[0] == 'm' && unit[1] == 'm')
|
||||||
|
@ -25163,10 +25179,12 @@ calc_pixel_width_or_height (double *res, struct it *it, Lisp_Object prop,
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_WINDOW_SYSTEM
|
#ifdef HAVE_WINDOW_SYSTEM
|
||||||
|
/* 'height': the height of FONT. */
|
||||||
if (EQ (prop, Qheight))
|
if (EQ (prop, Qheight))
|
||||||
return OK_PIXELS (font
|
return OK_PIXELS (font
|
||||||
? normal_char_height (font, -1)
|
? normal_char_height (font, -1)
|
||||||
: FRAME_LINE_HEIGHT (it->f));
|
: FRAME_LINE_HEIGHT (it->f));
|
||||||
|
/* 'width': the width of FONT. */
|
||||||
if (EQ (prop, Qwidth))
|
if (EQ (prop, Qwidth))
|
||||||
return OK_PIXELS (font
|
return OK_PIXELS (font
|
||||||
? FONT_WIDTH (font)
|
? FONT_WIDTH (font)
|
||||||
|
@ -25176,33 +25194,48 @@ calc_pixel_width_or_height (double *res, struct it *it, Lisp_Object prop,
|
||||||
return OK_PIXELS (1);
|
return OK_PIXELS (1);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* 'text': the width or height of the text area. */
|
||||||
if (EQ (prop, Qtext))
|
if (EQ (prop, Qtext))
|
||||||
return OK_PIXELS (width_p
|
return OK_PIXELS (width_p
|
||||||
? window_box_width (it->w, TEXT_AREA)
|
? (window_box_width (it->w, TEXT_AREA)
|
||||||
|
- it->lnum_pixel_width)
|
||||||
: WINDOW_BOX_HEIGHT_NO_MODE_LINE (it->w));
|
: WINDOW_BOX_HEIGHT_NO_MODE_LINE (it->w));
|
||||||
|
|
||||||
|
/* ':align_to'. First time we compute the value, window
|
||||||
|
elements are interpreted as the position of the element's
|
||||||
|
left edge. */
|
||||||
if (align_to && *align_to < 0)
|
if (align_to && *align_to < 0)
|
||||||
{
|
{
|
||||||
*res = 0;
|
*res = 0;
|
||||||
|
/* 'left': left edge of the text area. */
|
||||||
if (EQ (prop, Qleft))
|
if (EQ (prop, Qleft))
|
||||||
return OK_ALIGN_TO (window_box_left_offset (it->w, TEXT_AREA));
|
return OK_ALIGN_TO (window_box_left_offset (it->w, TEXT_AREA)
|
||||||
|
+ it->lnum_pixel_width);
|
||||||
|
/* 'right': right edge of the text area. */
|
||||||
if (EQ (prop, Qright))
|
if (EQ (prop, Qright))
|
||||||
return OK_ALIGN_TO (window_box_right_offset (it->w, TEXT_AREA));
|
return OK_ALIGN_TO (window_box_right_offset (it->w, TEXT_AREA));
|
||||||
|
/* 'center': the center of the text area. */
|
||||||
if (EQ (prop, Qcenter))
|
if (EQ (prop, Qcenter))
|
||||||
return OK_ALIGN_TO (window_box_left_offset (it->w, TEXT_AREA)
|
return OK_ALIGN_TO (window_box_left_offset (it->w, TEXT_AREA)
|
||||||
|
+ it->lnum_pixel_width
|
||||||
+ window_box_width (it->w, TEXT_AREA) / 2);
|
+ window_box_width (it->w, TEXT_AREA) / 2);
|
||||||
|
/* 'left-fringe': left edge of the left fringe. */
|
||||||
if (EQ (prop, Qleft_fringe))
|
if (EQ (prop, Qleft_fringe))
|
||||||
return OK_ALIGN_TO (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS (it->w)
|
return OK_ALIGN_TO (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS (it->w)
|
||||||
? WINDOW_LEFT_SCROLL_BAR_AREA_WIDTH (it->w)
|
? WINDOW_LEFT_SCROLL_BAR_AREA_WIDTH (it->w)
|
||||||
: window_box_right_offset (it->w, LEFT_MARGIN_AREA));
|
: window_box_right_offset (it->w, LEFT_MARGIN_AREA));
|
||||||
|
/* 'right-fringe': left edge of the right fringe. */
|
||||||
if (EQ (prop, Qright_fringe))
|
if (EQ (prop, Qright_fringe))
|
||||||
return OK_ALIGN_TO (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS (it->w)
|
return OK_ALIGN_TO (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS (it->w)
|
||||||
? window_box_right_offset (it->w, RIGHT_MARGIN_AREA)
|
? window_box_right_offset (it->w, RIGHT_MARGIN_AREA)
|
||||||
: window_box_right_offset (it->w, TEXT_AREA));
|
: window_box_right_offset (it->w, TEXT_AREA));
|
||||||
|
/* 'left-margin': left edge of the left display margin. */
|
||||||
if (EQ (prop, Qleft_margin))
|
if (EQ (prop, Qleft_margin))
|
||||||
return OK_ALIGN_TO (window_box_left_offset (it->w, LEFT_MARGIN_AREA));
|
return OK_ALIGN_TO (window_box_left_offset (it->w, LEFT_MARGIN_AREA));
|
||||||
|
/* 'right-margin': left edge of the right display margin. */
|
||||||
if (EQ (prop, Qright_margin))
|
if (EQ (prop, Qright_margin))
|
||||||
return OK_ALIGN_TO (window_box_left_offset (it->w, RIGHT_MARGIN_AREA));
|
return OK_ALIGN_TO (window_box_left_offset (it->w, RIGHT_MARGIN_AREA));
|
||||||
|
/* 'scroll-bar': left edge of the vertical scroll bar. */
|
||||||
if (EQ (prop, Qscroll_bar))
|
if (EQ (prop, Qscroll_bar))
|
||||||
return OK_ALIGN_TO (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT (it->w)
|
return OK_ALIGN_TO (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT (it->w)
|
||||||
? 0
|
? 0
|
||||||
|
@ -25213,6 +25246,7 @@ calc_pixel_width_or_height (double *res, struct it *it, Lisp_Object prop,
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
/* Otherwise, the elements stand for their width. */
|
||||||
if (EQ (prop, Qleft_fringe))
|
if (EQ (prop, Qleft_fringe))
|
||||||
return OK_PIXELS (WINDOW_LEFT_FRINGE_WIDTH (it->w));
|
return OK_PIXELS (WINDOW_LEFT_FRINGE_WIDTH (it->w));
|
||||||
if (EQ (prop, Qright_fringe))
|
if (EQ (prop, Qright_fringe))
|
||||||
|
@ -25235,6 +25269,8 @@ calc_pixel_width_or_height (double *res, struct it *it, Lisp_Object prop,
|
||||||
int base_unit = (width_p
|
int base_unit = (width_p
|
||||||
? FRAME_COLUMN_WIDTH (it->f)
|
? FRAME_COLUMN_WIDTH (it->f)
|
||||||
: FRAME_LINE_HEIGHT (it->f));
|
: FRAME_LINE_HEIGHT (it->f));
|
||||||
|
if (width_p && align_to && *align_to < 0)
|
||||||
|
return OK_PIXELS (XFLOATINT (prop) * base_unit + it->lnum_pixel_width);
|
||||||
return OK_PIXELS (XFLOATINT (prop) * base_unit);
|
return OK_PIXELS (XFLOATINT (prop) * base_unit);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -25246,6 +25282,7 @@ calc_pixel_width_or_height (double *res, struct it *it, Lisp_Object prop,
|
||||||
if (SYMBOLP (car))
|
if (SYMBOLP (car))
|
||||||
{
|
{
|
||||||
#ifdef HAVE_WINDOW_SYSTEM
|
#ifdef HAVE_WINDOW_SYSTEM
|
||||||
|
/* '(image PROPS...)': width or height of the specified image. */
|
||||||
if (FRAME_WINDOW_P (it->f)
|
if (FRAME_WINDOW_P (it->f)
|
||||||
&& valid_image_p (prop))
|
&& valid_image_p (prop))
|
||||||
{
|
{
|
||||||
|
@ -25254,12 +25291,15 @@ calc_pixel_width_or_height (double *res, struct it *it, Lisp_Object prop,
|
||||||
|
|
||||||
return OK_PIXELS (width_p ? img->width : img->height);
|
return OK_PIXELS (width_p ? img->width : img->height);
|
||||||
}
|
}
|
||||||
|
/* '(xwidget PROPS...)': dimensions of the specified xwidget. */
|
||||||
if (FRAME_WINDOW_P (it->f) && valid_xwidget_spec_p (prop))
|
if (FRAME_WINDOW_P (it->f) && valid_xwidget_spec_p (prop))
|
||||||
{
|
{
|
||||||
/* TODO: Don't return dummy size. */
|
/* TODO: Don't return dummy size. */
|
||||||
return OK_PIXELS (100);
|
return OK_PIXELS (100);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
/* '(+ EXPR...)' or '(- EXPR...)' add or subtract
|
||||||
|
recursively calculated values. */
|
||||||
if (EQ (car, Qplus) || EQ (car, Qminus))
|
if (EQ (car, Qplus) || EQ (car, Qminus))
|
||||||
{
|
{
|
||||||
bool first = true;
|
bool first = true;
|
||||||
|
@ -25287,15 +25327,18 @@ calc_pixel_width_or_height (double *res, struct it *it, Lisp_Object prop,
|
||||||
car = Qnil;
|
car = Qnil;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* '(NUM)': absolute number of pixels. */
|
||||||
if (NUMBERP (car))
|
if (NUMBERP (car))
|
||||||
{
|
{
|
||||||
double fact;
|
double fact;
|
||||||
|
int offset =
|
||||||
|
width_p && align_to && *align_to < 0 ? it->lnum_pixel_width : 0;
|
||||||
pixels = XFLOATINT (car);
|
pixels = XFLOATINT (car);
|
||||||
if (NILP (cdr))
|
if (NILP (cdr))
|
||||||
return OK_PIXELS (pixels);
|
return OK_PIXELS (pixels + offset);
|
||||||
if (calc_pixel_width_or_height (&fact, it, cdr,
|
if (calc_pixel_width_or_height (&fact, it, cdr,
|
||||||
font, width_p, align_to))
|
font, width_p, align_to))
|
||||||
return OK_PIXELS (pixels * fact);
|
return OK_PIXELS (pixels * fact + offset);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -818,7 +818,6 @@ This is a regression for item 7 in Bug#24991."
|
||||||
|
|
||||||
(kmacro-tests-deftest kmacro-tests-step-edit-cleans-up-hook ()
|
(kmacro-tests-deftest kmacro-tests-step-edit-cleans-up-hook ()
|
||||||
"Step-editing properly cleans up `post-command-hook.' (Bug #18708)"
|
"Step-editing properly cleans up `post-command-hook.' (Bug #18708)"
|
||||||
(:expected-result :failed)
|
|
||||||
(let (post-command-hook)
|
(let (post-command-hook)
|
||||||
(setq-local post-command-hook '(t))
|
(setq-local post-command-hook '(t))
|
||||||
(kmacro-tests-run-step-edit "x"
|
(kmacro-tests-run-step-edit "x"
|
||||||
|
|
|
@ -1883,96 +1883,98 @@ This checks also `file-name-as-directory', `file-name-directory',
|
||||||
(let (quoted)
|
(let (quoted)
|
||||||
(let ((tmp-name1 (tramp--test-make-temp-name nil quoted))
|
(let ((tmp-name1 (tramp--test-make-temp-name nil quoted))
|
||||||
(tmp-name2 (tramp--test-make-temp-name nil quoted))
|
(tmp-name2 (tramp--test-make-temp-name nil quoted))
|
||||||
(tmp-name3 (tramp--test-make-temp-name nil quoted))
|
(tmp-name3 (tramp--test-make-temp-name 'local quoted)))
|
||||||
(tmp-name4 (tramp--test-make-temp-name 'local quoted))
|
(dolist (source-target
|
||||||
(tmp-name5 (tramp--test-make-temp-name 'local quoted)))
|
`(;; Copy on remote side.
|
||||||
|
(,tmp-name1 . ,tmp-name2)
|
||||||
|
;; Copy from remote side to local side.
|
||||||
|
(,tmp-name1 . ,tmp-name3)
|
||||||
|
;; Copy from local side to remote side.
|
||||||
|
(,tmp-name3 . ,tmp-name1)))
|
||||||
|
(let ((source (car source-target))
|
||||||
|
(target (cdr source-target)))
|
||||||
|
|
||||||
;; Copy on remote side.
|
;; Copy simple file.
|
||||||
(unwind-protect
|
(unwind-protect
|
||||||
(progn
|
(progn
|
||||||
(write-region "foo" nil tmp-name1)
|
(write-region "foo" nil source)
|
||||||
(copy-file tmp-name1 tmp-name2)
|
(should (file-exists-p source))
|
||||||
(should (file-exists-p tmp-name2))
|
(copy-file source target)
|
||||||
(with-temp-buffer
|
(should (file-exists-p target))
|
||||||
(insert-file-contents tmp-name2)
|
(with-temp-buffer
|
||||||
(should (string-equal (buffer-string) "foo")))
|
(insert-file-contents target)
|
||||||
(should-error
|
(should (string-equal (buffer-string) "foo")))
|
||||||
(copy-file tmp-name1 tmp-name2)
|
(should-error
|
||||||
:type 'file-already-exists)
|
(copy-file source target)
|
||||||
(copy-file tmp-name1 tmp-name2 'ok)
|
:type 'file-already-exists)
|
||||||
(make-directory tmp-name3)
|
(copy-file source target 'ok))
|
||||||
;; This has been changed in Emacs 26.1.
|
|
||||||
(when (tramp--test-emacs26-p)
|
|
||||||
(should-error
|
|
||||||
(copy-file tmp-name1 tmp-name3)
|
|
||||||
:type 'file-already-exists))
|
|
||||||
(copy-file tmp-name1 (file-name-as-directory tmp-name3))
|
|
||||||
(should
|
|
||||||
(file-exists-p
|
|
||||||
(expand-file-name (file-name-nondirectory tmp-name1) tmp-name3))))
|
|
||||||
|
|
||||||
;; Cleanup.
|
;; Cleanup.
|
||||||
(ignore-errors (delete-file tmp-name1))
|
(ignore-errors (delete-file source))
|
||||||
(ignore-errors (delete-file tmp-name2))
|
(ignore-errors (delete-file target)))
|
||||||
(ignore-errors (delete-directory tmp-name3 'recursive)))
|
|
||||||
|
|
||||||
;; Copy from remote side to local side.
|
;; Copy file to directory.
|
||||||
(unwind-protect
|
(unwind-protect
|
||||||
(progn
|
(progn
|
||||||
(write-region "foo" nil tmp-name1)
|
(write-region "foo" nil source)
|
||||||
(copy-file tmp-name1 tmp-name4)
|
(should (file-exists-p source))
|
||||||
(should (file-exists-p tmp-name4))
|
(make-directory target)
|
||||||
(with-temp-buffer
|
(should (file-directory-p target))
|
||||||
(insert-file-contents tmp-name4)
|
;; This has been changed in Emacs 26.1.
|
||||||
(should (string-equal (buffer-string) "foo")))
|
(when (tramp--test-emacs26-p)
|
||||||
(should-error
|
(should-error
|
||||||
(copy-file tmp-name1 tmp-name4)
|
(copy-file source target)
|
||||||
:type 'file-already-exists)
|
:type 'file-already-exists))
|
||||||
(copy-file tmp-name1 tmp-name4 'ok)
|
(copy-file source (file-name-as-directory target))
|
||||||
(make-directory tmp-name5)
|
(should
|
||||||
;; This has been changed in Emacs 26.1.
|
(file-exists-p
|
||||||
(when (tramp--test-emacs26-p)
|
(expand-file-name (file-name-nondirectory source) target))))
|
||||||
(should-error
|
|
||||||
(copy-file tmp-name1 tmp-name5)
|
|
||||||
:type 'file-already-exists))
|
|
||||||
(copy-file tmp-name1 (file-name-as-directory tmp-name5))
|
|
||||||
(should
|
|
||||||
(file-exists-p
|
|
||||||
(expand-file-name (file-name-nondirectory tmp-name1) tmp-name5))))
|
|
||||||
|
|
||||||
;; Cleanup.
|
;; Cleanup.
|
||||||
(ignore-errors (delete-file tmp-name1))
|
(ignore-errors (delete-file source))
|
||||||
(ignore-errors (delete-file tmp-name4))
|
(ignore-errors (delete-directory target 'recursive)))
|
||||||
(ignore-errors (delete-directory tmp-name5 'recursive)))
|
|
||||||
|
|
||||||
;; Copy from local side to remote side.
|
;; Copy directory to existing directory.
|
||||||
(unwind-protect
|
(unwind-protect
|
||||||
(progn
|
(progn
|
||||||
(write-region "foo" nil tmp-name4 nil 'nomessage)
|
(make-directory source)
|
||||||
(copy-file tmp-name4 tmp-name1)
|
(should (file-directory-p source))
|
||||||
(should (file-exists-p tmp-name1))
|
(write-region "foo" nil (expand-file-name "foo" source))
|
||||||
(with-temp-buffer
|
(should (file-exists-p (expand-file-name "foo" source)))
|
||||||
(insert-file-contents tmp-name1)
|
(make-directory target)
|
||||||
(should (string-equal (buffer-string) "foo")))
|
(should (file-directory-p target))
|
||||||
(should-error
|
;; Directory `target' exists already, so we must use
|
||||||
(copy-file tmp-name4 tmp-name1)
|
;; `file-name-as-directory'.
|
||||||
:type 'file-already-exists)
|
(copy-file source (file-name-as-directory target))
|
||||||
(copy-file tmp-name4 tmp-name1 'ok)
|
(should
|
||||||
(make-directory tmp-name3)
|
(file-exists-p
|
||||||
;; This has been changed in Emacs 26.1.
|
(expand-file-name
|
||||||
(when (tramp--test-emacs26-p)
|
(concat (file-name-nondirectory source) "/foo") target))))
|
||||||
(should-error
|
|
||||||
(copy-file tmp-name4 tmp-name3)
|
|
||||||
:type 'file-already-exists))
|
|
||||||
(copy-file tmp-name4 (file-name-as-directory tmp-name3))
|
|
||||||
(should
|
|
||||||
(file-exists-p
|
|
||||||
(expand-file-name (file-name-nondirectory tmp-name4) tmp-name3))))
|
|
||||||
|
|
||||||
;; Cleanup.
|
;; Cleanup.
|
||||||
(ignore-errors (delete-file tmp-name1))
|
(ignore-errors (delete-directory source 'recursive))
|
||||||
(ignore-errors (delete-file tmp-name4))
|
(ignore-errors (delete-directory target 'recursive)))
|
||||||
(ignore-errors (delete-directory tmp-name3 'recursive))))))
|
|
||||||
|
;; Copy directory/file to non-existing directory.
|
||||||
|
(unwind-protect
|
||||||
|
(progn
|
||||||
|
(make-directory source)
|
||||||
|
(should (file-directory-p source))
|
||||||
|
(write-region "foo" nil (expand-file-name "foo" source))
|
||||||
|
(should (file-exists-p (expand-file-name "foo" source)))
|
||||||
|
(make-directory target)
|
||||||
|
(should (file-directory-p target))
|
||||||
|
(copy-file
|
||||||
|
source
|
||||||
|
(expand-file-name (file-name-nondirectory source) target))
|
||||||
|
(should
|
||||||
|
(file-exists-p
|
||||||
|
(expand-file-name
|
||||||
|
(concat (file-name-nondirectory source) "/foo") target))))
|
||||||
|
|
||||||
|
;; Cleanup.
|
||||||
|
(ignore-errors (delete-directory source 'recursive))
|
||||||
|
(ignore-errors (delete-directory target 'recursive))))))))
|
||||||
|
|
||||||
(ert-deftest tramp-test12-rename-file ()
|
(ert-deftest tramp-test12-rename-file ()
|
||||||
"Check `rename-file'."
|
"Check `rename-file'."
|
||||||
|
@ -1983,111 +1985,105 @@ This checks also `file-name-as-directory', `file-name-directory',
|
||||||
(let (quoted)
|
(let (quoted)
|
||||||
(let ((tmp-name1 (tramp--test-make-temp-name nil quoted))
|
(let ((tmp-name1 (tramp--test-make-temp-name nil quoted))
|
||||||
(tmp-name2 (tramp--test-make-temp-name nil quoted))
|
(tmp-name2 (tramp--test-make-temp-name nil quoted))
|
||||||
(tmp-name3 (tramp--test-make-temp-name nil quoted))
|
(tmp-name3 (tramp--test-make-temp-name 'local quoted)))
|
||||||
(tmp-name4 (tramp--test-make-temp-name 'local quoted))
|
(dolist (source-target
|
||||||
(tmp-name5 (tramp--test-make-temp-name 'local quoted)))
|
`(;; Rename on remote side.
|
||||||
|
(,tmp-name1 . ,tmp-name2)
|
||||||
|
;; Rename from remote side to local side.
|
||||||
|
(,tmp-name1 . ,tmp-name3)
|
||||||
|
;; Rename from local side to remote side.
|
||||||
|
(,tmp-name3 . ,tmp-name1)))
|
||||||
|
(let ((source (car source-target))
|
||||||
|
(target (cdr source-target)))
|
||||||
|
|
||||||
;; Rename on remote side.
|
;; Rename simple file.
|
||||||
(unwind-protect
|
(unwind-protect
|
||||||
(progn
|
(progn
|
||||||
(write-region "foo" nil tmp-name1)
|
(write-region "foo" nil source)
|
||||||
(rename-file tmp-name1 tmp-name2)
|
(should (file-exists-p source))
|
||||||
(should-not (file-exists-p tmp-name1))
|
(rename-file source target)
|
||||||
(should (file-exists-p tmp-name2))
|
(should-not (file-exists-p source))
|
||||||
(with-temp-buffer
|
(should (file-exists-p target))
|
||||||
(insert-file-contents tmp-name2)
|
(with-temp-buffer
|
||||||
(should (string-equal (buffer-string) "foo")))
|
(insert-file-contents target)
|
||||||
(write-region "foo" nil tmp-name1)
|
(should (string-equal (buffer-string) "foo")))
|
||||||
(should-error
|
(write-region "foo" nil source)
|
||||||
(rename-file tmp-name1 tmp-name2)
|
(should (file-exists-p source))
|
||||||
:type 'file-already-exists)
|
(should-error
|
||||||
(rename-file tmp-name1 tmp-name2 'ok)
|
(rename-file source target)
|
||||||
(should-not (file-exists-p tmp-name1))
|
:type 'file-already-exists)
|
||||||
(write-region "foo" nil tmp-name1)
|
(rename-file source target 'ok)
|
||||||
(make-directory tmp-name3)
|
(should-not (file-exists-p source)))
|
||||||
;; This has been changed in Emacs 26.1.
|
|
||||||
(when (tramp--test-emacs26-p)
|
|
||||||
(should-error
|
|
||||||
(rename-file tmp-name1 tmp-name3)
|
|
||||||
:type 'file-already-exists))
|
|
||||||
(rename-file tmp-name1 (file-name-as-directory tmp-name3))
|
|
||||||
(should-not (file-exists-p tmp-name1))
|
|
||||||
(should
|
|
||||||
(file-exists-p
|
|
||||||
(expand-file-name (file-name-nondirectory tmp-name1) tmp-name3))))
|
|
||||||
|
|
||||||
;; Cleanup.
|
;; Cleanup.
|
||||||
(ignore-errors (delete-file tmp-name1))
|
(ignore-errors (delete-file source))
|
||||||
(ignore-errors (delete-file tmp-name2))
|
(ignore-errors (delete-file target)))
|
||||||
(ignore-errors (delete-directory tmp-name3 'recursive)))
|
|
||||||
|
|
||||||
;; Rename from remote side to local side.
|
;; Rename file to directory.
|
||||||
(unwind-protect
|
(unwind-protect
|
||||||
(progn
|
(progn
|
||||||
(write-region "foo" nil tmp-name1)
|
(write-region "foo" nil source)
|
||||||
(rename-file tmp-name1 tmp-name4)
|
(should (file-exists-p source))
|
||||||
(should-not (file-exists-p tmp-name1))
|
(make-directory target)
|
||||||
(should (file-exists-p tmp-name4))
|
(should (file-directory-p target))
|
||||||
(with-temp-buffer
|
;; This has been changed in Emacs 26.1.
|
||||||
(insert-file-contents tmp-name4)
|
(when (tramp--test-emacs26-p)
|
||||||
(should (string-equal (buffer-string) "foo")))
|
(should-error
|
||||||
(write-region "foo" nil tmp-name1)
|
(rename-file source target)
|
||||||
(should-error
|
:type 'file-already-exists))
|
||||||
(rename-file tmp-name1 tmp-name4)
|
(rename-file source (file-name-as-directory target))
|
||||||
:type 'file-already-exists)
|
(should-not (file-exists-p source))
|
||||||
(rename-file tmp-name1 tmp-name4 'ok)
|
(should
|
||||||
(should-not (file-exists-p tmp-name1))
|
(file-exists-p
|
||||||
(write-region "foo" nil tmp-name1)
|
(expand-file-name (file-name-nondirectory source) target))))
|
||||||
(make-directory tmp-name5)
|
|
||||||
;; This has been changed in Emacs 26.1.
|
|
||||||
(when (tramp--test-emacs26-p)
|
|
||||||
(should-error
|
|
||||||
(rename-file tmp-name1 tmp-name5)
|
|
||||||
:type 'file-already-exists))
|
|
||||||
(rename-file tmp-name1 (file-name-as-directory tmp-name5))
|
|
||||||
(should-not (file-exists-p tmp-name1))
|
|
||||||
(should
|
|
||||||
(file-exists-p
|
|
||||||
(expand-file-name (file-name-nondirectory tmp-name1) tmp-name5))))
|
|
||||||
|
|
||||||
;; Cleanup.
|
;; Cleanup.
|
||||||
(ignore-errors (delete-file tmp-name1))
|
(ignore-errors (delete-file source))
|
||||||
(ignore-errors (delete-file tmp-name4))
|
(ignore-errors (delete-directory target 'recursive)))
|
||||||
(ignore-errors (delete-directory tmp-name5 'recursive)))
|
|
||||||
|
|
||||||
;; Rename from local side to remote side.
|
;; Rename directory to existing directory.
|
||||||
(unwind-protect
|
(unwind-protect
|
||||||
(progn
|
(progn
|
||||||
(write-region "foo" nil tmp-name4 nil 'nomessage)
|
(make-directory source)
|
||||||
(rename-file tmp-name4 tmp-name1)
|
(should (file-directory-p source))
|
||||||
(should-not (file-exists-p tmp-name4))
|
(write-region "foo" nil (expand-file-name "foo" source))
|
||||||
(should (file-exists-p tmp-name1))
|
(should (file-exists-p (expand-file-name "foo" source)))
|
||||||
(with-temp-buffer
|
(make-directory target)
|
||||||
(insert-file-contents tmp-name1)
|
(should (file-directory-p target))
|
||||||
(should (string-equal (buffer-string) "foo")))
|
;; Directory `target' exists already, so we must use
|
||||||
(write-region "foo" nil tmp-name4 nil 'nomessage)
|
;; `file-name-as-directory'.
|
||||||
(should-error
|
(rename-file source (file-name-as-directory target))
|
||||||
(rename-file tmp-name4 tmp-name1)
|
(should-not (file-exists-p source))
|
||||||
:type 'file-already-exists)
|
(should
|
||||||
(rename-file tmp-name4 tmp-name1 'ok)
|
(file-exists-p
|
||||||
(should-not (file-exists-p tmp-name4))
|
(expand-file-name
|
||||||
(write-region "foo" nil tmp-name4 nil 'nomessage)
|
(concat (file-name-nondirectory source) "/foo") target))))
|
||||||
(make-directory tmp-name3)
|
|
||||||
;; This has been changed in Emacs 26.1.
|
|
||||||
(when (tramp--test-emacs26-p)
|
|
||||||
(should-error
|
|
||||||
(rename-file tmp-name4 tmp-name3)
|
|
||||||
:type 'file-already-exists))
|
|
||||||
(rename-file tmp-name4 (file-name-as-directory tmp-name3))
|
|
||||||
(should-not (file-exists-p tmp-name4))
|
|
||||||
(should
|
|
||||||
(file-exists-p
|
|
||||||
(expand-file-name (file-name-nondirectory tmp-name4) tmp-name3))))
|
|
||||||
|
|
||||||
;; Cleanup.
|
;; Cleanup.
|
||||||
(ignore-errors (delete-file tmp-name1))
|
(ignore-errors (delete-directory source 'recursive))
|
||||||
(ignore-errors (delete-file tmp-name4))
|
(ignore-errors (delete-directory target 'recursive)))
|
||||||
(ignore-errors (delete-directory tmp-name3 'recursive))))))
|
|
||||||
|
;; Rename directory/file to non-existing directory.
|
||||||
|
(unwind-protect
|
||||||
|
(progn
|
||||||
|
(make-directory source)
|
||||||
|
(should (file-directory-p source))
|
||||||
|
(write-region "foo" nil (expand-file-name "foo" source))
|
||||||
|
(should (file-exists-p (expand-file-name "foo" source)))
|
||||||
|
(make-directory target)
|
||||||
|
(should (file-directory-p target))
|
||||||
|
(rename-file
|
||||||
|
source
|
||||||
|
(expand-file-name (file-name-nondirectory source) target))
|
||||||
|
(should-not (file-exists-p source))
|
||||||
|
(should
|
||||||
|
(file-exists-p
|
||||||
|
(expand-file-name
|
||||||
|
(concat (file-name-nondirectory source) "/foo") target))))
|
||||||
|
|
||||||
|
;; Cleanup.
|
||||||
|
(ignore-errors (delete-directory source 'recursive))
|
||||||
|
(ignore-errors (delete-directory target 'recursive))))))))
|
||||||
|
|
||||||
(ert-deftest tramp-test13-make-directory ()
|
(ert-deftest tramp-test13-make-directory ()
|
||||||
"Check `make-directory'.
|
"Check `make-directory'.
|
||||||
|
@ -2346,6 +2342,7 @@ This tests also `file-directory-p' and `file-accessible-directory-p'."
|
||||||
"Check `dired' with wildcards."
|
"Check `dired' with wildcards."
|
||||||
(skip-unless (tramp--test-enabled))
|
(skip-unless (tramp--test-enabled))
|
||||||
(skip-unless (tramp--test-sh-p))
|
(skip-unless (tramp--test-sh-p))
|
||||||
|
(skip-unless (not (tramp--test-rsync-p)))
|
||||||
;; Since Emacs 26.1.
|
;; Since Emacs 26.1.
|
||||||
(skip-unless (fboundp 'insert-directory-wildcard-in-dir-p))
|
(skip-unless (fboundp 'insert-directory-wildcard-in-dir-p))
|
||||||
|
|
||||||
|
@ -4394,6 +4391,7 @@ Since it unloads Tramp, it shall be the last test to run."
|
||||||
;; * Fix `tramp-test05-expand-file-name-relative' in `expand-file-name'.
|
;; * Fix `tramp-test05-expand-file-name-relative' in `expand-file-name'.
|
||||||
;; * Fix `tramp-test06-directory-file-name' for `ftp'.
|
;; * Fix `tramp-test06-directory-file-name' for `ftp'.
|
||||||
;; * Fix `tramp-test27-start-file-process' on MS Windows (`process-send-eof'?).
|
;; * Fix `tramp-test27-start-file-process' on MS Windows (`process-send-eof'?).
|
||||||
|
;; * Fix `tramp-test28-interrupt-process', timeout doesn't work reliably.
|
||||||
;; * Fix Bug#16928 in `tramp-test38-asynchronous-requests'.
|
;; * Fix Bug#16928 in `tramp-test38-asynchronous-requests'.
|
||||||
|
|
||||||
(defun tramp-test-all (&optional interactive)
|
(defun tramp-test-all (&optional interactive)
|
||||||
|
|
|
@ -256,21 +256,25 @@ end program prog")
|
||||||
(should (= 5 (current-indentation)))))
|
(should (= 5 (current-indentation)))))
|
||||||
|
|
||||||
(ert-deftest f90-test-bug25039 ()
|
(ert-deftest f90-test-bug25039 ()
|
||||||
"Test for https://debbugs.gnu.org/25039 ."
|
"Test for https://debbugs.gnu.org/25039 and 28786."
|
||||||
(with-temp-buffer
|
(with-temp-buffer
|
||||||
(f90-mode)
|
(f90-mode)
|
||||||
(insert "program prog
|
(insert "program prog
|
||||||
select type (a)
|
select type (a)
|
||||||
class is (c1)
|
|
||||||
x = 1
|
|
||||||
type is (t1)
|
type is (t1)
|
||||||
x = 2
|
x = 2
|
||||||
|
class is (c1)
|
||||||
|
x = 1
|
||||||
|
class default
|
||||||
|
x=3
|
||||||
end select
|
end select
|
||||||
end program prog")
|
end program prog")
|
||||||
(f90-indent-subprogram)
|
(f90-indent-subprogram)
|
||||||
(forward-line -3)
|
(forward-line -3)
|
||||||
(should (= 2 (current-indentation))) ; type is
|
(should (= 2 (current-indentation))) ; class default
|
||||||
(forward-line -2)
|
(forward-line -2)
|
||||||
(should (= 2 (current-indentation))))) ; class is
|
(should (= 2 (current-indentation))) ; class is
|
||||||
|
(forward-line -2)
|
||||||
|
(should (= 2 (current-indentation))))) ; type is
|
||||||
|
|
||||||
;;; f90-tests.el ends here
|
;;; f90-tests.el ends here
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
;;; Code:
|
;;; Code:
|
||||||
(require 'ert)
|
(require 'ert)
|
||||||
(require 'flymake)
|
(require 'flymake)
|
||||||
|
(eval-when-compile (require 'subr-x)) ; string-trim
|
||||||
|
|
||||||
(defvar flymake-tests-data-directory
|
(defvar flymake-tests-data-directory
|
||||||
(expand-file-name "lisp/progmodes/flymake-resources"
|
(expand-file-name "lisp/progmodes/flymake-resources"
|
||||||
|
@ -37,7 +38,7 @@
|
||||||
;;
|
;;
|
||||||
;;
|
;;
|
||||||
(defun flymake-tests--wait-for-backends ()
|
(defun flymake-tests--wait-for-backends ()
|
||||||
;; Weirdness here... http://debbugs.gnu.org/17647#25
|
;; Weirdness here... https://debbugs.gnu.org/17647#25
|
||||||
;; ... meaning `sleep-for', and even
|
;; ... meaning `sleep-for', and even
|
||||||
;; `accept-process-output', won't suffice as ways to get
|
;; `accept-process-output', won't suffice as ways to get
|
||||||
;; process filters and sentinels to run, though they do work
|
;; process filters and sentinels to run, though they do work
|
||||||
|
@ -128,7 +129,11 @@ SEVERITY-PREDICATE is used to setup
|
||||||
|
|
||||||
(ert-deftest different-diagnostic-types ()
|
(ert-deftest different-diagnostic-types ()
|
||||||
"Test GCC warning via function predicate."
|
"Test GCC warning via function predicate."
|
||||||
(skip-unless (and (executable-find "gcc") (executable-find "make")))
|
(skip-unless (and (executable-find "gcc")
|
||||||
|
(version<=
|
||||||
|
"5" (string-trim
|
||||||
|
(shell-command-to-string "gcc -dumpversion")))
|
||||||
|
(executable-find "make")))
|
||||||
(let ((flymake-wrap-around nil))
|
(let ((flymake-wrap-around nil))
|
||||||
(flymake-tests--with-flymake
|
(flymake-tests--with-flymake
|
||||||
("errors-and-warnings.c")
|
("errors-and-warnings.c")
|
||||||
|
|
|
@ -66,6 +66,16 @@ div::before {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Multi-line selector including both a pseudo-class and
|
||||||
|
parenthesis. */
|
||||||
|
.form-group:not(.required) label,
|
||||||
|
.birth-date .row > * {
|
||||||
|
&::after {
|
||||||
|
display: inline;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
src: url("Sans-Regular.eot") format("eot"),
|
src: url("Sans-Regular.eot") format("eot"),
|
||||||
url("Sans-Regular.woff") format("woff"),
|
url("Sans-Regular.woff") format("woff"),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue