Glenn Morris [Thu, 13 Aug 2020 15:38:02 +0000 (16:38 +0100)]
Update a paragraphs test
* test/lisp/textmodes/paragraphs-tests.el
(paragraphs-tests-mark-paragraph): Update for recent change.
Glenn Morris [Thu, 13 Aug 2020 15:36:09 +0000 (16:36 +0100)]
Update a compile test
* test/lisp/progmodes/compile-tests.el (compile-test-error-regexps):
Update info/warning count for recent compile.el change.
Glenn Morris [Thu, 13 Aug 2020 14:51:03 +0000 (07:51 -0700)]
Merge from origin/emacs-27
69568674b3 (origin/emacs-27) Improve documentation of function argume...
1c0bc1ccd8 Improve documentation of special events
Glenn Morris [Thu, 13 Aug 2020 14:51:03 +0000 (07:51 -0700)]
; Merge from origin/emacs-27
The following commits were skipped:
c9a739408d Fix face merging at EOL when inherited face specifies :extend
f946e48bf5 Fix face extension past EOL in overlay strings
Glenn Morris [Thu, 13 Aug 2020 14:51:03 +0000 (07:51 -0700)]
Merge from origin/emacs-27
63f614d76c Fix comint-redirect-results-list regexp usage (Bug#42662)
Glenn Morris [Thu, 13 Aug 2020 14:51:03 +0000 (07:51 -0700)]
; Merge from origin/emacs-27
The following commit was skipped:
6dada01015 ; Bump Emacs version to 27.1.50
Glenn Morris [Thu, 13 Aug 2020 14:51:02 +0000 (07:51 -0700)]
Merge from origin/emacs-27
86d8d76aa3 (tag: emacs-27.1-rc2, tag: emacs-27.1) ; lisp/ldefs-boot.e...
a6634197da * etc/HISTORY: Update the Emacs 27.1 release date.
a68b3f761a ; Update ChangeLog.3
7cc85e7b51 ; Update etc/AUTHORS
1ca4da054b ; * etc/NEWS: fix some quoting
5578febcd4 ; * lisp/so-long.el: Documentation
fa20e443c8 lisp/so-long.el: Improve support for major mode hooks
# Conflicts:
# etc/AUTHORS
# etc/NEWS
Eli Zaretskii [Thu, 13 Aug 2020 14:08:37 +0000 (17:08 +0300)]
Improve documentation of function argument lists
* doc/lispref/functions.texi (Lambda Components)
(Defining Functions): Add a cross-reference to "Argument List".
(Argument List): Improve the section name. (Bug#42750)
Eli Zaretskii [Thu, 13 Aug 2020 13:53:14 +0000 (16:53 +0300)]
Improve documentation of special events
* doc/lispref/commands.texi (Misc Events): Explain how to bind
special events to commands.
Eli Zaretskii [Tue, 11 Aug 2020 14:39:35 +0000 (17:39 +0300)]
Fix face merging at EOL when inherited face specifies :extend
* src/xfaces.c (merge_face_ref): Handle correctly faces that
inherit from another, and in addition specify :extend.
(Bug#42552)
(cherry picked from commit
39c90f8dfabe158ad7ac9243aa9b9dedb9409e19)
Eli Zaretskii [Thu, 30 Jul 2020 13:56:36 +0000 (16:56 +0300)]
Fix face extension past EOL in overlay strings
* src/xdisp.c (face_at_pos): Pass ATTR_FILTER to
face_for_overlay_string.
* src/xfaces.c (face_for_overlay_string): Accept an additional
argument ATTR_INDEX and pass it to merge_face_ref for merging the
face at POS. This ensures a face from buffer text will not be
merged unless it specifies the :extend attribute. (Bug#42552)
* src/dispextern.h (face_for_overlay_string): Adjust prototype.
(cherry picked from commit
35564bea4d73bc266743216599d01d644aed6fd8)
Juri Linkov [Thu, 13 Aug 2020 11:32:10 +0000 (13:32 +0200)]
Preserve the face foreground in Info-fontify-node
* lisp/info.el (Info-fontify-node): Preserve the face foreground.
Previously `Info-index' added the `info-index-match' face to the
strings of the found index entries. Later
`Info-virtual-index-find-node' inserts strings to the Info buffer.
And finally `Info-fontify-node' puts the `font-lock-face' property
with `info-xref' on links. The `face info-index-match' takes
precedence over `font-lock-face info-xref' (bug#14645).
Ryan Crum [Thu, 13 Aug 2020 11:02:17 +0000 (13:02 +0200)]
Add a new variable to not recenter term on all input
* lisp/term.el (term-scroll-snap-to-bottom): New variable (bug#15744).
* lisp/term.el (term-emulate-terminal): Use it.
Dima Kogan [Thu, 13 Aug 2020 10:20:53 +0000 (12:20 +0200)]
gcc-include compilation lines are now INFO, instead of WARNING
* lisp/progmodes/compile.el
(compilation-error-regexp-alist-alist): Prior to this patch the
line that contains "from a.h:1:0," was seen as INFO and the line
that contains "from a.c:1:" was seen as a WARNING. This patch
makes them both INFO (bug#17826).
Lars Ingebrigtsen [Thu, 13 Aug 2020 10:01:01 +0000 (12:01 +0200)]
Ensure that server-socket-dir doesn't have "//" in the path
* lisp/server.el (server-socket-dir): Use expand-file-name to
avoid "//" in the path name (if either XDG_RUNTIME_DIR or TMPDIR
ends in a slash) (bug#18658).
H. Dieter Wilhelm [Thu, 13 Aug 2020 09:51:17 +0000 (11:51 +0200)]
Handle negative prefix arguments to mark-paragraph correctly
* textmodes/paragraph.el (mark-paragraph): Handle negative
arguments correctly (bug#18847). This makes `M- M-h M-h' do the
correct thing with expanding the region (like other marking
commands) backwards. Also fix problem at the end of the buffer,
where the numbers of paragraphs left in the buffer is less than
ARG, then paragraphs would also be marked *before* the current
paragraph. Also clarify the doc string.
Jonas Bernoulli [Sun, 9 Aug 2020 21:02:34 +0000 (23:02 +0200)]
Update section heading conventions for libraries
* doc/lispref/tips.texi (Comment Tips): Update information on section
headings to reflect common usage.
Previously the tips stated that if the code is split up into multiple
sections, then that should be done by splitting up the ";;; Code:"
section into multiple sub-sections.
However about half the libraries in Emacs instead use multiple
top-level sections. We update the tips (aka conventions) to allow
this common usage, but because it is awkward if there is a section
named "Code", which contains only some of the code instead of all of
it, we now recommend that that section should be empty in this case.
We cannot just give up on the "Code:" section/heading because that is
an old convention that is followed be nearly every library and because
it is likely that there are some utilities out there that depend on
its presence.
This was discussed in
https://lists.gnu.org/archive/html/emacs-devel/2020-07/msg00444.html
https://lists.gnu.org/archive/html/emacs-devel/2020-08/msg00001.html
Jonas Bernoulli [Mon, 27 Jul 2020 20:48:08 +0000 (22:48 +0200)]
; * lisp/emacs-lisp/autoload.el: Begin summary line with three semicolons.
Jonas Bernoulli [Wed, 15 Jul 2020 16:40:36 +0000 (18:40 +0200)]
* lisp/font-lock.el: No longer use headings as end of section markers.
Each section ends right before the following section begins and IMO
that means that it is unnecessary to mark the end of sections.
For users of `outline-minor-mode' the old end-of-section markers were
a distraction. They made it much harder to parse the overview outline
state because each section heading was followed by a end-of-section
marker that was formatted as a section heading. Because of this I
wanted to remove the end-of-section markers.
But as Eli pointed out these sections are long and not everyone uses
`outline-minor-mode'.
So instead of removing them, I am turning the end-of-section markers
into regular comments (beginning with just two semicolons) instead of
section headings (beginning with tree semicolons). That way users of
`outline-minor-mode' won't be distracted by them and others can still
benefit from the markers as before.
Jonas Bernoulli [Wed, 17 Jun 2020 00:59:41 +0000 (02:59 +0200)]
* lisp/font-lock.el: Split the Commentary into subsections.
The "Commentary" was already split into multiple sections, but
these sections where on the same level as "Commentary" itself,
which is less convenient for users of `outline-minor-mode'.
Jonas Bernoulli [Wed, 17 Jun 2020 01:00:12 +0000 (03:00 +0200)]
* lisp/net/imap.el: Use proper outline headings
This library already used section headings but it used just two
instead of three semicolons, making them indistinguishable from
plain comments. One heading is new.
Jonas Bernoulli [Fri, 8 May 2020 19:24:20 +0000 (21:24 +0200)]
* lisp/obsolete/longlines.el: Use proper outline headings.
This library already used section headings but it used just two
instead of three semicolons, making them indistinguishable from
plain comments. One heading is new.
Jonas Bernoulli [Mon, 20 Apr 2020 21:32:19 +0000 (23:32 +0200)]
* test/src/emacs-module-tests.el: Use proper outline headings.
This library already used section headings but it used just two
instead of three semicolons, making them indistinguishable from
plain comments.
Jonas Bernoulli [Mon, 20 Apr 2020 21:30:07 +0000 (23:30 +0200)]
* lisp/mail/smtpmail.el: Use outline headings.
Jonas Bernoulli [Wed, 17 Jun 2020 00:59:48 +0000 (02:59 +0200)]
; * lisp/whitespace.el: Capitalize "Code" section heading.
Jonas Bernoulli [Mon, 20 Apr 2020 21:29:29 +0000 (23:29 +0200)]
* lisp/progmodes/compile.el: Remove unnecessary comments.
These comments are unnecessary because the doc-strings that follow
already cover the same ground, while being more concise. These
comments were also prefixed with too many semicolons, causing them
to be treated as outline headings.
Jonas Bernoulli [Mon, 20 Apr 2020 21:30:41 +0000 (23:30 +0200)]
Merge two conditions and fix indentation
The motivation behind this change is that the indentation of some
lines was outright wrong. If we address that issue, then we might
as well also address the issue that some code is needlessly nested
an additional level. That we can fix by merging the conditions.
By doing these two changes in on commit we have to change the fewest
lines. Even though we are moving to using just spaces for indentation
of the modified lines, other lines in the same function are left alone
and continue to us tabs+spaces for indentation. That is not "wrong",
but just the style we are slowly migrating away from when touching
lines for other reasons.
Discussed in bug#42397.
* lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message): Merge two
conditions and fix indentation.
Jonas Bernoulli [Tue, 18 Feb 2020 15:42:20 +0000 (16:42 +0100)]
Split EasyPG libraries into outline sections
* lisp/epa-dired.el:
lisp/epa-file.el:
lisp/epa-hook.el:
lisp/epa-mail.el:
lisp/epa.el:
lisp/epg-config.el:
lisp/epg.el: Split into outline sections.
* lisp/epg.el (epg-error): Move definition.
Jonas Bernoulli [Wed, 17 Jun 2020 20:22:53 +0000 (22:22 +0200)]
; * lisp/epg.el (epg-no-data-reason-alist): Fix typo in message.
Jonas Bernoulli [Wed, 15 Jul 2020 17:07:03 +0000 (19:07 +0200)]
; * lisp/epg.el (epg-signature-to-string): Tiny refactor.
`concat' treats arguments that are nil as if they were empty strings.
We therefore do not have to write (if TEST THEN "") and can just use
(and TEST THEN).
Jonas Bernoulli [Wed, 15 Jul 2020 17:05:30 +0000 (19:05 +0200)]
; * lisp/epg.el (epg-signature-to-string): Use cl-case.
In this case we can greatly increase readability by using `cl-case'
instead of `cond'.
Lars Ingebrigtsen [Thu, 13 Aug 2020 08:29:44 +0000 (10:29 +0200)]
Don't output emacsclient warning if both -a and --quiet
* lib-src/emacsclient.c (set_local_socket): Don't output the
warning if both -a and --quiet are specified (bug#16117).
Inspired by a patch from Scott Turner <srt19170@gmail.com>.
Emilio Lopes [Thu, 13 Aug 2020 08:01:00 +0000 (10:01 +0200)]
Notify the user if we errors when querying for registered git files
* lisp/vc/vc-git.el (vc-git-registered): Notify the user when
something fails here (bug#18481).
Paul Eggert [Thu, 13 Aug 2020 01:38:52 +0000 (18:38 -0700)]
mml-secure-en-decrypt-sign-2 is unstable
* test/lisp/gnus/mml-sec-tests.el (mml-secure-en-decrypt-sign-2):
Mark as unstable (Bug#42720).
Stefan Kangas [Wed, 12 Aug 2020 23:39:53 +0000 (01:39 +0200)]
Remove Emacs 22 compat code from dns.el
* lisp/net/dns.el (dns-servers-up-to-date-p, dns-set-servers):
Remove check for function that is always there.
Stefan Kangas [Wed, 12 Aug 2020 23:29:47 +0000 (01:29 +0200)]
Declare semantic XEmacs compat code obsolete
* lisp/cedet/semantic/grammar.el
(semantic-grammar-setup-menu-xemacs): Declare obsolete.
Stefan Kangas [Wed, 12 Aug 2020 23:23:46 +0000 (01:23 +0200)]
Remove XEmacs compat code from allout-widgets.el
* lisp/allout-widgets.el
(allout-widgets-item-image-properties-xemacs)
(allout-item-widget, allout-fetch-icon-image)
(allout-widgets-copy-list): Remove XEmacs compat code.
Stefan Monnier [Wed, 12 Aug 2020 18:46:13 +0000 (14:46 -0400)]
* lisp/net/mailcap.el (mailcap-mime-data): Remove long-forgotten `ee`
It referred apparently to the "Electric Eyes" image viewer:
https://archive.org/details/tucows_31588_Electric_Eyes
Paul Eggert [Wed, 12 Aug 2020 18:40:12 +0000 (11:40 -0700)]
Stop using Gnulib inttypes module
It wasn’t needed for MinGW after all, no other platform
seems to need it, and it slows down ‘configure’.
* admin/merge-gnulib (GNULIB_MODULES): Remove inttypes.
* m4/gnulib-comp.m4: Regenerate.
Paul Eggert [Wed, 12 Aug 2020 18:37:52 +0000 (11:37 -0700)]
Update from Gnulib
This incorporates:
2020-08-12 stdint: port intptr_t to more-recent MinGW
2020-08-11 Use __restrict also on clang
2020-08-11 Use flexible array syntax also on clang
2020-08-11 fcntl: On native Windows, use _setmode, not setmode
* lib/binary-io.h, lib/cdefs.h, lib/fcntl.c, lib/regex.h:
* lib/stdint.in.h: Copy from Gnulib.
Lars Ingebrigtsen [Wed, 12 Aug 2020 17:54:09 +0000 (19:54 +0200)]
Remove some compat code from mm-util.el
* lisp/gnus/mm-util.el (mm-charset-to-coding-system): Remove the
non-mule case, because it's always false.
Lars Ingebrigtsen [Wed, 12 Aug 2020 17:52:11 +0000 (19:52 +0200)]
Simplify the computation of mm-mime-mule-charset-alist
* lisp/gnus/mm-util.el (mm-mime-mule-charset-alist): For
compatibility with XEmacs, mm-mime-mule-charset-alist was first
set to a list of hard-coded entries, and then overwritten on Emacs
from `coding-system-list'. Remove the hard-coded values and
simplify the code.
Lars Ingebrigtsen [Wed, 12 Aug 2020 17:41:24 +0000 (19:41 +0200)]
Remove some compat code from eudc-bob.el
* lisp/net/eudc-bob.el (eudc-bob-save-object)
(eudc-bob-pipe-object-to-external-program): Remove checks for
functions that are always defined in Emacs.
Lars Ingebrigtsen [Wed, 12 Aug 2020 17:38:09 +0000 (19:38 +0200)]
Remove some compat code from url-handlers.el
* lisp/url/url-handlers.el (url-insert-buffer-contents): Remove
check for function that's always defined in Emacs.
Lars Ingebrigtsen [Wed, 12 Aug 2020 17:33:50 +0000 (19:33 +0200)]
Remove some compat code from gnus.el
* lisp/gnus/gnus.el: Remove a check for a function that is always
defined.
Amin Bandali [Wed, 12 Aug 2020 17:33:36 +0000 (13:33 -0400)]
Add support for italic text in ERC
* lisp/erc/erc-goodies.el (erc-italic-face): New face for italic text.
(erc-controls-interpret), (erc-controls-highlight): Add `italicp'.
(erc-controls-remove-regexp),
(erc-controls-highlight-regexp): Handle C-] for italic.
(erc-controls-propertize): Add `italicp' argument and use it to
conditionally propertize text with the new `erc-italic-face'.
* etc/NEWS: Announce italic text support.
Lars Ingebrigtsen [Wed, 12 Aug 2020 16:56:47 +0000 (18:56 +0200)]
Remove some compat code from viper-cmd.el
* lisp/emulation/viper-cmd.el (viper-register-to-point):
frame-configuration-p is always available in Emacs now.
Lars Ingebrigtsen [Wed, 12 Aug 2020 16:52:53 +0000 (18:52 +0200)]
Remove some compat code from viper*.el
* lisp/emulation/viper.el (viper-go-away, viper-set-hooks)
(viper-non-hook-settings, viper-mode):
* lisp/emulation/viper-cmd.el (viper-normalize-minor-mode-map-alist)
(viper-harness-minor-mode): Remove a bunch of checks to do (or
not do) things based on whether add-to-ordered-list is fbound and
emulation-mode-map-alists is bound, because in Emacs now, these
are always true.
Lars Ingebrigtsen [Wed, 12 Aug 2020 16:46:27 +0000 (18:46 +0200)]
Mark some unused defaliases in semantic/fw.el obsolete
* lisp/cedet/semantic/fw.el (semantic-run-mode-hooks)
(semantic-subst-char-in-string): Make two unused defaliases obsolete.
Lars Ingebrigtsen [Wed, 12 Aug 2020 16:43:06 +0000 (18:43 +0200)]
Remove some compat code from epa.el
* lisp/epa.el (epa--derived-mode-p, epa-import-keys): Make
defalias obsolete, and adjust a comment.
Lars Ingebrigtsen [Wed, 12 Aug 2020 16:39:17 +0000 (18:39 +0200)]
Remove some compat code from bubbles.el
* lisp/play/bubbles.el (bubbles--remove-overlays): Make into an
obsolete alias.
(bubbles--initialize, bubbles--show-images): Adjust callers.
Lars Ingebrigtsen [Wed, 12 Aug 2020 16:37:18 +0000 (18:37 +0200)]
Fix a check for whether Emacs can play sounds in eudc-bob
* lisp/net/eudc-bob.el (eudc-bob-sound-menu)
(eudc-bob-play-sound-at-point): Check for play-sound-internal
instead of play-sound, because the latter is always defined.
Lars Ingebrigtsen [Wed, 12 Aug 2020 16:35:29 +0000 (18:35 +0200)]
Remove some compat code from allout.el
* lisp/allout.el (allout-numbered-bullet)
(allout-file-xref-bullet): string-or-null-p is always defined.
Lars Ingebrigtsen [Wed, 12 Aug 2020 16:34:29 +0000 (18:34 +0200)]
Remove some compat code from allout*.el
* lisp/allout-widgets.el (allout-widgets-mode-inhibit): Ditto.
* lisp/allout.el (allout-use-hanging-indents)
(allout-show-bodies, allout-old-style-prefixes)
(allout-stylish-prefixes): `booleanp' is always defined.
Lars Ingebrigtsen [Wed, 12 Aug 2020 16:31:50 +0000 (18:31 +0200)]
Remove some compat code from prolog.el
* lisp/progmodes/prolog.el (match-string): Remove alias to
function that always exists.
Lars Ingebrigtsen [Wed, 12 Aug 2020 16:29:05 +0000 (18:29 +0200)]
Remove some compat code from idlwave.el
* lisp/progmodes/idlwave.el: Remove some checks for functions that
always exist.
Lars Ingebrigtsen [Wed, 12 Aug 2020 16:26:20 +0000 (18:26 +0200)]
Remove some compat code from ediff-init.el
* lisp/vc/ediff-init.el (subst-char-in-string, format-message):
Remove aliases to functions that always exist.
Lars Ingebrigtsen [Wed, 12 Aug 2020 16:09:24 +0000 (18:09 +0200)]
Check make-process to determine if we support multi-processing
* lisp/eshell/esh-proc.el (eshell-gather-process-output):
* lisp/comint.el (make-comint-in-buffer): Check that make-process
exists instead of start-file-process (which always exists).
Lars Ingebrigtsen [Wed, 12 Aug 2020 16:06:50 +0000 (18:06 +0200)]
Revert "Remove compat code from esh-proc.el"
This reverts commit
97c4d941daffba1635bd738fae9c4ff36e5ad0cf.
We still have Emacs builds on systems with no multi-tasking.
Lars Ingebrigtsen [Wed, 12 Aug 2020 16:06:13 +0000 (18:06 +0200)]
Revert "Remove compat code from comint.el"
This reverts commit
4d00db5538dc0ef47cf1cdf425b895d04145fe9e.
We still have Emacs builds on systems with no multi-taskin.
Tino Calancha [Wed, 12 Aug 2020 12:53:29 +0000 (14:53 +0200)]
Do not truncate /foo//bar to /bar/ in parse-colon-path
* lisp/files.el (parse-colon-path): Use substitute-env-vars and
expand-file-name instead of substitute-in-file-name (Bug#21454).
Stefan Kangas [Wed, 12 Aug 2020 13:43:23 +0000 (15:43 +0200)]
Remove Emacs 23 compat code from checkdoc.el
* lisp/emacs-lisp/checkdoc.el (checkdoc-run-hooks): Redefine as
obsolete function alias for 'run-hook-with-args-until-success'.
(checkdoc-this-string-valid-engine)
(checkdoc-file-comments-engine): Adjust callers.
Stefan Kangas [Wed, 12 Aug 2020 13:34:13 +0000 (15:34 +0200)]
Minor cleanup in ps-def.el
* lisp/ps-def.el (ps-frame-parameter): Make alias obsolete.
* lisp/ps-print.el (ps-begin-job): Adjust caller.
Phil Sainty [Wed, 12 Aug 2020 13:16:16 +0000 (01:16 +1200)]
Fix comint-redirect-results-list regexp usage (Bug#42662)
* lisp/comint.el (comint-redirect-results-list-from-process):
Don't treat the literal string argument COMMAND as a regexp.
YAMAMOTO Mitsuharu [Wed, 12 Aug 2020 11:15:44 +0000 (13:15 +0200)]
Fix monospace font calculations on macOS
* src/macfont.m (macfont_monospace_width_multiplier): New function
to compute the width for monospace fonts (bug#24582).
(macfont_glyph_extents): Fix monospace glyph computation.
(macfont_shape): Ditto.
Mingde (Matthew) Zeng [Wed, 12 Aug 2020 11:09:35 +0000 (13:09 +0200)]
Fix erc-reuse-buffers behavior
* lisp/erc/erc.el (erc-generate-new-buffer-name): Fixes behavior 1,
also determines if the '#channel/server' buffer already exists
and will reuse that buffer when joining on the same
server. Additionally when creating a new buffer with
'#channel/serverB', the existing buffer '#channel' on 'severA' will be
renamed to '#channel/serverA' for the sake of consistency (bug#40121).
* lisp/erc/erc-join.el (erc-autojoin-channels): The logic is
simplified ensuring that when autojoining channels specified in
erc-autojoin-channels-alist, if there exists an erc buffer with the
same channel name but a different server, it will create a new buffer
to join the channel. The current logic is very weak that will skip
joining same channel on different servers altogether.
By the definition of erc-reuse-buffers, if non-nil it should create a
new buffer when joining channels with same names on different
servers. The current behavior of erc-reuse-buffers is:
1. when non-nil, it will always reuse the same channel buffer,
resulting in server A's channel gets reconnected to the channel with
the same name of server B.
2. when nil, the buffer-name of the joined channel is
'#channel/server'. However if one tries to '/join #channel' from the
server buffer, it creates a new empty buffer with buffer-name
'#channel', instead of opening the already-joined channel buffer.
Michael Albinus [Wed, 12 Aug 2020 10:45:45 +0000 (12:45 +0200)]
Implement Tramp direct async processes fallback for multi-hops
* doc/misc/tramp.texi (Remote processes): Precise restrictions for direct
async processes.
* lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
* lisp/net/tramp-sh.el (tramp-sh-handle-make-process):
Use `tramp-direct-async-process-p'.
* lisp/net/tramp.el (tramp-direct-async-process-p): New defun.
(tramp-handle-make-process): Adapt handling of :stderr. Simplify.
Glenn Morris [Wed, 12 Aug 2020 10:41:17 +0000 (11:41 +0100)]
; Fix copyright years for recent additions
Sungbin Jo [Wed, 12 Aug 2020 10:39:50 +0000 (12:39 +0200)]
Add utility functions and new xwidget commands
Co-authored-by: Jaesup Kwak <veshboo@gmail.com>
* lisp/xwidget.el (xwidget-webkit-callback): Add case for
'response-callback' event.
(xwidget-webkit-download-dir): New variable.
(xwidget-webkit-save-as-file): New function.
* src/nsxwidget.m (XwWebView::decidePolicyForNavigationResponse):
Store download event.
* src/xwidget.c src/xwidget.h (store_xwidget_download_callback_event):
New function.
Sungbin Jo [Wed, 12 Aug 2020 10:34:29 +0000 (12:34 +0200)]
Add utility functions and new xwidget commands
Co-authored-by: Jaesup Kwak <veshboo@gmail.com>
* etc/NEWS: Announce new functions and options.
* lisp/xwidget.el (xwidget): New defgroup.
(xwidget-webkit-mode-map): Add new keybindings.
(xwidget-webkit-scroll-up, xwidget-webkit-scroll-down)
(xwidget-webkit-scroll-forward, xwidget-webkit-scroll-backward):
Add optional argument to specify specific amounts to scroll down.
(xwidget-webkit-scroll-up-line, xwidget-webkit-scroll-down-line): New
functions.
(xwidget-webkit-scroll-bottom): Fix function to scroll to the bottom
of the document.
(xwidget-webkit-callback): Use new function to update buffer title
even when Javascript is disabled.
(xwidget-webkit-bookmark-jump-new-session): New variable.
(xwidget-webkit-bookmark-make-record): Modify to use xwidget-webkit to
open bookmark that is created in xwidget-webkit.
(xwidget-webkit-insert-string): Fix Javascript snippet to not throw
Javsscript exceptions.
(xwidget-webkit-inside-pixel-width)
(xwidget-window-inside-pixel-height): New functions.
(xwidget-webkit-adjust-size-to-window): Use new functions.
(xwidget-webkit-new-session): Insert invisible URL instead of an empty
string to achieve better default behavior.
(xwidget-webkit-back, xwidget-webkit-forward, xwidget-webkit-reload)
(xwidget-webkit-current-url): Use new functions to enable scrolling
even when Javascript is disabled.
(xwidget-webkit-copy-selection-as-kill): Remove unnecessary lambda.
* src/nsxwidget.h src/nsxwidget.m (nsxwidget_webkit_uri)
(nsxwidget_webkit_title, nsxwidget_webkit_goto_history): Add new
functions.
* src/xwidget.c (Fxwidget_webkit_uri, Fxwidget_webkit_title)
(Fxwidget_webkit_goto_history): Add new functions.
(syms_of_xwidget): Define new functions.
Glenn Morris [Wed, 12 Aug 2020 10:29:51 +0000 (11:29 +0100)]
Tweak recent solar.el change
* lisp/calendar/solar.el (sunrise-sunset, solar-equinoxes-solstices):
Use +0000 for "numeric" UTC, not +0100.
Glenn Morris [Wed, 12 Aug 2020 10:22:31 +0000 (11:22 +0100)]
Rename recent calendar user option
* lisp/calendar/calendar.el (calendar-time-zone-style):
Rename from calendar-use-numeric-time-zones.
* lisp/calendar/cal-dst.el (calendar-standard-time-zone-name)
(calendar-daylight-time-zone-name):
* lisp/calendar/solar.el (sunrise-sunset, solar-equinoxes-solstices):
Use new variable name.
* doc/emacs/calendar.texi (Sunrise/Sunset): Update.
; * etc/NEWS: Update.
Sungbin Jo [Wed, 12 Aug 2020 10:12:34 +0000 (12:12 +0200)]
Add xwidget support for macOS
Co-authored-by: Jaesup Kwak <veshboo@gmail.com>
* configure.ac: Allow '--with-xwidgets' for "${NS_IMPL_COCOA}".
* etc/NEWS: Mention new feature.
* etc/TODO: Remove done TODO to implement xwidget in NeXTstep port.
* lisp/xwidget.el (xwidget-webkit-clone-and-split-below)
(xwidget-webkit-clone-and-split-right): New procedures.
(xwidget-webkit-callback): Remove call to
'xwidget-webkit-adjust-size-to-window' as adjusting xwidget size is
handled in 'x_draw_xwidget_glyph_string'.
(xwidget-webkit-enable-plugins): New variable.
* nextstep/templates/Info.plist.in: Add 'NSAppTransportSecurity'.
* src/Makefile.in: Add nsxwidget.o for compilation.
* src/emacs.c (main): Move conditional call to 'syms_of_xwidget'.
* src/nsterm.m (ns_draw_glyph_string): Add case for 'XWIDGET_GLYPH'.
(note_mouse_movement mouseMoved): Make it easy to resize window by
dragging mode-line or vertical separator adjacent to large glyph.
* src/nsxwidget.h src/nsxwidget.m: Newly added files, xwidget webkit
backend for macOS Cocoa.
* src/xwidget.c (Fmake_xwidget, xwidget_init_view)
(x_draw_xwidget_glyph_string, xwidget_is_web_view)
(Fxwidget_webkit_goto_uri, Fxwidget_webkit_zoom, Fxwidget_resize)
(Fxwidget_size_request, Fdelete_xwidget_view, xwidget_end_redisplay)
(kill_buffer_xwidgets): Add macOS Cocoa specific functions and code
with 'NS_IMPL_COCOA' and guard GTK specific functions and code with
'USE_GTK'.
(x_draw_xwidget_glyph_string): Handle adjusting xwidget size.
* src/xwidget.h (xwidget, xwidget_view): Add macOS Cocoa specific
fields with 'NS_IMPL_COCOA' and guard GTK specific fields with
USE_GTK.
Stefan Kangas [Sun, 9 Aug 2020 22:22:51 +0000 (00:22 +0200)]
Remove comment on Burma / Myanmar (Bug#42788)
* lisp/language/burmese.el: Remove comment on Burma / Myanmar.
Stefan Kangas [Tue, 11 Aug 2020 07:23:40 +0000 (09:23 +0200)]
Avoid ambiguity about what st refers to
* lisp/term/st.el: Add link to website.
Paul Eggert [Wed, 12 Aug 2020 01:35:44 +0000 (18:35 -0700)]
Don’t warn about integer conversion in pdumper.c
Problem reported by Juanma Barranquero in:
https://lists.gnu.org/r/emacs-devel/2020-08/msg00279.html
and a similar glitch was reported by Eli Zaretskii (Bug#36597#67).
* src/pdumper.c: Remove -Wconversion pragma.
(ALLOW_IMPLICIT_CONVERSION, DISALLOW_IMPLICIT_CONVERSION):
Remove. All uses removed. Although -Wconversion may have
been helpful when writing pdumper.c it is now causing more
trouble than it’s worth here (just as in the rest of Emacs).
(dump_read_all): Avoid no-longer-necessary use of ‘size_t’
rather than ‘int’.
Lars Ingebrigtsen [Tue, 11 Aug 2020 19:21:13 +0000 (21:21 +0200)]
Remove compat code from autoload.el
* lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload):
register-definition-prefixes is in subr.el, so it shouldn't be
necessary to check whether it's defined.
Lars Ingebrigtsen [Tue, 11 Aug 2020 18:57:56 +0000 (20:57 +0200)]
Remove compat code from comint.el
* lisp/comint.el (make-comint-in-buffer): `start-file-process' is
always defined, so remove test.
Lars Ingebrigtsen [Tue, 11 Aug 2020 18:57:10 +0000 (20:57 +0200)]
Remove compat code from esh-proc.el
* lisp/eshell/esh-proc.el (eshell-gather-process-output):
`start-file-process' is always defined, so remove the code that
deals with Emacs versions that doesn't have it.
Lars Ingebrigtsen [Tue, 11 Aug 2020 18:53:46 +0000 (20:53 +0200)]
Remove compat code from allout.el
* lisp/allout.el: (allout-process-exposed): Make
allout-region-active-p an obsolete alias, and adjust callers.
Lars Ingebrigtsen [Tue, 11 Aug 2020 18:51:33 +0000 (20:51 +0200)]
Remove compat code in prolog.el
* lisp/progmodes/prolog.el (use-region-p): Remove compat code.
Lars Ingebrigtsen [Tue, 11 Aug 2020 18:50:16 +0000 (20:50 +0200)]
Slight allout.el clean-up
* lisp/allout.el (allout-end-of-line, allout-mark-active-p): Make
allout-mark-active-p obsolete, and adjust callers.
Lars Ingebrigtsen [Tue, 11 Aug 2020 18:41:23 +0000 (20:41 +0200)]
Minor idlwave clean up
* lisp/progmodes/idlw-shell.el (idlwave-shell-mouse-examine)
(idlwave-shell-print): Adjust callers.
* lisp/progmodes/idlwave.el (idlwave-region-active-p): Make into
obsolete alias.
Lars Ingebrigtsen [Tue, 11 Aug 2020 18:36:10 +0000 (20:36 +0200)]
Slight gnus-util clean-up
* lisp/gnus/gnus-util.el (gnus-message-with-timestamp-1):
messages-buffer is always defined.
Lars Ingebrigtsen [Tue, 11 Aug 2020 16:46:34 +0000 (18:46 +0200)]
Slight cleanup in calc-yank
* lisp/calc/calc-yank.el (calc-yank): Remove compat code.
Eli Zaretskii [Tue, 11 Aug 2020 18:24:16 +0000 (21:24 +0300)]
; Bump Emacs version to 27.1.50
* configure.ac:
* README:
* nt/README.W32:
* msdos/sed2v2.inp:
* etc/NEWS: Bump Emacs version to 27.1.50.
Philipp Stephani [Tue, 11 Aug 2020 18:20:44 +0000 (20:20 +0200)]
Unbreak build with --enable-checking=all
Commit
16a16645f524c62f7906036b0e383e4247b58de7 has only changed a
comment in ‘struct Lisp_Hash_Table’, so the portable dumper doesn’t
need to be adapted.
* src/pdumper.c (dump_hash_table): Update hash code for ‘struct
Lisp_Hash_Table’.
Paul Eggert [Tue, 11 Aug 2020 18:06:39 +0000 (11:06 -0700)]
Use Gnulib inttypes module
Needed for platforms like MinGW that don’t support C99 PRIdPTR.
* admin/merge-gnulib (GNULIB_MODULES): Add inttypes.
* m4/gnulib-comp.m4: Regenerate.
Paul Eggert [Tue, 11 Aug 2020 17:58:35 +0000 (10:58 -0700)]
Update from Gnulib
This incorporates:
2020-08-11 Use expression statements also on clang
2020-08-10 Use many __attribute__s with clang
2020-08-09 Use attribute __aligned__ with clang
2020-08-09 Use __alignof__ with clang
2020-08-09 ignore-value: Simplify on clang
2020-08-09 Use __typeof__ with clang
2020-08-09 intprops: Fix typo in comment
2020-08-09 Silence warnings from clang 10 with -Wimplicit-fallthrough
2020-08-09 count-one-bits: Use __builtin_popcount{,l,ll} on clang
2020-08-09 string: Fix build error in C++ mode with clang
2020-08-09 Add ability to emit user-defined diagnostics with clang
2020-08-07 alloca: No need to compile alloca.c with clang
2020-08-06 Use __builtin_assume with clang
* lib/alloca.in.h, lib/arg-nonnull.h, lib/c++defs.h, lib/cdefs.h:
* lib/count-one-bits.h, lib/dirent.in.h, lib/ignore-value.h:
* lib/intprops.h, lib/malloca.h, lib/regex_internal.h:
* lib/stdalign.in.h, lib/stddef.in.h, lib/stdio.in.h:
* lib/stdlib.in.h, lib/string.in.h, lib/verify.h, lib/warn-on-use.h:
* m4/gnulib-common.m4, m4/stddef_h.m4, m4/stdint.m4:
Copy from Gnulib.
Paul Eggert [Tue, 11 Aug 2020 17:29:02 +0000 (10:29 -0700)]
Prefer make_nil_vector to make-vector with nil
* src/pdumper.c (hash_table_thaw): Pacify -Wconversion so
we can use make_nil_vector again.
* src/timefns.c (syms_of_timefns): Prefer make_nil_vector
to make_vector with Qnil.
Eli Zaretskii [Tue, 11 Aug 2020 16:59:17 +0000 (19:59 +0300)]
Fix MinGW build broken by recent pdumper changes.
* src/pdumper.c (hash_table_thaw): Use Fmake_vector. Suggested by
Pip Cet <pipcet@gmail.com>.
(dump_trace): Declare ATTRIBUTE_FORMAT_PRINTF, not
ATTRIBUTE_FORMAT((__printf__), so that we pick the right attribute
for MinGW.
Bastian Beischer [Tue, 11 Aug 2020 16:45:01 +0000 (18:45 +0200)]
Make mouse-2 respect select-enable-primary etc
* lisp/calc/calc-yank.el (calc-yank-internal): Factor out into its
own function (bug#23629).
(calc-yank): Factored out from here.
(calc-yank-mouse-primary): New command to
Copyright-paperwork-exempt: yes
Robert Weiner [Tue, 11 Aug 2020 14:52:01 +0000 (16:52 +0200)]
Allow count-lines to ignore invisible lines
* doc/lispref/positions.texi (Text Lines): Document it (bug#23675).
* lisp/simple.el (count-lines): Add an optional parameter to
ignore invisible lines (bug#23675).
Michael Albinus [Tue, 11 Aug 2020 14:46:41 +0000 (16:46 +0200)]
* lisp/net/tramp.el: Make last change backward compatible.
Eli Zaretskii [Tue, 11 Aug 2020 14:39:35 +0000 (17:39 +0300)]
Fix face merging at EOL when inherited face specifies :extend
* src/xfaces.c (merge_face_ref): Handle correctly faces that
inherit from another, and in addition specify :extend.
(Bug#42552)
Robert Weiner [Tue, 11 Aug 2020 14:37:01 +0000 (16:37 +0200)]
Add new commands for environment movement in .texi files
* lisp/textmodes/texinfo.el (texinfo-mode-map): New keystrokes for
environment movement commands (bug#23985).
Puneeth Chaganti [Tue, 11 Aug 2020 14:23:10 +0000 (16:23 +0200)]
Allow specifying the callback in new xwidget sessions
* lisp/xwidget.el (xwidget-webkit-new-session): Optional callback
arg (bug#24019).
(xwidget-event-handler): Respect the 'callback parameter.
Noam Postavsky [Tue, 11 Aug 2020 14:02:11 +0000 (16:02 +0200)]
Fix (end-of-defun N) for N >= 2
* lisp/emacs-lisp/lisp.el (end-of-defun): Only skip to next line when
after end of defun when ARG is 1 or less.
* test/lisp/emacs-lisp/lisp-tests.el (end-of-defun-twice): New
test (bug#24427).
Tino Calancha [Tue, 11 Aug 2020 13:40:48 +0000 (15:40 +0200)]
Change the Calc text input method to insert at point
* lisp/calc/calc.el (calcDigit-delchar): New command to delete chars
forward in the calc minibuffer.
(calc-digit-map): Bind calcDigit-delchar to '\C-d'.
(calcDigit-key): Do not go to (point-max) in calc minibuffer
before insert a digit (Bug#24612).
Alexander Gramiak [Tue, 11 Aug 2020 13:26:24 +0000 (15:26 +0200)]
Only search for a variable when instructed
* lisp/help-fns.el (find-lisp-object-file-name): Check for 'defvar
argument before searching for an internal variable (Bug#24697).
* test/lisp/help-fns-tests.el: New tests.