]> git.eshelyaron.com Git - emacs.git/log
emacs.git
4 years agoDraw to offscreen buffer on macOS
Alan Third [Sun, 10 Feb 2019 10:59:29 +0000 (10:59 +0000)]
Draw to offscreen buffer on macOS

* src/nsfns.m (x_set_background_color): Clear the frame after changing
the background color, not before.
* src/nsterm.h (drawingBuffer): New variable.
([EmacsView focusOnDrawingBuffer]):
([EmacsView copyRect:to:]):
([EmacsView createDrawingBufferWithRect:]): New methods.
* src/nsterm.m (ns_update_begin):
(ns_update_end):
(ns_focus):
(ns_unfocus): Handle drawing to offscreen buffer.
(ns_clip_to_row): Use ns_row_rect.
(ns_copy_bits): Remove unused function.
(ns_scroll_run):
(ns_shift_glyphs_for_insert): Use new scrolling method.
(ns_draw_fringe_bitmap):
(ns_dumpglyphs_image): When drawing to the offscreen buffer, flip
images so they appear the right way up.
(ns_dumpglyphs_stretch): Remove unnecessary code.
(ns_draw_window_cursor): Don't disable screen updates.
([EmacsView updateFrameSize:]): Update the size of the offscreen
buffer.
([EmacsView initFrameFromEmacs:]): Create offscreen buffer.
([EmacsView windowDidChangeBackingProperties:]):
([EmacsView createDrawingBufferWithRect:]):
([EmacsView focusOnDrawingBuffer]):
([EmacsView copyRect]): New methods.
([EmacsView viewWillDraw]): Remove method as it no longer does
anything useful.
([EmacsView drawRect:]): Handle drawing from offscreen buffer.

4 years agoRevert "Make all NS drawing be done from drawRect"
Alan Third [Sun, 28 Jul 2019 14:19:19 +0000 (15:19 +0100)]
Revert "Make all NS drawing be done from drawRect"

This reverts commit 7946445962372c4255180af45cb7c857f1b0b5fa.

4 years agoRevert "Ensure NS frame is redrawn correctly after scroll"
Alan Third [Sun, 28 Jul 2019 14:10:48 +0000 (15:10 +0100)]
Revert "Ensure NS frame is redrawn correctly  after scroll"

This reverts commit a6ab8db3a3dc5ec107ef023c6659620584309c97.

4 years agoRevert "Fix some NS drawing issues (bug#32932)"
Alan Third [Sun, 28 Jul 2019 14:10:29 +0000 (15:10 +0100)]
Revert "Fix some NS drawing issues (bug#32932)"

This reverts commit 7e8eee60a9dbb0c59cf26f237b21efe7fd1043c9.

4 years agoMerge from origin/emacs-27
Glenn Morris [Fri, 24 Jan 2020 15:50:22 +0000 (07:50 -0800)]
Merge from origin/emacs-27

0bed550e21 (origin/emacs-27) Remove EmacsOpenPanel and EmacsSavePanel...
a0336029db * doc/emacs/files.texi (Auto Save Files): Improve indexing...
57fb8b10c1 Fix inaccurate wording in the Emacs manual
1c487747ab Update ERC module URLs
7d1e9c943f Minor doc string clarification in use-hard-newlines

4 years ago; Merge from origin/emacs-27
Glenn Morris [Fri, 24 Jan 2020 15:50:22 +0000 (07:50 -0800)]
; Merge from origin/emacs-27

The following commits were skipped:

e1deafd39d Backport: Fix bug 39218
d15f2d4cbc Prefer saying "Info manual" to "info page" in docs

4 years agoMerge from origin/emacs-27
Glenn Morris [Fri, 24 Jan 2020 15:50:22 +0000 (07:50 -0800)]
Merge from origin/emacs-27

92f080dda8 Tab-bar related finishing touches.
224e8d1464 Make call_process call signal_after_change.  This fixes bu...
d02f2a793e * lisp/simple.el: Minor fixes to commentary.
196c42b8bf Fix a few typos
4f2b967795 Fix doc strings for image-dired rotation commands

# Conflicts:
# etc/NEWS

4 years agoMake links in shr use separate mouse highlight regions
Lars Ingebrigtsen [Fri, 24 Jan 2020 15:26:34 +0000 (16:26 +0100)]
Make links in shr use separate mouse highlight regions

