Paul Eggert [Tue, 26 Feb 2019 01:44:46 +0000 (17:44 -0800)]
Fix mod-test build failure
Problem reported by Glenn Morris in:
https://lists.gnu.org/r/emacs-devel/2019-02/msg00739.html
* test/Makefile.in (HYBRID_MALLOC, LIBEGNU_ARCHIVE):
New macros, taken from ../src/Makefile.in.
(MODULE_CFLAGS): Add -I$(srcdir)/../lib.
($(test_module)): Link $(LIBEGNU_ARCHIVE) too.
Juri Linkov [Mon, 25 Feb 2019 21:27:47 +0000 (23:27 +0200)]
* lisp/vc/diff-mode.el (diff-font-lock-keywords): Add more Git headers.
* lisp/gnus/mm-view.el (mm-display-inline-fontify): Set mode to
the selected major-mode, so diff-mode could be detected afterwards.
Juri Linkov [Mon, 25 Feb 2019 21:11:34 +0000 (23:11 +0200)]
* lisp/frame.el (make-frame-on-monitor): New command. (Bug#34516)
(make-frame-on-display): Add completion on available display names.
Tassilo Horn [Mon, 25 Feb 2019 20:07:24 +0000 (21:07 +0100)]
; Fixup docs for replace-{buffer,region}-contents
Tassilo Horn [Mon, 25 Feb 2019 19:57:25 +0000 (20:57 +0100)]
; Delete unused variable replace-buffer-contents-max-secs
This variable is a leftover of my now deleted
scratch/replace-region-contents branch and has never been used in
master.
Paul Eggert [Mon, 25 Feb 2019 19:33:51 +0000 (11:33 -0800)]
format-time-string: document new '+' flag
* doc/lispref/os.texi (Time Parsing), etc/NEWS:
* src/timefns.c (Fformat_time_string): Document the new
behavior, added for compatibility with POSIX.1-2017.
Paul Eggert [Mon, 25 Feb 2019 16:26:49 +0000 (08:26 -0800)]
Update from Gnulib
This incorporates:
2019-02-24 nstrftime: support the ‘+’ flag
2019-02-24 stat, lstat: fix conflict with relocatable-prog-wrapper
2019-02-23 nstrftime: tweak arg order
2019-02-21 nstrftime: merge glibc strftime changes
2019-02-02 vla: add commentary about VLA_ELEMS
* build-aux/config.guess, doc/misc/texinfo.tex, lib/fstatat.c:
* lib/lstat.c, lib/nstrftime.c, lib/vla.h:
Copy from Gnulib.
Michael Albinus [Mon, 25 Feb 2019 10:59:52 +0000 (11:59 +0100)]
Adapt hooks in Tramp
* lisp/net/tramp-archive.el (tramp-archive-cleanup-hash):
Remove autoload cookie.
(tramp-cleanup-all-connections-hook): Add `tramp-archive-cleanup-hash'.
* lisp/net/tramp-cmds.el (tramp-cleanup-connection-hook)
(tramp-cleanup-all-connections-hook): New hook variables.
(tramp-cleanup-connection): Set `tramp-current-connection' always
to nil.
(tramp-cleanup-connection): Do not call `tramp-recentf-cleanup'.
Run ´tramp-cleanup-connection-hook`.
(tramp-cleanup-all-connections): Do not call
`tramp-archive-cleanup-hash' and ´tramp-recentf-cleanup'. Run
`tramp-cleanup-all-connections-hook'.
* lisp/net/tramp-ftp.el (top): Simply call `tramp-disable-ange-ftp'.
* lisp/net/tramp-integration.el (tramp-recentf-cleanup-all): New defun.
(top): Adapt `tramp-integration-unload-hook',
`tramp-cleanup-connection-hook' and
`tramp-cleanup-all-connections-hook'.
Alex Branham [Sat, 23 Feb 2019 13:35:01 +0000 (07:35 -0600)]
* lisp/comint.el (comint-skip-input): Set inhibit-read-only to t
Bug#33975
Philipp Stephani [Wed, 2 Jan 2019 21:04:56 +0000 (22:04 +0100)]
Ignore pending_signals when checking for quits.
pending_signals is often set if no quit is pending. This results in
bugs in module code if the module returns but no quit is actually
pending.
As a better alternative, add a new process_input environment function
for Emacs 27. That function processes signals (like maybe_quit).
* configure.ac: Add module snippet for Emacs 27.
* src/module-env-27.h: New file.
* src/emacs-module.h.in: Add process_input function to environment
interface.
* src/emacs-module.c (module_should_quit): Use QUITP macro to check
whether the caller should quit.
(module_process_input): New function.
(initialize_environment): Use it.
* src/eval.c: Remove obsolete comment.
* test/data/emacs-module/mod-test.c (signal_wrong_type_argument)
(signal_errno): New helper functions.
(Fmod_test_sleep_until): New test module function.
* test/src/emacs-module-tests.el (mod-test-sleep-until): New unit
test.
* doc/lispref/internals.texi (Module Misc): Document process_input.
Stefan Monnier [Sun, 24 Feb 2019 21:19:59 +0000 (16:19 -0500)]
* lisp/term.el: Fix minor compilation issues with cl-lib and lexbind
Remove left-over comment from the bulk comint->term query/replace.
(term-command-function): Rename from term-command-hook.
Give it a global default value.
(term-suppress-hard-newline): Mark it as generally obsolete.
(term-mode): Don't manually make hooks buffer-local.
(term--remove-fake-newlines): Fix assert -> cl-assert.
(term-char-mode): Use add-function.
(term-send-input): Use run-hook-with-args.
(term-dynamic-complete): Use run-hook-with-args-until-success.
(term-dynamic-simple-complete): Completion tables can be plain lists.
(serial-read-name): Simplify and fix misuse of `set`.
John Shahid [Mon, 21 Jan 2019 00:08:17 +0000 (19:08 -0500)]
Adjust line wrapping on window resize and killing text
* lisp/term.el (term-mode): Advice filter-buffer-substring-function to
remove line unwrapping from killed text.
(term-reset-size): Add or remove line unwrapping depending on the new
terminal width.
(term-suppress-hard-newline): Mark obsolete.
(term-unwrap-line): Use text properties to be able to find the
newlines later.
Eric Abrahamsen [Wed, 30 Jan 2019 20:31:49 +0000 (12:31 -0800)]
Make pinyin to Chinese character mapping available to elisp
* leim/Makefile.in: Build the file pinyin.el from pinyin.map.
* lisp/international/titdic-cnv.el (pinyin-convert): New function that
writes the library pinyin.el, containing a new constant
`pinyin-character-map'.
* .gitignore: Ignore the generated pinyin.el file.
Richard Stallman [Sun, 24 Feb 2019 18:45:34 +0000 (10:45 -0800)]
fix rmail armor decryption problems
* lisp/mail/rmail.el (rmail-epa-decrypt): Don't decrypt an armor
that was copied into the message from a message it is a reply to.
(rmail-epa-decrypt-1): Catch and ignore errors in
epa-decrypt-region. Make armor-start and armor-end markers.
Richard Stallman [Sun, 24 Feb 2019 16:45:41 +0000 (08:45 -0800)]
Don't clobber epa-mail-aliases
* lisp/epa-mail.el (epa-mail-default-recipients):
Copy elements of epa-mail-aliases; don't clobber them.
Eli Zaretskii [Sun, 24 Feb 2019 16:03:21 +0000 (18:03 +0200)]
* doc/lispref/text.texi (Replacing): Fix a typo in recent change.
Michael Albinus [Sun, 24 Feb 2019 10:15:49 +0000 (11:15 +0100)]
Cleanup also recentf files in Tramp
* doc/misc/tramp.texi (Cleanup remote connections): Mention also
recentf cache.
* lisp/net/tramp-cmds.el (tramp-cleanup-connection)
(tramp-cleanup-all-connections): Call `tramp-recentf-cleanup'.
* lisp/net/tramp-integration.el: New package.
* lisp/net/tramp.el (tramp-rfn-eshadow-overlay)
(tramp-rfn-eshadow-setup-minibuffer)
(tramp-rfn-eshadow-update-overlay-regexp)
(tramp-rfn-eshadow-update-overlay):
(tramp-eshell-directory-change): Move to tramp-integration.el
Paul Eggert [Sat, 23 Feb 2019 21:47:52 +0000 (13:47 -0800)]
Don’t assume timersub and gettimeofday
POSIX does not specify timersub, and marks gettimeofday as
obsolescent. Avoid porting problems by using timespec.h
functions instead.
* src/editfns.c: Include systime.h instead of sys/time.h.
(EXTRA_CONTEXT_FIELDS): Replace start and max_secs with
time_limit. All uses changed. This removes the need to call
gettimeofday or timersub.
* src/term.c (timeval_to_Time): Remove. Replace all uses with ...
(current_Time): ... this new function, removing the need to
call gettimeofday.
Tassilo Horn [Sat, 23 Feb 2019 20:18:36 +0000 (21:18 +0100)]
Improve replace-buffer-contents/replace-region-contents
* src/editfns.c (Freplace_buffer_contents): Add two optional arguments
for mitigating performance issues.
* lisp/emacs-lisp/subr-x.el (replace-region-contents): Move from
subr.el. Add the same two arguments as for replace-buffer-contents.
* lisp/json.el (json-pretty-print-max-secs): New variable holding the
default MAX-SECS value json-pretty-print passes to
replace-buffer-contents.
(json-pretty-print): Use it.
* doc/lispref/text.texi (Replacing): Add documentation for
replace-buffer-contents two new optional arguments. Document
replace-region-contents.
Michael Albinus [Sat, 23 Feb 2019 10:56:37 +0000 (11:56 +0100)]
Make last Tramp change backward compatible to Emacs 24
* lisp/net/tramp-cache.el (tramp-get-file-property):
* lisp/net/tramp-sh.el (tramp-maybe-open-connection):
* lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
Make them backward compatible to Emacs 24.
Felicián Németh [Wed, 13 Feb 2019 20:19:36 +0000 (21:19 +0100)]
Jump to the current error in xref with zero prefix arg
* xref.el (xref--next-error-function): Handle the corner case of
n == 0. (Bug#34462)
Paul Eggert [Sat, 23 Feb 2019 02:32:31 +0000 (18:32 -0800)]
Avoid some double-rounding of Lisp timestamps
Also, simplify some time-related Lisp timestamp code
while we’re in the neighborhood.
* lisp/battery.el (battery-linux-proc-acpi)
(battery-linux-sysfs, battery-upower, battery-bsd-apm):
* lisp/calendar/timeclock.el (timeclock-seconds-to-string)
(timeclock-log, timeclock-last-period)
(timeclock-entry-length, timeclock-entry-list-span)
(timeclock-find-discrep, timeclock-generate-report):
* lisp/cedet/ede/detect.el (ede-detect-qtest):
* lisp/completion.el (cmpl-hours-since-origin):
* lisp/ecomplete.el (ecomplete-decay-1):
* lisp/emacs-lisp/ert.el (ert--results-update-stats-display)
(ert--results-update-stats-display-maybe):
* lisp/emacs-lisp/timer-list.el (list-timers):
* lisp/emacs-lisp/timer.el (timer-until)
(timer-event-handler):
* lisp/erc/erc-backend.el (erc-server-send-ping)
(erc-server-send-queue, erc-handle-parsed-server-response)
(erc-handle-unknown-server-response):
* lisp/erc/erc-track.el (erc-buffer-visible):
* lisp/erc/erc.el (erc-lurker-cleanup, erc-lurker-p)
(erc-cmd-PING, erc-send-current-line):
* lisp/eshell/em-pred.el (eshell-pred-file-time):
* lisp/eshell/em-unix.el (eshell-show-elapsed-time):
* lisp/gnus/gnus-icalendar.el (gnus-icalendar-event:org-timestamp):
* lisp/gnus/gnus-int.el (gnus-backend-trace):
* lisp/gnus/gnus-sum.el (gnus-user-date):
* lisp/gnus/mail-source.el (mail-source-delete-crash-box):
* lisp/gnus/nnmaildir.el (nnmaildir--scan):
* lisp/ibuf-ext.el (ibuffer-mark-old-buffers):
* lisp/gnus/nnmaildir.el (nnmaildir--scan):
* lisp/mouse.el (mouse--down-1-maybe-follows-link)
(mouse--click-1-maybe-follows-link):
* lisp/mpc.el (mpc--faster-toggle):
* lisp/net/rcirc.el (rcirc-handler-ctcp-KEEPALIVE)
(rcirc-sentinel):
* lisp/net/tramp-cache.el (tramp-get-file-property):
* lisp/net/tramp-sh.el (tramp-sh-handle-file-newer-than-file-p)
(tramp-maybe-open-connection):
* lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
* lisp/org/org-clock.el (org-clock-resolve):
(org-resolve-clocks, org-clock-in, org-clock-out, org-clock-sum):
* lisp/org/org-timer.el (org-timer-start)
(org-timer-pause-or-continue, org-timer-seconds):
* lisp/org/org.el (org-evaluate-time-range):
* lisp/org/ox-publish.el (org-publish-cache-ctime-of-src):
* lisp/pixel-scroll.el (pixel-scroll-in-rush-p):
* lisp/play/hanoi.el (hanoi-move-ring):
* lisp/proced.el (proced-format-time):
* lisp/progmodes/cpp.el (cpp-progress-message):
* lisp/progmodes/flymake.el (flymake--handle-report):
* lisp/progmodes/js.el (js--wait-for-matching-output):
* lisp/subr.el (progress-reporter-do-update):
* lisp/term/xterm.el (xterm--read-event-for-query):
* lisp/time.el (display-time-update, emacs-uptime):
* lisp/tooltip.el (tooltip-delay):
* lisp/url/url-cookie.el (url-cookie-parse-file-netscape):
* lisp/url/url-queue.el (url-queue-prune-old-entries):
* lisp/url/url.el (url-retrieve-synchronously):
* lisp/xt-mouse.el (xterm-mouse-event):
Avoid double-rounding of time-related values. Simplify.
* lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
When hoping for the best (unlikely), use a better decoded time.
(icalendar--convert-sexp-to-ical): Avoid unnecessary encode-time.
* lisp/calendar/timeclock.el (timeclock-when-to-leave):
* lisp/cedet/ede/detect.el (ede-detect-qtest):
* lisp/desktop.el (desktop-create-buffer):
* lisp/emacs-lisp/benchmark.el (benchmark-elapse):
* lisp/gnus/gnus-art.el (article-lapsed-string):
* lisp/gnus/gnus-group.el (gnus-group-timestamp-delta):
* lisp/gnus/nnmail.el (nnmail-expired-article-p):
* lisp/gnus/nnmaildir.el (nnmaildir-request-expire-articles):
* lisp/nxml/rng-maint.el (rng-time-function):
* lisp/org/org-clock.el (org-clock-get-clocked-time)
(org-clock-resolve, org-resolve-clocks, org-resolve-clocks-if-idle):
* lisp/org/org-habit.el (org-habit-insert-consistency-graphs):
* lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info)
(vhdl-fix-case-region-1):
Use time-since instead of open-coding most of it.
* lisp/erc/erc-dcc.el (erc-dcc-get-sentinel):
* lisp/erc/erc.el (erc-string-to-emacs-time, erc-time-gt):
Now obsolete. All uses changed.
(erc-time-diff): Accept all Lisp time values.
All uses changed.
* lisp/gnus/gnus-demon.el (gnus-demon-idle-since):
* lisp/gnus/gnus-score.el (gnus-score-headers):
* lisp/gnus/nneething.el (nneething-make-head):
* lisp/gnus/nnheader.el (nnheader-message-maybe):
* lisp/gnus/nnimap.el (nnimap-keepalive):
* lisp/image.el (image-animate-timeout):
* lisp/mail/feedmail.el (feedmail-rfc822-date):
* lisp/net/imap.el (imap-wait-for-tag):
* lisp/net/newst-backend.el (newsticker--image-get):
* lisp/net/rcirc.el (rcirc-handler-317, rcirc-handler-333):
* lisp/obsolete/xesam.el (xesam-refresh-entry):
* lisp/org/org-agenda.el (org-agenda-show-clocking-issues)
(org-agenda-check-clock-gap, org-agenda-to-appt):
* lisp/org/org-capture.el (org-capture-set-target-location):
* lisp/org/org-clock.el (org-clock-resolve-clock)
(org-clocktable-steps):
* lisp/org/org-colview.el (org-columns-edit-value)
(org-columns, org-agenda-columns):
* lisp/org/org-duration.el (org-duration-from-minutes):
* lisp/org/org-element.el (org-element-cache-sync-duration)
(org-element-cache-sync-break)
(org-element--cache-interrupt-p, org-element--cache-sync):
* lisp/org/org-habit.el (org-habit-get-faces)
* lisp/org/org-indent.el (org-indent-add-properties):
* lisp/org/org-table.el (org-table-sum):
* lisp/org/org-timer.el (org-timer-show-remaining-time)
(org-timer-set-timer):
* lisp/org/org.el (org-babel-load-file, org-today)
(org-auto-repeat-maybe, org-2ft, org-time-stamp)
(org-read-date-analyze, org-time-stamp-to-now)
(org-small-year-to-year, org-goto-calendar):
* lisp/org/ox.el (org-export-insert-default-template):
* lisp/ses.el (ses--time-check):
* lisp/type-break.el (type-break-time-warning)
(type-break-statistics, type-break-demo-boring):
* lisp/url/url-cache.el (url-cache-expired)
(url-cache-prune-cache):
* lisp/vc/vc-git.el (vc-git-stash-snapshot):
* lisp/erc/erc-match.el (erc-log-matches-come-back):
Simplify.
Paul Eggert [Fri, 22 Feb 2019 21:24:16 +0000 (13:24 -0800)]
Remove some timestamp format assumptions
Don’t assume that current-time and plain encode-time return
timestamps in (HI LO US PS) format.
* lisp/gnus/gnus-art.el (article-make-date-line)
(article-lapsed-string):
* lisp/gnus/gnus-demon.el (gnus-demon-time-to-step):
* lisp/gnus/gnus-diary.el (gnus-user-format-function-d):
* lisp/gnus/nnmaildir.el (nnmaildir-request-expire-articles):
* lisp/net/pop3.el (pop3-uidl-dele):
* lisp/org/ox-publish.el (org-publish-sitemap):
* lisp/vc/vc-hg.el (vc-hg-state-fast):
Simplify and remove assumptions about timestamp format.
* lisp/gnus/gnus-art.el (article-lapsed-string):
* lisp/gnus/gnus-diary.el (gnus-user-format-function-d):
Do not worry about time-subtract returning nil; that's not possible.
* lisp/gnus/gnus-diary.el (gnus-user-format-function-d):
Avoid race due to duplicate current-time calls.
* lisp/vc/vc-hg.el (vc-hg--time-to-integer): Remove; no longer used.
Alex Branham [Tue, 11 Dec 2018 14:29:50 +0000 (08:29 -0600)]
which-function: Do not display outdated imenu information
* lisp/progmodes/which-func.el (which-function): Check
`add-log-current-defun' before imenu. Update `imenu--index-alist' if
needed. Bug#33695
Eli Zaretskii [Fri, 22 Feb 2019 07:55:15 +0000 (09:55 +0200)]
; * etc/NEWS: Fix last change.
Nicholas Drozd [Sat, 16 Feb 2019 22:37:52 +0000 (16:37 -0600)]
Handle HTML 'ol' start attribute in shr.el
* lisp/net/shr.el (shr-tag-ol): Don't automatically assume
1-indexing for all ordered lists, use <ol> if given.
* etc/NEWS: Announce change in shr behavior.
* test/data/shr/ol.html:
* test/data/shr/ol.txt: New test data files.
Stefan Monnier [Thu, 21 Feb 2019 17:09:03 +0000 (12:09 -0500)]
* lisp/vc/diff-mode.el: Reduce redundancy in diff-syntax-fontify code
(diff--iterate-hunks): New function extracted from diff--font-lock-refined.
(diff--font-lock-refined, diff--font-lock-syntax): Use it.
(diff--overlay-auto-delete): Rename from diff--font-lock-refine--refresh.
(diff--font-lock-syntax--refresh): Delete.
(diff-syntax-fontify-hunk): Don't completely silence errors.
(diff-syntax-fontify-props): Remove `no-init` arg, testing if `file` is
nil instead. Adjust all callers.
(diff-syntax-fontify-props): Remove redundant code since we don't
modify the buffer.
Mattias Engdegård [Wed, 20 Feb 2019 14:15:35 +0000 (15:15 +0100)]
Replace 8-bit-specific case-manipulation
* lisp/completion.el (cmpl-coerce-string-case):
Rewrite case-changing code written for ASCII or latin-1 but not valid
in generally today.
Michael R. Mauger [Thu, 21 Feb 2019 03:13:51 +0000 (22:13 -0500)]
Correct implementation of `sql-set-product-feature' (Bug#30494).
* lisp.progmodes/sql.el (sql-add-product): Correct argument spec.
(sql-set-product-feature): Handle all cases as intended.
(sql-get-product-feature): Fetch varaiable value by `eval'.
* test/lisp/progmodes/sql-tests.el (sql-test-feature-value-[a-d]):
New test variables.
(sql-test-product-feature-harness): New test macro.
(sql-test-add-product, sql-test-add-existing-product)
(sql-test-set-feature, sql-test-set-indirect-feature)
(sql-test-set-existing-feature)
(sql-test-set-existing-indirect-feature)
(sql-test-set-missing-product, sql-test-get-feature)
(sql-test-get-indirect-feature, sql-test-get-missing-product)
(sql-test-get-missing-feature)
(sql-test-get-missing-indirect-feature): New ERT tests
Glenn Morris [Wed, 20 Feb 2019 20:07:22 +0000 (12:07 -0800)]
; Merge from origin/emacs-26
The following commit was skipped:
4c6d17a (tag: emacs-26.1.92, origin/emacs-26) Bump Emacs version to 2...
Glenn Morris [Wed, 20 Feb 2019 20:07:22 +0000 (12:07 -0800)]
Merge from origin/emacs-26
ff9c962 ; * lisp/ldefs-boot.el: Update.
b4a251c * ; ChangeLog.3 update
d3104e3 * etc/AUTHORS: Update.
a19bfb7 Remove .art from the default list of ImageMagick extensions
6985caa Fix input after setting x-wait-for-event-timeout nil
715388a Fix two warnings in eshell.texi
d49cdd9 * lisp/minibuffer.el (completion-table-dynamic): Improve docs...
5dc4e51 * lisp/emacs-lisp/debug.el (debug-on-variable-change): Doc fi...
76ef805 Fix a typo in ELisp manual
b5e66f4 Update citations of Internet RFCs
57ece2a Fix handling of manpage references divided by hyphenation
7ad0cd6 * doc/misc/eshell.texi: Fix some @ref's.
12b7940 Fix a typo in lispref/syntax.texi
# Conflicts:
# lisp/gnus/nnrss.el
# lisp/mail/ietf-drums.el
Nicolas Petton [Wed, 20 Feb 2019 16:52:30 +0000 (17:52 +0100)]
Bump Emacs version to 26.1.92
* README:
* configure.ac:
* msdos/sed2v2.inp:
* nt/README.W32: Bump Emacs version to 26.1.92.
Nicolas Petton [Wed, 20 Feb 2019 16:52:24 +0000 (17:52 +0100)]
; * lisp/ldefs-boot.el: Update.
Nicolas Petton [Wed, 20 Feb 2019 16:51:38 +0000 (17:51 +0100)]
* ; ChangeLog.3 update
Nicolas Petton [Wed, 20 Feb 2019 16:50:45 +0000 (17:50 +0100)]
* etc/AUTHORS: Update.
Tassilo Horn [Wed, 20 Feb 2019 15:57:43 +0000 (16:57 +0100)]
Fix missing interactive spec
* lisp/json.el (json-pretty-print-buffer-ordered): Add interactive
spec "P" which has been missing.
Michael Albinus [Wed, 20 Feb 2019 14:59:18 +0000 (15:59 +0100)]
Improve connection hand-shaking in tramp-adb.el
* lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
Send an additional RET.
Stefan Monnier [Wed, 20 Feb 2019 14:25:54 +0000 (09:25 -0500)]
* lisp/progmodes/sql.el (sql-is-indent-available): Remove
(sql-indent-enable): Check (fboundp 'sqlind-minor-mode) without
wondering which file might provide it.
(sql-read-connection): η-reduce 'car'.
Martin Rudalics [Wed, 20 Feb 2019 10:17:23 +0000 (11:17 +0100)]
Fix handling of MINIBUF argument in 'walk-window-tree'
* lisp/window.el (walk-window-tree): Handle MINIBUF argument
as advertised when FRAME is minibuffer-only.
(window--resize-apply-p, window--sanitize-window-sizes)
(delete-other-windows, split-window-sensibly): Call
'walk-window-tree' with suitable MINIBUF argument.
Glenn Morris [Wed, 20 Feb 2019 06:04:19 +0000 (22:04 -0800)]
Remove .art from the default list of ImageMagick extensions
It seems that .art files can be non-image files that
ImageMagick mistakenly treats as extremely large images.
Real .art images seem rare.
* lisp/image.el (imagemagick-enabled-types): Remove ART. (Bug#22289)
Glenn Morris [Tue, 19 Feb 2019 21:54:16 +0000 (16:54 -0500)]
* lisp/progmodes/sql.el: Fix use of string-empty-p in recent change.
Eli Zaretskii [Tue, 19 Feb 2019 18:58:53 +0000 (20:58 +0200)]
Fix input after setting x-wait-for-event-timeout nil
* src/w32term.c (x_make_frame_visible): Call unblock_input
before returning early. (Bug#34575)
Charles A. Roelli [Tue, 19 Feb 2019 18:54:44 +0000 (19:54 +0100)]
Simplify easy-mmode-define-navigation
* lisp/emacs-lisp/easy-mmode.el (easy-mmode-define-navigation):
Simplify a one-argument call to "or" and use buffer-narrowed-p instead
of checking that condition by hand.
Michael Albinus [Tue, 19 Feb 2019 13:00:17 +0000 (14:00 +0100)]
Implement access-file in Tramp
* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
* lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist):
* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
* lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler-alist):
* lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist)
* lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler-alist):
Add `access-file'.
* lisp/net/tramp-archive.el (tramp-archive-handle-access-file):
* lisp/net/tramp.el (tramp-handle-access-file): New defun.
(tramp-condition-case-unless-debug): Add declaration.
(tramp-handle-insert-directory):
* lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory):
* lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
Check, whether directory is accessible.
* test/lisp/net/tramp-archive-tests.el
(tramp-archive-test17-insert-directory)
(tramp-archive-test18-file-attributes):
* test/lisp/net/tramp-tests.el (tramp-test17-insert-directory)
(tramp-test18-file-attributes): Test error cases.
João Távora [Mon, 18 Feb 2019 20:41:09 +0000 (20:41 +0000)]
cycle-sort-function prevails in completion-all-sorted-completions
* lisp/minibuffer.el (completion-all-sorted-completions): If
completion table has cycle-sort-function, that prevails over other
sorting strategies.
João Távora [Mon, 18 Feb 2019 20:32:38 +0000 (20:32 +0000)]
switch-to-buffer's completion table uses its own sorting
* src/minibuf.c (Finternal_complete_buffer): Add
Qcycle_sort_function to completion table's metadata.
(syms_of_minibuf): New symbol Qcycle_sort_function.
Martin Rudalics [Tue, 19 Feb 2019 08:55:51 +0000 (09:55 +0100)]
Fix two warnings in eshell.texi
* doc/misc/eshell.texi (Built-ins, Globbing): Fix `.' or `,'
must follow @xref, not `f' warnings.
Michael R. Mauger [Tue, 19 Feb 2019 04:31:21 +0000 (23:31 -0500)]
Merge branch 'wallet'
Michael R. Mauger [Tue, 19 Feb 2019 04:15:54 +0000 (23:15 -0500)]
* lisp/progmodes/sql.el: Added password wallet using
`auth-source' package.
(sql-auth-source-search-wallet): New function.
(sql-password-wallet): New variable.
(sql-password-search-wallet-function): New variable.
(sql-get-login): Handle password wallet search.
(sql-product-interactive): Handle password function.
* test/lisp/progmodes/sql-test.el: Test wallet changes.
(sql-test-login-params): New test variable.
(with-sql-test-connect-harness): New macro to wrap test
configuration around calls to `sql-connect'.
(sql-test-connect, sql-test-connect-password-func)
(sql-test-connect-wallet-server-database)
(sql-test-connect-wallet-database)
(sql-test-connect-wallet-server): New ERT tests.
* etc/NEWS: Updated SQL Mode descriptions.
Stefan Monnier [Tue, 19 Feb 2019 04:11:25 +0000 (23:11 -0500)]
* lisp/mh-e/mh-acros.el (mh-defstruct): Minor simplification
Stefan Monnier [Tue, 19 Feb 2019 03:49:30 +0000 (22:49 -0500)]
* lisp/erc/erc.el (erc-version-string): Remove, unused
Michael R. Mauger [Tue, 19 Feb 2019 02:51:09 +0000 (21:51 -0500)]
* lisp/progmodes/sql.el defensive programming
(sql-statement-regexp): if 'ansi' dialect is not defined, use "select"
(sql-interactive-mode): establish process sentinel iff there is a
process. Default values for :prompt-regexp and :prompt-length.
(sql-product-interactive): only check process status iff there is a
process.
Stefan Monnier [Tue, 19 Feb 2019 00:00:44 +0000 (19:00 -0500)]
* lisp/elec-pair.el: Do modify+undo more carefully
(electric-pair-inhibit-if-helps-balance): Use the undo system
instead of undoing by hand.
Paul Eggert [Mon, 18 Feb 2019 22:51:26 +0000 (14:51 -0800)]
Speed up cl-list-length
* lisp/emacs-lisp/cl-extra.el (cl-list-length): Use ‘length’
to do the real work; this is simpler and uses a better algorithm.
Paul Eggert [Mon, 18 Feb 2019 22:42:45 +0000 (14:42 -0800)]
Minor profiler improvements
* src/profiler.c (evict_lower_half, record_backtrace)
(setup_cpu_timer, cmpfn_profiler, hashfn_profiler):
Assume C99. Use bool for boolean.
(timer_getoverrun): Remove; simplify use to not need it.
(Fprofiler_cpu_start): Any negative return from setup_cpu_timer fails.
(Fprofiler_cpu_stop): Simplify initialization.
Stefan Monnier [Mon, 18 Feb 2019 18:16:57 +0000 (13:16 -0500)]
* lisp/emacs-lisp/cl-lib.el (cl-endp): Move to cl-seq.el
Use 'cl-check-type'.
Stefan Monnier [Mon, 18 Feb 2019 18:00:44 +0000 (13:00 -0500)]
* lisp/minibuffer.el (completion-table-dynamic): Improve docstring
Ken Brown [Sun, 17 Feb 2019 17:10:26 +0000 (12:10 -0500)]
Use 'timer_getoverrun' on Cygwin when possible
* configure.ac: Add a check for the 'timer_getoverrun' function.
* src/profiler.c [CYGWIN] : Define 'timer_getoverrun' as a
macro only on versions of Cygwin where it is not already
defined as a function.
David Pathakjee [Mon, 18 Feb 2019 00:08:33 +0000 (16:08 -0800)]
* lisp/emacs-lisp/debug.el (debug-on-variable-change): Doc fix. (Bug#34518)
Copyright-paperwork-exempt: yes
Stefan Monnier [Mon, 18 Feb 2019 14:43:59 +0000 (09:43 -0500)]
* lisp/vc/smerge-mode.el (smerge-change-buffer-confirm): New var
(smerge-vc-next-conflict): Obey it. Save buffer before going to
the next. Don't emit message when vc-find-conflicted-file can't find
other conflicted file.
* lisp/vc/vc-hooks.el: Use lexical-binding.
* lisp/vc/vc.el: Remove redundant :groups.
(vc-find-conflicted-file): Autoload.
Konstantin Kharlamov [Mon, 18 Feb 2019 14:15:08 +0000 (09:15 -0500)]
* lisp/vc/smerge-mode.el (smerge-vc-next-conflict): New command
Copyright-paperwork-exempt: yes
Michael Albinus [Mon, 18 Feb 2019 09:54:45 +0000 (10:54 +0100)]
Increase timeout on emba for Tramp
* test/lisp/net/tramp-tests.el
(tramp--test-shell-command-to-string-asynchronously):
Increase timeout on emba.
Paul Eggert [Mon, 18 Feb 2019 08:18:11 +0000 (00:18 -0800)]
* src/fns.c: Fix comment.
Paul Eggert [Mon, 18 Feb 2019 07:17:12 +0000 (23:17 -0800)]
emacs-init-time outputs more digits now
* lisp/time.el (emacs-init-time): Output more digits;
formerly this was always outputting "0.0 seconds" for me
because the number of seconds was less than 0.1.
Paul Eggert [Mon, 18 Feb 2019 05:35:19 +0000 (21:35 -0800)]
* lisp/emacs-lisp/cl-lib.el (cl-endp): Remove stray 'x.
Juri Linkov [Sun, 17 Feb 2019 21:07:43 +0000 (23:07 +0200)]
* lisp/tar-mode.el (tar--try-jka-compr): Remove. (Bug#34251)
(tar-extract): Call archive-try-jka-compr instead of tar--try-jka-compr.
* lisp/arc-mode.el (archive-try-jka-compr): Call set-buffer-multibyte
after erase-buffer.
Alan Mackenzie [Sun, 17 Feb 2019 18:57:10 +0000 (18:57 +0000)]
Fontify C function identifiers in parentheses correctly (e.g. in lisp.h)
Fix handling of CC Mode's syntactic WS cache. Make noise-macro option
variables buffer local.
* lisp/progmodes/cc-engine.el (c-put-is-sws, c-put-in-sws, c-remove-is-sws)
(c-remove-in-sws c-remove-is-and-in-sws): Add edebug specs.
(c-invalidate-sws-region-before): Add a `beg' parameter. Handle noise
macros like other literals.
(c-invalidate-sws-region-after-del): Move the adjustment of (cdr
c-sws-lit-limits) due to buffer change to c-invalidate-sws-region-after.
(c-invalidate-sws-region-after-ins): Move (goto-char end) to the correct
place.
(c-invalidate-sws-region-after): Adjust (cdr c-sws-lit-limits) due to buffer
change. Handle noise macros.
(c-backward-sws): Set simple-ws-beg appropriately when the start point is in
the middle of a noise macro.
(c-forward-decl-or-cast-1): Recognize a function identifier being declared in
parentheses.
* lisp/promodes/cc-mode.el (c-before-change): Supply a `beg' argument to
c-invalidate-sws-region-before.
* lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-name-re)
(c-noise-macro-name-re, c-noise-macro-names, c-noise-macro-with-parens-names):
Make these buffer local variables.
Alan Mackenzie [Sun, 17 Feb 2019 18:33:54 +0000 (18:33 +0000)]
* Put INLINE and ATTRIBUTE_NO_SANITIZE_UNDEFINED into c-noise-macro-names
* .dir-locals (entry for c-mode): Put the two strings into
c-noise-macro-names.
Eli Zaretskii [Sun, 17 Feb 2019 15:30:40 +0000 (17:30 +0200)]
Fix a typo in ELisp manual
* doc/lispref/abbrevs.texi (Abbrev Table Properties): Fix a
typo. (Bug#34508)
Paul Eggert [Sat, 16 Feb 2019 19:20:09 +0000 (11:20 -0800)]
Update citations of Internet RFCs
For example, RFC 822 has been obsoleted by RFC 2822, which in
turn has been obsoleted by RFC 5322.
* doc/emacs/ack.texi, doc/lispref/os.texi:
* doc/misc/emacs-mime.texi, doc/misc/gnus-coding.texi:
* doc/misc/gnus.texi, doc/misc/sc.texi:
* lisp/calendar/parse-time.el, lisp/gnus/gnus-cite.el:
* lisp/gnus/gnus-util.el, lisp/gnus/message.el:
* lisp/gnus/mm-bodies.el, lisp/gnus/nnrss.el:
* lisp/mail/feedmail.el, lisp/mail/ietf-drums.el:
* lisp/mail/mail-extr.el, lisp/mail/mail-utils.el:
* lisp/mail/mailclient.el, lisp/mail/mailheader.el:
* lisp/mail/rfc2047.el, lisp/mail/rfc822.el, lisp/mail/rmail.el:
* lisp/mail/sendmail.el, lisp/mail/smtpmail.el:
* lisp/mail/supercite.el, lisp/mh-e/mh-e.el:
* lisp/mh-e/mh-utils.el, lisp/net/imap.el:
* lisp/net/newst-backend.el, lisp/org/org-id.el:
* lisp/ps-samp.el, lisp/simple.el, lisp/url/url-util.el:
Update RFC citations.
Paul Eggert [Sat, 16 Feb 2019 18:17:33 +0000 (10:17 -0800)]
* src/lread.c (readevalloop): Simplify via suffix_p.
Eli Zaretskii [Sat, 16 Feb 2019 14:52:53 +0000 (16:52 +0200)]
* lisp/startup.el (load--user-init-file): Support early-init.elc as well.
Stefan Monnier [Sat, 16 Feb 2019 14:19:33 +0000 (09:19 -0500)]
* lisp/startup.el: Rename load-user-init-file
Remove redundant :groups.
(startup--load-user-init-file): Rename from load-user-init-file.
Mattias Engdegård [Fri, 15 Feb 2019 18:27:48 +0000 (19:27 +0100)]
Prevent over-eager rx character range condensation
`rx' incorrectly considers character ranges between ASCII and raw bytes to
cover all codes in-between, which includes all non-ASCII Unicode chars.
This causes (any "\000-\377" ?Å) to be simplified to (any "\000-\377"),
which is not at all the same thing: [\000-\377] really means
[\000-\177\200-\377] (Bug#34492).
* lisp/emacs-lisp/rx.el (rx-any-condense-range): Split ranges going
from ASCII to raw bytes.
* test/lisp/emacs-lisp/rx-tests.el (rx-char-any-raw-byte): Add test case.
* etc/NEWS: Mention the overall change (Bug#33205).
Eli Zaretskii [Sat, 16 Feb 2019 09:51:25 +0000 (11:51 +0200)]
Fix handling of manpage references divided by hyphenation
* lisp/man.el (Man-reference-regexp): Accept a newline as part
of a manpage name only if it's preceded by a hyphen. (Bug#34286)
(Man-translate-references): Adapt to change in
'Man-reference-regexp'.
(Man-default-man-entry): Support references divided between
two lines by an ASCII hyphen. This is a left-over from fixing
bug#6289.
Paul Eggert [Sat, 16 Feb 2019 08:27:53 +0000 (09:27 +0100)]
Port tramp-adb to various 'touch' platforms
* lisp/net/tramp-adb.el (tramp-adb-handle-set-file-times):
Try nanoseconds first, then plain seconds, then touch -t.
Gregor Zattler [Fri, 15 Feb 2019 09:25:18 +0000 (10:25 +0100)]
* doc/misc/eshell.texi: Fix some @ref's.
Copyright-paperwork-exempt: yes
Eli Zaretskii [Sat, 16 Feb 2019 07:15:40 +0000 (09:15 +0200)]
Fix 'early-init-file' value when file is missing
* lisp/startup.el (command-line): Pass 'early-init.el', with
an explicit .el extension, to load-user-init-file.
Reported by Radon Rosborough <radon.neon@gmail.com> in
http://lists.gnu.org/archive/html/emacs-devel/2019-01/msg00314.html.
Eli Zaretskii [Sat, 16 Feb 2019 07:05:19 +0000 (09:05 +0200)]
Fix a typo in lispref/syntax.texi
* doc/lispref/syntax.texi (Syntax Table Internals): Fix a
typo. (Bug#34495)
Stefan Monnier [Sat, 16 Feb 2019 00:07:20 +0000 (19:07 -0500)]
* lisp/progmodes/cc-engine.el: Remove unneeded require of 'cl'
Stefan Monnier [Fri, 15 Feb 2019 23:34:38 +0000 (18:34 -0500)]
Merge branch 'master' of git+ssh://git.sv.gnu.org/srv/git/emacs into trunk
Stefan Monnier [Fri, 15 Feb 2019 23:02:40 +0000 (18:02 -0500)]
* src/lread.c (readevalloop): Use filename to decide macroexpansion
Glenn Morris [Fri, 15 Feb 2019 21:49:27 +0000 (16:49 -0500)]
* test/lisp/textmodes/conf-mode-tests.el (conf-test-align-assignments):
Fix whitespace.
Glenn Morris [Fri, 15 Feb 2019 21:25:31 +0000 (13:25 -0800)]
Merge from origin/emacs-26
f721084 (origin/emacs-26) Avoid errors in erc-dcc.el when erc-dcc-ver...
3cba92d Fix faces in compilation messages
Glenn Morris [Fri, 15 Feb 2019 21:25:31 +0000 (13:25 -0800)]
; Merge from origin/emacs-26
The following commit was skipped:
834ca18 * doc/misc/eshell.texi (Built-ins): Fix alias description
Glenn Morris [Fri, 15 Feb 2019 21:25:31 +0000 (13:25 -0800)]
Merge from origin/emacs-26
25d9fe2 Work for empty MIME attachments (related to bug#34387)
Glenn Morris [Fri, 15 Feb 2019 21:25:30 +0000 (13:25 -0800)]
; Merge from origin/emacs-26
The following commits were skipped:
58e0e92 Backport: js-indent-align-list-continuation: Make variable safe
6d89120 Avoid crashes upon C-g in nested invocations of 'read_char'
Glenn Morris [Fri, 15 Feb 2019 21:25:30 +0000 (13:25 -0800)]
Merge from origin/emacs-26
3f4b8e9 * src/data.c (Fmake_local_variable): Fix bug#34318
b384996 Minor fixes in ELisp manual wrt syntax-table properties
71fc6d2 * admin/notes/emba: New file.
3aaa2d2 Fix Hunspell invocation for discovering its dictionaries
# Conflicts:
# test/src/data-tests.el
Stefan Monnier [Fri, 15 Feb 2019 15:29:02 +0000 (10:29 -0500)]
* lisp/progmodes/compile.el: Remove redundant :groups
(compilation-shell-minor-mode, compilation-minor-mode): Use :lighter
rather than the old positional args.
(compilation-next-error): Make "No error here" into a user-error.
Eli Zaretskii [Fri, 15 Feb 2019 13:45:23 +0000 (15:45 +0200)]
Make ls-lisp.el behave like Posix hosts when directory doesn't exist
* lisp/ls-lisp.el (ls-lisp-insert-directory): For a directory
that cannot be accessed, signal an error, like insert-directory
does on Posix systems. This causes files-tests.el to pass on
MS-Windows.
Eli Zaretskii [Fri, 15 Feb 2019 10:22:49 +0000 (12:22 +0200)]
Support ~USER for some names on MS-Windows
* src/w32.c (getpwnam): Support usernames provided through
LOGNAME or USERNAME environment variables, to mimic what
editfns.c:init_editfns does.
Alex Branham [Mon, 11 Feb 2019 22:08:55 +0000 (16:08 -0600)]
Add basic conf-mode tests
* test/lisp/textmodes/conf-mode-tests.el: New file with tests for
conf-mode. Mostly taken from conf-mode docstrings. (Bug#34419)
Alex Branham [Sun, 10 Feb 2019 20:32:29 +0000 (14:32 -0600)]
Use lexical binding for conf-mode
* lisp/textmodes/conf-mode.el: Use lexical binding.
(conf-align-assignments, conf-quote-normal, conf-mode-initialize):
Doc fix. (Bug#34419)
Eli Zaretskii [Fri, 15 Feb 2019 08:33:01 +0000 (10:33 +0200)]
Add documentation for last change in eww.el
* doc/misc/eww.texi (Basics): Document the prefix arg effect
on "M-x eww". (Bug#34374)
* etc/NEWS: Mention the change in behavior of 'eww'.
İ. Göktuğ Kayaalp [Sat, 9 Feb 2019 14:41:31 +0000 (17:41 +0300)]
* lisp/net/eww.el (eww): With prefix arg, open url in new buffer.
Bug#34374
Victor J. Orlikowski [Sun, 10 Feb 2019 16:13:57 +0000 (11:13 -0500)]
Avoid errors in erc-dcc.el when erc-dcc-verbose is non-nil
* lisp/erc/erc-dcc.el (erc-dcc-get-filter): Don't assume STR
is always a string. Use 'buffer-name' to get the DCC file
name, as buffer-file-name is not set in the process buffer.
Copyright-paperwork-exempt: yes
Daniel Lopez [Thu, 14 Feb 2019 16:05:10 +0000 (16:05 +0000)]
Fix faces in compilation messages
* lisp/progmodes/compile.el (compilation-parse-errors): Don't
clobber the value of TYPE inside the loop. (Bug#34479)
Copyright-paperwork-exempt: yes
Gregor Zattler [Wed, 13 Feb 2019 20:01:17 +0000 (21:01 +0100)]
* doc/misc/eshell.texi (Built-ins): Fix alias description
Dear eamcs developers, eshells current documentation first states
that alias definitions are not saved to an alias file, later that
they are saved to an alias file. I tested it and the latter is
correct.
Please find attached a patch which fixes this.
Thanks for working on emacs which is really great, Gregor
>From
1fe51cc769ab7a30d0896fb3d6105c0561243fa7 Mon Sep 17 00:00:00 2001
From: Gregor Zattler <telegraph@gmx.net>
Date: Wed, 13 Feb 2019 20:19:38 +0100
Subject: * doc/misc/eshell.texi (Built-ins): Fix alias description.
Bring description of built-in 'alias' in line with (info "(eshell) Aliases"),
which describes the actual behaviur.
(cherry picked from commit
a48099ce7ff63cda416a870766fe61f5b8ac7c2c)
João Távora [Thu, 14 Feb 2019 23:33:49 +0000 (23:33 +0000)]
Change scoring strategy for 'flex' completion style
The previous strategy had problems comparing scores of matches to
strings of different lengths. This one seems slightly more sensible,
and uses a new constant `flex-score-match-tightness' instead of the
more abstract `flex-score-falloff'.
It's not completely without problems, and I think it shouldn't count
"holes" at the front and at the back, but that needs a different
"pattern-to-regexp" conversion in completion-pcm--hilit-commonality.
(defun test ()
(mapcar (lambda (a)
(cons (substring-no-properties a)
(get-text-property 0 'completion-score a)))
(sort (completion-pcm--hilit-commonality
'(prefix "f" star "o" star "o" point)
'("foo"
"barfoobaz"
"foobarbaz"
"barbazfoo"
"fabrobazo"
"foot"
"foto"
"fotttttttttttttttttttttttto"))
(lambda (a b)
(> (get-text-property 0 'completion-score a)
(get-text-property 0 'completion-score b))))))
(let ((flex-score-match-tightness 100)) (test))
=> (("foo" . 1.0)
("foot" . 0.375)
("foto" . 0.375)
("foobarbaz" . 0.
16260162601626016) ;; one hole
("barbazfoo" . 0.
16260162601626016) ;; one hole
("barfoobaz" . 0.
10964912280701755) ;; two holes
("fabrobazo" . 0.
10964912280701755) ;; two holes
("fotttttttttttttttttttttttto" . 0.
04982561036372696))
(let ((flex-score-match-tightness 0.1)) (test))
=> (("foo" . 1.0)
("foot" . 0.375)
("foto" . 0.375)
("barfoobaz" . 0.
007751937984496124) ;; two holes
("fabrobazo" . 0.
007751937984496124) ;; two holes
("foobarbaz" . 0.
00641025641025641) ;; one hole
("barbazfoo" . 0.
00641025641025641) ;; one hole
("fotttttttttttttttttttttttto" . 0.
0004789272030651341))
* lisp/minibuffer.el (flex-score-falloff): Rename to
flex-score-match-tightness.
(completion-pcm--hilit-commonality): Update function.
Mattias Engdegård [Thu, 14 Feb 2019 15:09:55 +0000 (16:09 +0100)]
Add categories L, R, SPC and . to `rx' doc string
* lisp/emacs-lisp/rx.el (rx): Add new categories to doc string.