1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-04-27 08:43:40 -07:00
Commit graph

135366 commits

Author SHA1 Message Date
Michael Albinus
0a6c4479cf 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.
2019-02-19 14:00:17 +01:00
João Távora
e8b6cc9a99 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.
2019-02-19 09:11:28 +00:00
João Távora
55478e4ad7 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.
2019-02-19 09:11:28 +00:00
Michael R. Mauger
3700375334 Merge branch 'wallet' 2019-02-18 23:31:21 -05:00
Michael R. Mauger
1a6bcc91e3 * 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.
2019-02-18 23:15:54 -05:00
Stefan Monnier
3f6e4c1ce5 * lisp/mh-e/mh-acros.el (mh-defstruct): Minor simplification 2019-02-18 23:11:25 -05:00
Stefan Monnier
a755dc13ab * lisp/erc/erc.el (erc-version-string): Remove, unused 2019-02-18 22:49:30 -05:00
Michael R. Mauger
ed1e805af7 * 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.
2019-02-18 21:52:36 -05:00
Stefan Monnier
e66d5a1c45 * lisp/elec-pair.el: Do modify+undo more carefully
(electric-pair-inhibit-if-helps-balance): Use the undo system
instead of undoing by hand.
2019-02-18 19:00:44 -05:00
Paul Eggert
a812ed215c 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.
2019-02-18 14:52:37 -08:00
Paul Eggert
5d46862440 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.
2019-02-18 14:43:19 -08:00
Stefan Monnier
e6f8ddbb3b * lisp/emacs-lisp/cl-lib.el (cl-endp): Move to cl-seq.el
Use 'cl-check-type'.
2019-02-18 13:16:57 -05:00
Ken Brown
eccfdaff5b 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.
2019-02-18 12:16:06 -05:00
Stefan Monnier
2ede38ce4b * 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.
2019-02-18 09:43:59 -05:00
Konstantin Kharlamov
2eecaa2897 * lisp/vc/smerge-mode.el (smerge-vc-next-conflict): New command
Copyright-paperwork-exempt: yes
2019-02-18 09:15:08 -05:00
Michael Albinus
b05702d7eb Increase timeout on emba for Tramp
* test/lisp/net/tramp-tests.el
(tramp--test-shell-command-to-string-asynchronously):
Increase timeout on emba.
2019-02-18 10:54:45 +01:00
Paul Eggert
287dd6baa3 * src/fns.c: Fix comment. 2019-02-18 00:18:35 -08:00
Paul Eggert
9cb2cb9725 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.
2019-02-17 23:17:37 -08:00
Paul Eggert
43f6fd434d * lisp/emacs-lisp/cl-lib.el (cl-endp): Remove stray 'x. 2019-02-17 21:35:55 -08:00
Juri Linkov
4f24b4a6df * 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.
2019-02-17 23:07:43 +02:00
Alan Mackenzie
adeea448bc 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.
2019-02-17 18:57:10 +00:00
Alan Mackenzie
7898568bbb * 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.
2019-02-17 18:33:54 +00:00
Paul Eggert
5c158d1320 * src/lread.c (readevalloop): Simplify via suffix_p. 2019-02-16 10:18:07 -08:00
Eli Zaretskii
2208c01264 * lisp/startup.el (load--user-init-file): Support early-init.elc as well. 2019-02-16 16:52:53 +02:00
Stefan Monnier
6b7b85b60e * lisp/startup.el: Rename load-user-init-file
Remove redundant :groups.
(startup--load-user-init-file): Rename from load-user-init-file.
2019-02-16 09:19:33 -05:00
Mattias Engdegård
478bbf7c80 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).
2019-02-16 12:43:32 +01:00
Paul Eggert
aff0c58506 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.
2019-02-16 09:27:53 +01:00
Eli Zaretskii
3d9a56f000 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.
2019-02-16 09:15:40 +02:00
Stefan Monnier
f390147f7b * lisp/progmodes/cc-engine.el: Remove unneeded require of 'cl' 2019-02-15 19:07:20 -05:00
Stefan Monnier
fd0ab0b9bd Merge branch 'master' of git+ssh://git.sv.gnu.org/srv/git/emacs into trunk 2019-02-15 18:34:38 -05:00
Stefan Monnier
3c80bc3337 * src/lread.c (readevalloop): Use filename to decide macroexpansion 2019-02-15 18:02:40 -05:00
Glenn Morris
a298a1f6b2 * test/lisp/textmodes/conf-mode-tests.el (conf-test-align-assignments):
Fix whitespace.
2019-02-15 17:16:06 -05:00
Glenn Morris
b15e6e456d 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
2019-02-15 13:25:31 -08:00
Glenn Morris
613f9740e4 ; Merge from origin/emacs-26
The following commit was skipped:

834ca18 * doc/misc/eshell.texi (Built-ins): Fix alias description
2019-02-15 13:25:31 -08:00
Glenn Morris
92a2c737b9 Merge from origin/emacs-26
25d9fe2 Work for empty MIME attachments (related to bug#34387)
2019-02-15 13:25:31 -08:00
Glenn Morris
38b442429b ; 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'
2019-02-15 13:25:30 -08:00
Glenn Morris
a29c70d29b 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
2019-02-15 13:25:30 -08:00
Stefan Monnier
877eba7249 * 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.
2019-02-15 10:29:02 -05:00
Eli Zaretskii
00b8c7ef96 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.
2019-02-15 15:45:23 +02:00
Eli Zaretskii
4d00262a8e 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.
2019-02-15 12:22:49 +02:00
Alex Branham
c3f87efe3a 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)
2019-02-15 10:40:13 +02:00
Alex Branham
cef2489379 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)
2019-02-15 10:38:11 +02:00
Eli Zaretskii
b439b4393c 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'.
2019-02-15 10:33:01 +02:00
İ. Göktuğ Kayaalp
3fa003a134 * lisp/net/eww.el (eww): With prefix arg, open url in new buffer.
Bug#34374
2019-02-15 10:24:14 +02:00
Victor J. Orlikowski
f721084f78 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
2019-02-15 10:13:00 +02:00
Daniel Lopez
3cba92d42e 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
2019-02-15 09:59:16 +02:00
Gregor Zattler
834ca187b8 * 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 a48099ce7f)
2019-02-15 09:42:48 +02:00
João Távora
0d19e08da6 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.
2019-02-14 23:33:49 +00:00
Mattias Engdegård
a4c7de35de Add categories L, R, SPC and . to `rx' doc string
* lisp/emacs-lisp/rx.el (rx): Add new categories to doc string.
2019-02-14 16:09:55 +01:00
Mattias Engdegård
e205092081 Use lexical-binding in rx.el
* lisp/emacs-lisp/rx.el: Use lexical-binding.
(rx-form): Use `let' to bind the dynamic variable `rx-parent' instead
of binding it as an argument.
2019-02-14 15:28:58 +01:00