* lisp/net/shr.el (shr-urlify): Make adjacent links have separate
mouse hightlights (bug#39115).

4 years agoAdapt tramp-test32-shell-command
Michael Albinus [Fri, 24 Jan 2020 13:42:12 +0000 (14:42 +0100)]
Adapt tramp-test32-shell-command

* test/lisp/net/tramp-tests.el (tramp-test32-shell-command):
Test error buffer for synchronous `shell-command' only.

4 years agoMinor code cleanup in Tramp
Michael Albinus [Fri, 24 Jan 2020 13:41:44 +0000 (14:41 +0100)]
Minor code cleanup in Tramp

4 years agoSupport (un)mount of Tramp media devices
Michael Albinus [Fri, 24 Jan 2020 13:41:22 +0000 (14:41 +0100)]
Support (un)mount of Tramp media devices

* lisp/net/tramp-gvfs.el (tramp-gvfs-gio-mapping): Add "gvfs-rename".
(tramp-gvfs-do-copy-or-rename-file): Use it.
(tramp-gvfs-activation-uri): Handle "media" method.
(tramp-gvfs-url-host): New defun.
(tramp-gvfs-handler-mounted-unmounted)
(tramp-gvfs-connection-mounted-p)
(tramp-gvfs-handler-volumeadded-volumeremoved)
(tramp-get-media-devices): Use it.

4 years agoExpand Cairo and HarfBuzz descriptions
Robert Pluim [Fri, 24 Jan 2020 11:04:36 +0000 (12:04 +0100)]
Expand Cairo and HarfBuzz descriptions

* etc/NEWS:
* configure.ac: Expand description of Cairo and Harfbuzz

4 years agoRemove EmacsOpenPanel and EmacsSavePanel (bug#38031)
Alan Third [Tue, 14 Jan 2020 21:36:14 +0000 (21:36 +0000)]
Remove EmacsOpenPanel and EmacsSavePanel (bug#38031)

4 years agoWarn about XFT and about Cairo without HarfBuzz
Robert Pluim [Fri, 24 Jan 2020 09:37:59 +0000 (10:37 +0100)]
Warn about XFT and about Cairo without HarfBuzz

* configure.ac: Warn about libXFT usage.  Warn about using Cairo
without HarfBuzz.

* etc/NEWS: Announce XFT and HarfBuzz warnings.

4 years ago* doc/emacs/files.texi (Auto Save Files): Improve indexing (bug#39259).
Eli Zaretskii [Fri, 24 Jan 2020 08:18:32 +0000 (10:18 +0200)]
* doc/emacs/files.texi (Auto Save Files): Improve indexing (bug#39259).

4 years agoFix inaccurate wording in the Emacs manual
Eli Zaretskii [Fri, 24 Jan 2020 08:12:45 +0000 (10:12 +0200)]
Fix inaccurate wording in the Emacs manual

* doc/emacs/custom.texi (Modifier Keys):
* doc/emacs/basic.texi (Inserting Text): Fix minor inaccuracies in
describing the 'Alt' modifier.  (Bug#39254)

4 years agoSimplify locale setup
Paul Eggert [Fri, 24 Jan 2020 07:06:27 +0000 (23:06 -0800)]
Simplify locale setup

Stop exporting Vprevious_system_time_locale and
Vprevious_system_messages_locale to Elisp.  I did that export by
mistake in 1999, and the Elisp variables have never been used.
Simplifying this cruft should make it easier to fix Bug#39248.
* etc/NEWS: Mention this.
* src/emacs.c (main): Simplify locale initialization.
(synchronize_locale): Simplify.
(Vprevious_system_time_locale, Vprevious_system_messages_locale):
Now static variables not visible to Lisp, and defined only if
HAVE_SETLOCALE.
(Vprevious_system_messages_locale): Define only if LC_MESSAGES.

4 years agoUpdate ERC module URLs
Amin Bandali [Fri, 24 Jan 2020 06:09:43 +0000 (01:09 -0500)]
Update ERC module URLs

* lisp/erc/erc-autoaway.el, lisp/erc/erc-button.el,
lisp/erc/erc-compat.el, lisp/erc/erc-fill.el, lisp/erc/erc-imenu.el,
lisp/erc/erc-join.el, lisp/erc/erc-lang.el, lisp/erc/erc-match.el,
lisp/erc/erc-pcomplete.el, lisp/erc/erc-ring.el,
lisp/erc/erc-spelling.el, lisp/erc/erc-stamp.el,
lisp/erc/erc-track.el: Update URL to friendlier form, over https.
* lisp/erc/erc-ibuffer.el: Remove URL to nonexistent page.
* lisp/erc/erc-list.el, lisp/erc/erc-log.el, lisp/erc/erc-notify.el,
lisp/erc/erc-replace.el, lisp/erc/erc-services.el,
lisp/erc/erc-sound.el, lisp/erc/erc-speedbar.el,
lisp/erc/erc-truncate.el: Add URL to corresponding EmacsWiki page.

4 years agoMake so-long test pass following lisp-mnt change
Glenn Morris [Fri, 24 Jan 2020 02:42:02 +0000 (18:42 -0800)]
Make so-long test pass following lisp-mnt change

* lisp/so-long.el (so-long-commentary): Update for lisp-mnt change.

4 years agoGlobally sanitize single-file package long descriptions (Bug#37548)
Bruno Félix Rezende Ribeiro [Tue, 8 Oct 2019 07:32:18 +0000 (04:32 -0300)]
Globally sanitize single-file package long descriptions (Bug#37548)

Consistent with multi-file package descriptions which don’t have
commentary sections nor double semicolon prefixes.
* lisp/emacs-lisp/lisp-mnt.el (lm-commentary): Remove commentary
header, double semicolon prefixes of each line, trailing new-lines and
trailing white-space from commentary.
* lisp/emacs-lisp/package.el (package--get-description)
(describe-package-1):
* lisp/finder.el (finder-commentary):
* lisp/info.el (Info-finder-find-node): Remove ad-hoc sanitation.

4 years agoUnbreak byte compilation
Glenn Morris [Thu, 23 Jan 2020 20:22:49 +0000 (12:22 -0800)]
Unbreak byte compilation

* lisp/emacs-lisp/bytecomp.el (byte-compile-fix-header):
Update for recent header changes.
(byte-compile-insert-header): Add more padding.

4 years agoRemove irrelevant info from .elc headers
Stefan Kangas [Thu, 23 Jan 2020 16:55:02 +0000 (17:55 +0100)]
Remove irrelevant info from .elc headers

* lisp/emacs-lisp/bytecomp.el (byte-compile-insert-header): Don't
insert information on ancient Emacs in bytecode headers.  (Bug#39233)

4 years agoPrefer saying "Info manual" to "info page" in docs
Stefan Kangas [Thu, 23 Jan 2020 01:25:31 +0000 (02:25 +0100)]
Prefer saying "Info manual" to "info page" in docs

Pointed out by Eli Zaretskii in:
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=39215#14
* doc/emacs/Makefile.in:
* doc/lispintro/Makefile.in:
* doc/lispref/Makefile.in:
* doc/misc/Makefile.in:
* lisp/dired-x.el (top-level):
* lisp/gnus/gnus-sum.el (gnus-summary-mode):
* lisp/progmodes/cperl-mode.el (cperl-info-page): Doc fix; prefer
saying "Info manual" over "info page".

4 years agoImplement "/media::" default host name in Tramp
Michael Albinus [Thu, 23 Jan 2020 13:09:35 +0000 (14:09 +0100)]
Implement "/media::" default host name in Tramp

* doc/misc/tramp.texi (GVFS-based methods): Describe default
/media:: file name.

* lisp/net/tramp-cache.el (tramp-get-file-property)
(tramp-set-file-property): Check, whether
`tramp-cache-{g,s}et-count-*' objects are numbers.

* lisp/net/tramp-gvfs.el (top): Don't set global default for
"media" in `tramp-default-host-alist'.
(tramp-gvfs-handler-volumeadded-volumeremoved): New defun.
(top): Register "org.gtk.Private.RemoteVolumeMonitor.VolumeAdded"
and "org.gtk.Private.RemoteVolumeMonitor.VolumeRemoved" signals.
(tramp-get-media-devices): Set defaults for "media" in
`tramp-default-host-alist'.

4 years agoMinor doc string clarification in use-hard-newlines
Lars Ingebrigtsen [Thu, 23 Jan 2020 13:02:12 +0000 (14:02 +0100)]
Minor doc string clarification in use-hard-newlines

* lisp/textmodes/paragraphs.el (use-hard-newlines): Clarify that
this minor mode isn't global (bug#20461).

4 years agoFix bug 39218
Tino Calancha [Thu, 23 Jan 2020 09:57:16 +0000 (10:57 +0100)]
Fix bug 39218

* lisp/simple.el (shell-command):
Ensure a shell command ending with `&' is run asynchronously.

4 years agoBackport: Fix bug 39218
Tino Calancha [Thu, 23 Jan 2020 09:56:02 +0000 (10:56 +0100)]
Backport: Fix bug 39218

* lisp/simple.el (shell-command):
Ensure a shell command ending with `&' is run asynchronously.

4 years agoFix crash when sending Gnus message (Bug#39207)
Paul Eggert [Thu, 23 Jan 2020 07:43:29 +0000 (23:43 -0800)]
Fix crash when sending Gnus message (Bug#39207)

* src/alloc.c (resize_string_data): The string must be multibyte.
When not bothering to reallocate, do bother to change the byte count.
* test/src/alloc-tests.el (aset-nbytes-change) New test.

4 years agoPrefer saying "Info manual" to "info page" in docs
Stefan Kangas [Thu, 23 Jan 2020 01:25:31 +0000 (02:25 +0100)]
Prefer saying "Info manual" to "info page" in docs

Pointed out by Eli Zaretskii in:
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=39215#14
* doc/emacs/Makefile.in:
* doc/lispintro/Makefile.in:
* doc/lispref/Makefile.in:
* doc/misc/Makefile.in:
* lisp/dired-x.el (top-level):
* lisp/gnus/gnus-sum.el (gnus-summary-mode):
* lisp/progmodes/cperl-mode.el (cperl-info-page): Doc fix; prefer
saying "Info manual" over "info page".

4 years agoTab-bar related finishing touches.
Juri Linkov [Wed, 22 Jan 2020 23:23:17 +0000 (01:23 +0200)]
Tab-bar related finishing touches.

* lisp/tab-bar.el (tab-bar-tab-name-ellipsis): Use shorter name
instead of tab-bar-tab-name-truncated-ellipsis.
(tab-bar-new-tab-to) <defcustom>: Add 'function' option.
(tab-bar-new-tab-to) <function>: Use it.

* lisp/tab-line.el (tab-line-close-tab): Add missing arg 'tab' to
tab-line-close-tab-function funcall.

4 years agoMake call_process call signal_after_change. This fixes bug #38691.
Alan Mackenzie [Wed, 22 Jan 2020 19:50:30 +0000 (19:50 +0000)]
Make call_process call signal_after_change.  This fixes bug #38691.

Now, functions such as call-proess-region invoke after-change-functions
correctly.

* src/callproc.c (call_process): Call prepare_to_modify_buffer in a single
place, no longer delegating the task to insert_1_both, etc.  Call
signal_after_change in each of two code branches, such that
before-change-functions and after-change-functions are always called in
balanced pairs.

4 years ago* lisp/simple.el: Minor fixes to commentary.
Paul Eggert [Wed, 22 Jan 2020 19:03:22 +0000 (11:03 -0800)]
* lisp/simple.el: Minor fixes to commentary.

4 years agoFix a few typos
Eli Zaretskii [Wed, 22 Jan 2020 17:17:32 +0000 (19:17 +0200)]
Fix a few typos

* etc/NEWS: Fix a typo.

* src/xdisp.c (try_window_reusing_current_matrix, try_window_id):
* src/dispnew.c (scrolling_window): Fix typos in comments.

4 years agoFix doc strings for image-dired rotation commands
Christophe Deleuze [Wed, 22 Jan 2020 16:05:03 +0000 (17:05 +0100)]
Fix doc strings for image-dired rotation commands

* lisp/image-dired.el (image-dired-rotate-thumbnail-left)
(image-dired-rotate-thumbnail-right)
(image-dired-rotate-original-left)
(image-dired-rotate-original-right): Move the text in the doc
strings about rotating the originals to the correct commands
(bug#38928).

4 years agoMerge from origin/emacs-27
Glenn Morris [Wed, 22 Jan 2020 15:55:18 +0000 (07:55 -0800)]
Merge from origin/emacs-27

3b0938c042 (origin/emacs-27) Render Ido suggestions using an overlay
d5d90dc412 * doc/misc/tramp.texi (Bug Reports): Encourage use of "ema...
ac09e8e121 * lisp/vc/smerge-mode.el (smerge-match-conflict): Fix bug#...
7e37e61f4b Correct statement about ftcr and recommend HarfBuzz
4aec94da37 Avoid leaving artifacts when the system caret is used on w32
5abd8d73b0 Improve display of temporary echo messages

4 years ago; Merge from origin/emacs-27
Glenn Morris [Wed, 22 Jan 2020 15:55:18 +0000 (07:55 -0800)]
; Merge from origin/emacs-27

The following commit was skipped:

f2f9f2f98e * lisp/menu-bar.el: Remove desktop-save-mode from release ...

4 years agoMerge from origin/emacs-27
Glenn Morris [Wed, 22 Jan 2020 15:55:18 +0000 (07:55 -0800)]
Merge from origin/emacs-27

3ba0db41e3 Allow optional truncation of tab names in tab-bar and tab-...
7dd065fc7b Small fixes in documentation.
06166aa719 Improve explanation of available font backends under X
2eb834ead4 Clear output data pointer on NS

4 years agoAdd new Tramp method "media"
Michael Albinus [Wed, 22 Jan 2020 15:54:55 +0000 (16:54 +0100)]
Add new Tramp method "media"

* doc/misc/tramp.texi (Quick Start Guide, GVFS-based methods):
Add media devices.

* etc/NEWS: Mention new Tramp method "media".

* lisp/net/tramp-gvfs.el (tramp-gvfs-methods): Add "media" method.
(tramp-goa-methods): Add tramp-autoload cookie.
(tramp-media-methods): New defvar.
(tramp-gvfs-service-volumemonitor): New defsubst.
(top): Remove media methods if not supported.  Add defaults for
`tramp-default-host-alist'.
(tramp-goa-account): Rename from `tramp-goa-name'.  Adapt all callees.
(tramp-gvfs-service-afc-volumemonitor)
(tramp-gvfs-service-goa-volumemonitor)
(tramp-gvfs-service-gphoto2-volumemonitor)
(tramp-gvfs-service-mtp-volumemonitor)
(tramp-gvfs-path-remotevolumemonitor)
(tramp-gvfs-interface-remotevolumemonitor): New defconsts.
(tramp-media-device): New defstruct.
(tramp-gvfs-activation-uri): New defun.
(tramp-gvfs-url-file-name): Use it.
(tramp-gvfs-handler-mounted-unmounted)
(tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
Handle "media" method.
(tramp-get-goa-account): Rename from `tramp-make-goa-name'.  Adapt
all callees.
(tramp-get-goa-accounts): Adapt docstring.  Cache with nil key.
(tramp-parse-goa-accounts, tramp-get-media-device)
(tramp-get-media-devices)
(tramp-parse-media-names): New defuns.
(top): Rework completion function registration.

* lisp/net/tramp.el (tramp-dns-sd-service-regexp): New defconst.
(tramp-set-completion-function): Use it.

4 years agoAdd \sqrt[4] as Latex input method, too
Lars Ingebrigtsen [Wed, 22 Jan 2020 15:47:12 +0000 (16:47 +0100)]
Add \sqrt[4] as Latex input method, too

* lisp/leim/quail/latin-ltx.el: Add \sqrt[4] as input method
(bug#25594).

4 years agoAdd \sqrt and \sqrt[3] as Latex input methods
Lars Ingebrigtsen [Wed, 22 Jan 2020 14:18:22 +0000 (15:18 +0100)]
Add \sqrt and \sqrt[3] as Latex input methods

* lisp/leim/quail/latin-ltx.el: Add \sqrt and \sqrt[3] as input
methods (bug#25594).

4 years agoSupport solar and lunar eclipses in Calendar
Nicholas Strauss [Wed, 22 Jan 2020 14:12:58 +0000 (15:12 +0100)]
Support solar and lunar eclipses in Calendar

* lisp/calendar/lunar.el (eclipse-check): New function to display
solar and lunar eclipses (bug#20414).
(lunar-phase): Use it.
(calendar-lunar-phases): Ditto.

4 years agoDefault lisp-mode to use Common Lisp indentation
Helmut Eller [Wed, 22 Jan 2020 13:18:17 +0000 (14:18 +0100)]
Default lisp-mode to use Common Lisp indentation

* lisp/emacs-lisp/lisp-mode.el (lisp-mode): Use
common-lisp-indent-function instead of lisp-indent-function as
Common Lisp is the most common non-Emacs Lisp today (bug#10097).

4 years agoMake find-file-at-point respect port numbers in Tramp file name
Marco Wahl [Wed, 22 Jan 2020 12:58:52 +0000 (13:58 +0100)]
Make find-file-at-point respect port numbers in Tramp file name

* lisp/ffap.el (ffap-string-at-point-mode-alist): Respect port
numbers in files names like /ssh:root@127.0.0.1#2222:/root/ (bug#20412).

4 years agoRender Ido suggestions using an overlay
Dmitry Gutov [Wed, 22 Jan 2020 11:46:34 +0000 (14:46 +0300)]
Render Ido suggestions using an overlay

* lisp/ido.el (ido--overlay): New variable.
(ido-exhibit): Render with 'after-string' on an overlay
(bug#38457).

4 years agoMinor cleanup in {autorevert,filenotify,shadowfile}-tests.el
Michael Albinus [Wed, 22 Jan 2020 10:45:26 +0000 (11:45 +0100)]
Minor cleanup in {autorevert,filenotify,shadowfile}-tests.el

* test/lisp/autorevert-tests.el (tramp-message-show-message):
* test/lisp/shadowfile-tests.el (tramp-message-show-message):
* test/lisp/filenotify-tests.el (tramp-message-show-message)
Do Not set.
(file-notify-test04-autorevert): Inhibit messages.

4 years ago* doc/misc/tramp.texi (Bug Reports): Encourage use of "emacs -Q".
Michael Albinus [Wed, 22 Jan 2020 08:25:58 +0000 (09:25 +0100)]
* doc/misc/tramp.texi (Bug Reports): Encourage use of "emacs -Q".

4 years ago* test/lisp/auth-source-pass-tests.el: Test for multiple ports.
Damien Cassou [Tue, 21 Jan 2020 19:13:54 +0000 (20:13 +0100)]
* test/lisp/auth-source-pass-tests.el: Test for multiple ports.

4 years ago* lisp/vc/smerge-mode.el (smerge-match-conflict): Fix bug#38456
Stefan Monnier [Tue, 21 Jan 2020 20:58:17 +0000 (15:58 -0500)]
* lisp/vc/smerge-mode.el (smerge-match-conflict): Fix bug#38456

This situation is not an internal error, but a perfectly normal occurrence,
so a `cl-assert` is not right

4 years agoCorrect statement about ftcr and recommend HarfBuzz
Robert Pluim [Tue, 21 Jan 2020 17:18:32 +0000 (18:18 +0100)]
Correct statement about ftcr and recommend HarfBuzz

* doc/lispref/frames.texi (Font and Color Parameters): Correct
statement about availability of ftcr in the presence of HarfBuzz.
Recommend HarfBuzz.

4 years agoRecommend use of HarfBuzz
Robert Pluim [Tue, 21 Jan 2020 17:12:56 +0000 (18:12 +0100)]
Recommend use of HarfBuzz

* etc/NEWS: Add recommendation to use HarfBuzz.

4 years agoAvoid leaving artifacts when the system caret is used on w32
Eli Zaretskii [Tue, 21 Jan 2020 16:23:32 +0000 (18:23 +0200)]
Avoid leaving artifacts when the system caret is used on w32

* src/xdisp.c (try_window_reusing_current_matrix, try_window_id):
* src/dispnew.c (scrolling_window) [HAVE_NTGUI]: If
w32-use-visible-system-caret is non-nil, disallow scrolling the
display are in scroll_run_hook.  This avoids copying traces of the
caret, about which Emacs knows nothing, and thus considers those
pixels show the default background.  (Bug#39188)
(gui_update_window_end): Block input only around part of the code,
as we did before this code was extracted from backend-specific
implementations.

* src/w32term.c (w32_update_window_begin, w32_update_window_end):
Only hide/show the caret when redisplaying the window where the
caret is shown.

4 years agoImprove display of temporary echo messages
Eli Zaretskii [Tue, 21 Jan 2020 15:58:23 +0000 (17:58 +0200)]
Improve display of temporary echo messages

* lisp/minibuffer.el (set-minibuffer-message): Fix cursor position
for the temporary display of an echo-area message when minibuffer
is active.  Ensure the message is visible even if the end of the
completion candidates presented by the likes of Icomplete mode is
not visible due to its length, under resize-mini-windows = nil.
(Bug#38457)

4 years ago* lisp/progmodes/grep.el (grep-read-files-function): New var.
Stefan Monnier [Tue, 21 Jan 2020 14:16:25 +0000 (09:16 -0500)]
* lisp/progmodes/grep.el (grep-read-files-function): New var.

Also remove redundant :groups while we're here.

(grep-read-files): Use it instead of a major-mode symbol property.
(grep-read-files--default): New function.

* lisp/dired.el (dired-mode): Use `grep-read-files-function`.

4 years ago; fix typo in previous commit
Robert Pluim [Tue, 21 Jan 2020 07:22:34 +0000 (08:22 +0100)]
; fix typo in previous commit

4 years agoAdd Cairo font backend info
Robert Pluim [Tue, 21 Jan 2020 07:18:35 +0000 (08:18 +0100)]
Add Cairo font backend info

* etc/NEWS: Add info about which font backends are available under Cairo.

4 years ago* lisp/menu-bar.el: Remove desktop-save-mode from release branch (bug#37594)
Juri Linkov [Mon, 20 Jan 2020 23:09:04 +0000 (01:09 +0200)]
* lisp/menu-bar.el: Remove desktop-save-mode from release branch (bug#37594)

; Not to be merged to master

4 years agoAllow optional truncation of tab names in tab-bar and tab-line (bug#38693)
Juri Linkov [Mon, 20 Jan 2020 23:03:37 +0000 (01:03 +0200)]
Allow optional truncation of tab names in tab-bar and tab-line (bug#38693)

* lisp/tab-line.el (tab-line-tab-name-truncated-max): New defcustom.
(tab-line-tab-name-truncated-buffer): Use tab-line-tab-name-truncated-max
consistently with similar options in tab-bar.el.
(tab-line-tabs-limit): Remove variable.
(tab-line-tabs-window-buffers): Remove use of tab-line-tabs-limit
that was an experimental feature before horizontal scrolling was implemented.
(tab-line-close-tab-function): Rename from tab-line-close-tab-action
and allow a customizaed function as option.
(tab-line-close-tab): Call function if tab-line-close-tab-function
is customized to a function.

* lisp/tab-bar.el (tab-bar-tab-name-function): Add option
tab-bar-tab-name-truncated.
(tab-bar-tab-name-truncated-max): New defcustom.
(tab-bar-tab-name-truncated-ellipsis): New variable.
(tab-bar-tab-name-truncated): New function.

4 years agoSmall fixes in documentation.
Juri Linkov [Mon, 20 Jan 2020 22:50:15 +0000 (00:50 +0200)]
Small fixes in documentation.

* doc/emacs/dired.texi (Operating on Files): Fix name of dired-vc-rename-file.

* doc/emacs/fixit.texi (Undo): Update new values of undo limits
doubled in bug#31104.

4 years agoImprove explanation of available font backends under X
Robert Pluim [Mon, 20 Jan 2020 16:59:38 +0000 (17:59 +0100)]
Improve explanation of available font backends under X

* frames.texi (Font and Color Parameters): Clarify that you can't
have HarfBuzz and non-HarfBuzz at the same time for xft and cairo
font backends.

4 years ago* lisp/international/mule-cmds.el (mule-cmds--prefixed-command-pch): Fix typo
Stefan Monnier [Mon, 20 Jan 2020 17:00:22 +0000 (12:00 -0500)]
* lisp/international/mule-cmds.el (mule-cmds--prefixed-command-pch): Fix typo

4 years agoClear output data pointer on NS
Pip Cet [Mon, 20 Jan 2020 16:27:43 +0000 (17:27 +0100)]
Clear output data pointer on NS

* src/nsterm.m (ns_free_frame_resources): Clear the output data
pointer to prevent attempting to reuse freed resources (Bug#38748).

4 years agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Mon, 20 Jan 2020 16:22:27 +0000 (18:22 +0200)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

4 years agoUnbreak the MS-Windows build
Eli Zaretskii [Mon, 20 Jan 2020 16:21:09 +0000 (18:21 +0200)]
Unbreak the MS-Windows build

* src/w32.c (openat): New function.
* src/w32.h (openat): Add prototype.

4 years agoDocument cairo-related fallout to font-backend settings
Robert Pluim [Mon, 20 Jan 2020 16:07:11 +0000 (17:07 +0100)]
Document cairo-related fallout to font-backend settings

* etc/NEWS: Document some of the possible adjustments required to
font settings when using Cairo.

4 years agoMerge from origin/emacs-27
Glenn Morris [Mon, 20 Jan 2020 15:50:30 +0000 (07:50 -0800)]
Merge from origin/emacs-27

154cd116be (origin/emacs-27) * admin/release-process: Adapt bug numbe...
fd19282134 Fix shell-tests failures
891f7de8ed * test/lisp/simple-tests.el: Full path to Emacs binary (bu...
92f30d62c0 * lisp/tab-line.el (tab-line-auto-hscroll): Fix for long t...
dde313151d * lisp/menu-bar.el (menu-bar-options-menu): Add desktop-sa...
3543b9fad9 ; Fix a test (Bug#39067)
83f9fe44fa ; * etc/NEWS: Fix typo.
2eb0b7835d Fix shell-command-dont-erase-buffer feature
c134978a76 Remove reference to Emacs 19 from FAQ
fabf0065c5 Doc fixes in package.el

# Conflicts:
# etc/NEWS

4 years ago; Merge from origin/emacs-27
Glenn Morris [Mon, 20 Jan 2020 15:50:26 +0000 (07:50 -0800)]
; Merge from origin/emacs-27

The following commit was skipped:

5118394e5b Ensure that gnus-summary-attach-article finds the right ar...

4 years agoMerge from origin/emacs-27
Glenn Morris [Mon, 20 Jan 2020 15:50:26 +0000 (07:50 -0800)]
Merge from origin/emacs-27

f3d30b5303 Remove some doc references to old Emacs versions
4217bc229b Fix infloop in shell.el
74b151195d Fix erc-notifications-notify for non-PRIVMSGs, broken in l...
db4436eaf9 Fix the notification action for PRIVMSG in erc-notificatio...
36a4068105 ERC: New maintainer.
2391d3f45d ; spelling fixes
e898442be3 Honor tags-case-fold-search during xref identifer completion

# Conflicts:
# etc/NEWS

4 years ago* admin/release-process: Adapt bug numbers for release critical bugs.
Michael Albinus [Mon, 20 Jan 2020 15:32:13 +0000 (16:32 +0100)]
* admin/release-process: Adapt bug numbers for release critical bugs.

Mention debbugs-gnu-emacs-release-blocking-reports.

4 years agoFix shell-tests failures
Mattias Engdegård [Mon, 20 Jan 2020 14:52:27 +0000 (15:52 +0100)]
Fix shell-tests failures

* test/lisp/shell-tests.el (shell-tests-completion-before-semi):
Go back to actually testing completion before semicolon.
(shell-tests-completion-after-semi): Test completion after semicolon,
correctly (bug#39075).

4 years ago* lisp/progmodes/cc-cmds.el: Don't use local vars as symbols
Stefan Monnier [Mon, 20 Jan 2020 14:50:32 +0000 (09:50 -0500)]
* lisp/progmodes/cc-cmds.el: Don't use local vars as symbols

(c--call-post-self-insert-hook-more-safely-1): Avoid `add-hook` and
`run-hooks` on local vars.  Avoid O(n^2) while we're at it.

4 years ago* test/lisp/simple-tests.el: Full path to Emacs binary (bug#39067).
Mattias Engdegård [Mon, 20 Jan 2020 13:27:38 +0000 (14:27 +0100)]
* test/lisp/simple-tests.el: Full path to Emacs binary (bug#39067).

4 years agoWork better if stat etc. are interrupted
Paul Eggert [Mon, 20 Jan 2020 09:08:42 +0000 (01:08 -0800)]
Work better if stat etc. are interrupted

Quit or retry if fstat, lstat, stat or openat fail with EINTR.
This should fix some bugs on platforms where accessing files via
NFS can fail that way (Bug#9256).
* src/dired.c (file_attributes):
* src/fileio.c (file_directory_p) [O_PATH]:
Use emacs_openat instead of openat.
* src/dired.c (file_attributes): Use emacs_fstatat instead of fstatat.
* src/fileio.c (barf_or_query_if_file_exists, Frename_file):
* src/filelock.c (rename_lock_file):
Use emacs_fstatat instead of lstat.
* src/fileio.c (file_directory_p, Ffile_regular_p, Ffile_modes)
(Ffile_newer_than_file_p, Fverify_visited_file_modtime)
(Fset_visited_file_modtime, auto_save_1):
* src/lread.c (Fload):
* src/sysdep.c (get_current_dir_name_or_unreachable):
Use emacs_fstatat instead of stat.
* src/sysdep.c (emacs_fstatat, emacs_openat): New functions.
(emacs_open): Redo in terms of emacs_open.

4 years agoFix drag and drop from some Qt versions
Paul Eggert [Mon, 20 Jan 2020 07:40:45 +0000 (23:40 -0800)]
Fix drag and drop from some Qt versions

* lisp/x-dnd.el (x-dnd-handle-xdnd): Fix XdndDrop time stamp bug.
Problem and tiny change reported by Urs Fleisch (Bug#20804).
Copyright-paperwork-exempt: yes

4 years ago* lisp/tab-line.el (tab-line-auto-hscroll): Fix for long tab names.
Juri Linkov [Mon, 20 Jan 2020 00:35:53 +0000 (02:35 +0200)]
* lisp/tab-line.el (tab-line-auto-hscroll): Fix for long tab names.

Check for nil value returned by previous-single-property-change that
happens when tab name is longer than window width.

4 years ago* lisp/menu-bar.el (menu-bar-options-menu): Add desktop-save-mode (bug#37594)
Juri Linkov [Mon, 20 Jan 2020 00:14:24 +0000 (02:14 +0200)]
* lisp/menu-bar.el (menu-bar-options-menu): Add desktop-save-mode (bug#37594)

4 years ago* lisp/international/mule-cmds.el (universal-coding-system-argument): Rewrite
Stefan Monnier [Sun, 19 Jan 2020 22:10:57 +0000 (17:10 -0500)]
* lisp/international/mule-cmds.el (universal-coding-system-argument): Rewrite

Use the new `prefix-command-*` hooks and functions so it interacts
better with other prefix commands (and with itself), and so the
pre/post-command-hook and other command-loop operations are performed
"normally".

(mule-cmds--prefixed-command-next-coding-system)
(mule-cmds--prefixed-command-last-coding-system): New vars.
(mule-cmds--prefixed-command-pch, mule-cmds--prefixed-command-echo)
(mule-cmds--prefixed-command-preserve): New functions.

4 years ago; Fix a test (Bug#39067)
Tino Calancha [Sun, 19 Jan 2020 21:01:17 +0000 (22:01 +0100)]
; Fix a test (Bug#39067)

* test/lisp/simple-tests.el (with-shell-command-dont-erase-buffer):
Use flag -Q to prevent from loading site-lisp files.

4 years agoImprove error handling in dired-change-marks
Stefan Kangas [Sun, 19 Jan 2020 14:58:06 +0000 (15:58 +0100)]
Improve error handling in dired-change-marks

* lisp/dired.el (dired-change-marks): Signal user-error if mark
character is invalid.  Catch more invalid characters.  (Bug#29842)

4 years agoMake arguments to dired-chage-marks non-optional
Stefan Kangas [Sun, 19 Jan 2020 14:43:46 +0000 (15:43 +0100)]
Make arguments to dired-chage-marks non-optional

* lisp/dired.el (dired-change-marks): Make arguments
non-optional.  (Bug#29842)

4 years ago; * etc/NEWS: Fix typo.
Michael Albinus [Sun, 19 Jan 2020 13:25:20 +0000 (14:25 +0100)]
; * etc/NEWS: Fix typo.

4 years ago; * etc/NEWS: Fix typos.
Michael Albinus [Sun, 19 Jan 2020 13:11:25 +0000 (14:11 +0100)]
; * etc/NEWS: Fix typos.

4 years agoSync with Tramp 2.5.0-pre
Michael Albinus [Sun, 19 Jan 2020 13:11:07 +0000 (14:11 +0100)]
Sync with Tramp 2.5.0-pre

* doc/misc/tramp.texi:  Protext Tramp x.y and Emacs x.y by @w{}.
(GVFS-based methods): Move "GNOME Online Accounts" index.
(Customizing Methods, Android shell setup, File name completion)
(Frequently Asked Questions): Fix typos.

* doc/misc/trampver.texi: Change version to "2.5.0-pre".

* lisp/net/trampver.el: Change version to "2.5.0-pre".
(inhibit-message): Don't declare.

* lisp/net/tramp.el: Bump version to 2.5.0-pre.  Require Emacs 25.1.
(tramp-debug-message): Simplify.
(tramp-message): Don't use `tramp-message-show-message'.
(tramp-with-demoted-errors, with-parsed-tramp-file-name)
(with-tramp-file-property, with-tramp-connection-property):
Adapt `declare' form.
(with-tramp-progress-reporter): Suppress progress reporter when
noninteractive.
(tramp-completion-mode, tramp-completion-mode-p): Remove.

* lisp/net/tramp-compat.el (tramp-compat-process-running-p)
(format-message): Remove compatibility code.
(tramp-compat-directory-name-p)
(tramp-compat-tramp-file-name-slots): Remove.

* lisp/net/tramp.el (tramp-debug-message, tramp-message)
(tramp-backtrace, tramp-error, tramp-error-with-buffer)
(tramp-user-error, tramp-with-demoted-errors)
(tramp-signal-hook-function):
* lisp/net/tramp-compat.el (tramp-compat-funcall)
* lisp/net/tramp-gvfs.el (tramp-dbus-function):
Add `tramp-suppress-trace' property.

* lisp/net/tramp.el (tramp-get-method-parameter)
(tramp-dissect-file-name, tramp-error, tramp-error-with-buffer)
(tramp-user-error, with-parsed-tramp-file-name)
(with-tramp-progress-reporter, tramp-file-name-handler)
(tramp-completion-file-name-handler, tramp-autoload-file-name-handler)
(tramp-register-file-name-handlers, tramp-connectable-p)
(tramp-handle-file-modes, tramp-handle-file-regular-p)
(tramp-handle-file-truename, tramp-handle-insert-directory)
(tramp-handle-load, tramp-set-file-uid-gid):
* lisp/net/tramp-adb.el (tramp-adb-file-name-handler)
(tramp-adb-handle-file-truename, tramp-adb-handle-copy-file)
(tramp-adb-handle-rename-file):
* lisp/net/tramp-archive.el (with-parsed-tramp-archive-file-name):
* lisp/net/tramp-cache.el (tramp-get-file-property, tramp-cache-print):
* lisp/net/tramp-compat.el (tramp-compat-process-running-p)
(tramp-compat-exec-path):
* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler)
(tramp-gvfs-dbus-byte-array-to-string)
(tramp-gvfs-do-copy-or-rename-file):
* lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler)
(tramp-rclone-do-copy-or-rename-file):
* lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
(tramp-sh-handle-copy-directory, tramp-do-copy-or-rename-file)
(tramp-sh-handle-insert-directory, tramp-sh-file-name-handler)
(tramp-maybe-open-connection):
* lisp/net/tramp-smb.el (tramp-smb-file-name-handler)
(tramp-smb-handle-copy-file, tramp-smb-handle-copy-directory)
(tramp-smb-handle-copy-file, tramp-smb-handle-insert-directory)
(tramp-smb-handle-rename-file, tramp-smb-maybe-open-connection):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler)
(tramp-sudoedit-do-copy-or-rename-file)
(tramp-sudoedit-handle-file-truename):
Use `if-let', `when-let', `directory-name-p', `inhibit-message',
`non-essential and `cl-struct-slot-info'.  Don't use `seconds-to-time'.

* test/lisp/net/tramp-archive-tests.el (tramp-message-show-message):
Don't set.

* test/lisp/net/tramp-tests.el (inhibit-message): Don't declare.
(tramp-message-show-message): Don't set.
(tramp-test06-directory-file-name): Use `non-essential'.
(tramp-test10-write-region): Use `inhibit-message'.
(tramp-test36-vc-registered): No special handling for old Emacsen.
(tramp--test-emacs25-p): Remove.
(tramp-test45-unload): Special case of `tramp-completion-mode'.

4 years agoFix shell-command-dont-erase-buffer feature
Tino Calancha [Sun, 19 Jan 2020 10:13:02 +0000 (11:13 +0100)]
Fix shell-command-dont-erase-buffer feature

* lisp/simple.el (shell-command-dont-erase-buffer):
The default, nil, is backward compatible, i.e. it erases the buffer
only if the output buffer is not the current one; the new value 'erase
always erases the output buffer.
Update docstring.

(shell-command-save-pos-or-erase):
Add optional arg output-to-current-buffer.
Rename it so that it's not internal.  All callers updated.

(shell-command-set-point-after-cmd): Rename it so that it's not internal.
All callers updated.
Adjust it to cover a side case.

(shell-command): Adjust logic to match the specification (Bug#39067).
Enable the feature when the output buffer is the current one.

(shell-command-on-region): Little tweak to follow
`shell-command-dont-erase-buffer' specification.

* test/lisp/simple-tests.el (with-shell-command-dont-erase-buffer):
Add helper macro.
(simple-tests-shell-command-39067)
(simple-tests-shell-command-dont-erase-buffer): Add tests.

* doc/emacs/misc.texi (Single Shell): Update manual.

* etc/NEWS (Single shell commands): Announce the change.

4 years agoRemove Gnulib putenv code
Paul Eggert [Sun, 19 Jan 2020 04:54:29 +0000 (20:54 -0800)]
Remove Gnulib putenv code

It’s not needed, since Emacs always uses the system putenv and all
platforms have putenv.  This improves on the fix for Bug#19874.
Suggested by Bruno Haible.
* admin/merge-gnulib (GNULIB_MODULES): Remove putenv.
* configure.ac: Remove workarounds for Gnulib putenv module.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* lib/putenv.c, m4/putenv.m4: Remove.

4 years agoUpdate from Gnulib
Paul Eggert [Sun, 19 Jan 2020 04:34:55 +0000 (20:34 -0800)]
Update from Gnulib

This incorporates:
2020-01-18 Rename ~~gnulib.m4 to zzgnulib.m4
2020-01-18 Fix "m4_require: circular dependency of AC_LANG_COMPILER(C)"
2020-01-18 Ensure Automake does not drop ~~gnulib.m4
2020-01-18 Fix major regression from 2020-01-10
* m4/00gnulib.m4, m4/gnulib-common.m4: Copy from Gnulib.
* m4/gnulib-comp.m4: Regenerate.
* m4/zzgnulib.m4: New file, from Gnulib.

4 years agoAdd space before messsage in byte compiler warnings
Rüdiger Sonderfeld [Sun, 19 Jan 2020 01:02:28 +0000 (02:02 +0100)]
Add space before messsage in byte compiler warnings

According to the GNU coding standards (info "(standards) Errors"):
> If you want to mention the column number, use one of these formats:
>      SOURCE-FILE-NAME:LINENO:COLUMN: MESSAGE
>      SOURCE-FILE-NAME:LINENO.COLUMN: MESSAGE

* lisp/emacs-lisp/bytecomp.el (byte-compile-warning-prefix): Add space
before message in byte compiler warnings to comply with the GNU coding
standards.  (Bug#18969)

4 years agoRemove reference to Emacs 19 from FAQ
Stefan Kangas [Sun, 19 Jan 2020 00:26:16 +0000 (01:26 +0100)]
Remove reference to Emacs 19 from FAQ

* doc/misc/efaq.texi (Emacs ignores X resources): Remove reference to
Emacs 19.

4 years agoDoc fixes in package.el
Stefan Kangas [Fri, 4 Oct 2019 16:30:34 +0000 (18:30 +0200)]
Doc fixes in package.el

* lisp/emacs-lisp/package.el (package-process-define-package)
(package-generate-description-file): Doc fixes.
(package-generate-autoloads, package--write-file-no-coding)
(package--archive-file-exists-p, package-desc-status): Add doc
strings.

4 years agoEnsure that gnus-summary-attach-article finds the right articles
Eric Abrahamsen [Sat, 18 Jan 2020 19:08:11 +0000 (11:08 -0800)]
Ensure that gnus-summary-attach-article finds the right articles

* lisp/gnus/gnus-msg.el (gnus-summary-attach-article): Before
iterating over the articles to attach, first close any open
article. Using `set-buffer' required `gnus-summary-select-article' to
re-set the buffer every time, meaning we never got off the original
article.

(cherry picked from commit 447bb1313a6abc07776d93ee78cd976ab43856e5)

4 years agoDon’t assume sizeof (size_t) == 4 in allocators
Paul Eggert [Sat, 18 Jan 2020 21:18:27 +0000 (13:18 -0800)]
Don’t assume sizeof (size_t) == 4 in allocators

This removes some old 32-bit assumptions in Emacs allocator tuning,
and improves performance of ‘make compile-always’ by about 7% on a
couple of 64-bit GNU/Linux platforms I tried it on.  It should not
affect performance on 32-bit platforms.
* src/alloc.c (MALLOC_SIZE_NEAR): New macro.
(MALLOC_ALIGNMENT): New constant.
(INTERVAL_BLOCK_SIZE, SBLOCK_SIZE, STRING_BLOCK_SIZE): Use the new
macro.  Make these enum constants since they need not be macros.

4 years agoEnsure that gnus-summary-attach-article finds the right articles
Eric Abrahamsen [Sat, 18 Jan 2020 19:08:11 +0000 (11:08 -0800)]
Ensure that gnus-summary-attach-article finds the right articles

* lisp/gnus/gnus-msg.el (gnus-summary-attach-article): Before
iterating over the articles to attach, first close any open
article. Using `set-buffer' required `gnus-summary-select-article' to
re-set the buffer every time, meaning we never got off the original
article.

4 years agoRemove some doc references to old Emacs versions
Stefan Kangas [Sat, 18 Jan 2020 18:53:01 +0000 (19:53 +0100)]
Remove some doc references to old Emacs versions

* doc/misc/efaq.texi (Horizontal scrolling): Remove section
only relevant to Emacs 21 or older.
(Repeating commands, Editing MS-DOS files):
* lisp/progmodes/gdb-mi.el:
* lisp/woman.el: Doc fix - remove some references to Emacs 20 and older.

4 years ago* src/fns.c (sxhash_obj): Fix crash on sub-char-tables
Stefan Monnier [Sat, 18 Jan 2020 18:13:21 +0000 (13:13 -0500)]
* src/fns.c (sxhash_obj): Fix crash on sub-char-tables

Also, look inside overlays, like `internal_equal`.

(internal_equal): Cosmetic tweak.

4 years agoAdd ability to find ObjC method names
Alan Third [Mon, 30 Dec 2019 16:38:47 +0000 (16:38 +0000)]
Add ability to find ObjC method names

* lisp/progmodes/cc-cmds.el (c-defun-name-1): Add Objective-C method
name ability.

4 years agoDon't error on non-toolkit NS scrollbars (bug#37042)
Alan Third [Wed, 1 Jan 2020 11:44:21 +0000 (11:44 +0000)]
Don't error on non-toolkit NS scrollbars (bug#37042)

* configure.ac (HAVE_NS): Don't error, but warn, on non-toolkit
scrollbars.

4 years agoFix infloop in shell.el
Pieter van Oostrum [Thu, 16 Jan 2020 19:21:37 +0000 (20:21 +0100)]
Fix infloop in shell.el

* test/lisp/shell-tests.el (shell-tests-completion-before-semi):
Amend the shell.el tests to catch errors such as bug#39057.

* lisp/shell.el (shell--parse-pcomplete-arguments): Skip the
semi-colon as well.  This avoids inflooping when a semi-colon is
typed by the user.  (Bug#39057)

Copyright-paperwork-exempt: yes

4 years agoRemove XEmacs and old Emacs compat code from ebnf2ps.el
Stefan Kangas [Sat, 18 Jan 2020 08:15:36 +0000 (09:15 +0100)]
Remove XEmacs and old Emacs compat code from ebnf2ps.el

* lisp/progmodes/ebnf2ps.el (ebnf-color-p)
(ebnf-style-database): Remove XEmacs and old Emacs compat code.

4 years agoMake Faset nonrecursive
Paul Eggert [Sat, 18 Jan 2020 07:59:52 +0000 (23:59 -0800)]
Make Faset nonrecursive

* src/data.c (Faset): Refactor Faset so that it’s not recursive.
This helps the compiler and makes the code a bit clearer.

4 years agoImprove performance when a string's byte count changes
Paul Eggert [Sat, 18 Jan 2020 07:59:51 +0000 (23:59 -0800)]
Improve performance when a string's byte count changes

* src/alloc.c (allocate_string_data): Now static.
Remove code for when Faset calls this function when S
already has data assigned, as that can no longer happen.
(resize_string_data): New function, which avoids relocation in
more cases than the old code did, by not bothering to relocate
when the size changes falls within the alignment slop.
* src/data.c (Faset): Use resize_string_data.
Change a while to a do-while since it must iterate at least once.

4 years agoFix erc-notifications-notify for non-PRIVMSGs, broken in last commit
Amin Bandali [Sat, 18 Jan 2020 04:38:04 +0000 (23:38 -0500)]
Fix erc-notifications-notify for non-PRIVMSGs, broken in last commit

* lisp/erc/erc-desktop-notifications.el (erc-notifications-notify):
Take optional argument `privp', to be non-nil when notifying for a
PRIVMSG.  This is to work around bug introduced in last commit, as
`erc-get-buffer' may return nil for non-PRIVMSG cases.
(erc-notifications-PRIVMSG): Call erc-notifications-notify with
non-nil `privp', as described above.