1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-08 20:50:52 -08:00
Commit graph

68529 commits

Author SHA1 Message Date
Michael Albinus
6b2f3ba02a Fix Bug#26127
* lisp/filenotify.el (file-notify--rm-descriptor): Check, that
there is a function which could be called.  (Bug#26127)

* test/lisp/filenotify-tests.el (file-notify--test-cleanup):
Clear also `file-notify-descriptors'.
(file-notify--test-make-temp-name): Move up.
(file-notify-test02-rm-watch): New test.
(file-notify-test03-events, file-notify-test04-autorevert)
(file-notify-test05-file-validity)
(file-notify-test06-dir-validity)
(file-notify-test07-many-events, file-notify-test08-backup)
(file-notify-test09-watched-file-in-watched-dir)
(file-notify-test10-sufficient-resources): Rename.
2017-03-17 10:25:46 +01:00
Stefan Monnier
ffbb468499 Add obarray-size and fix tests accordingly. Use obarrayp in cedet.
* lisp/obarray.el (obarray-size): New function.

* lisp/cedet/semantic/lex-spp.el (semantic-lex-spp-symbol)
(semantic-lex-spp-save-table, semantic-lex-spp-macros):
* lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment):
Use obarrayp.

* test/lisp/obarray-tests.el (obarray-make-default-test)
(obarray-make-with-size-test): Use it.
2017-03-16 12:31:07 -04:00
Stefan Monnier
f6b995ef4e (semantic-lex-type-invalid): Fix nested backquote.
* lisp/cedet/semantic/lex.el: Use lexical-binding.
(semantic-lex-type-invalid): Fix nested backquote.
(semantic-lex-map-symbols, semantic-lex-type-symbol)
(semantic-lex-keyword-symbol): Use obarrayp.
2017-03-16 09:44:56 -04:00
Michael Albinus
a3207a3830 * lisp/ido.el (ido-read-internal, ido-complete): Do not bind `non-essential'. 2017-03-15 11:24:23 +01:00
Mark Oteiza
0cfe3ee457 Write a named function
* lisp/comint.el (comint-nonblank-p): New function.
(comint-input-filter): Use it.
2017-03-15 01:12:48 -04:00
Mark Oteiza
d5260473de Replace more nested ifs with cond
This is a continuation of 0db5ba4 "Replace nested ifs with cond".
* lisp/play/dunnet.el (dun-special-object, dun-inven, dun-drop):
(dun-drop-check, dun-swim, dun-break): Use when and cond where
appropriate.
(dun-examine): Fix indentation.
(dun-doverb): Use when.
(dun-read-line): Refactor.
2017-03-15 00:42:25 -04:00
Noam Postavsky
c66aaa6163 Recomplexify ‘delete-trailing-whitespace’ by treating \n as whitespace again
Mostly reverts "Simplify ‘delete-trailing-whitespace’ by not treating
\n as whitespace" from 2016-07-04.  Setting \n to non-whitespace
causes the regex engine to backtrack a lot when searching for
"\\s-+$" (Bug#26079).

* lisp/simple.el (delete-trailing-whitespace): Don't change newline
syntax, search for "\\s-$" and then skip backward over trailing
whitespace.
2017-03-14 22:14:30 -04:00
Michael Albinus
19a04b4c32 Tune `tramp-completion-file-name-regexp-unified'
* lisp/net/tramp.el (tramp-completion-file-name-regexp-unified):
Extend this regexp to match also "/".
2017-03-14 15:10:40 +01:00
Tino Calancha
0f3d1b7823 Show ancestor buffer in 3way merges
Add an option ediff-show-ancestor', to control if the ancestor buffer
must be shown in 3way merges (Bug#25493); set it non-nil by default.
Add a toggle to change this option interactively; the original
value of the option is restored on exit.

Update the window setup so that the ancestor buffer is
shown in 3way merges when ediff-show-ancestor is non-nil.

Any operation on ediff windows must take in account the
ancestor window as well, when this is shown.

* lisp/vc/ediff-init.el (ediff-show-ancestor): New option.
(ediff--show-ancestor-orig): New defvar.
* lisp/vc/ediff-wind.el (ediff-window-Ancestor): New defvar.
(ediff-setup-windows-plain-merge, ediff-setup-windows-multiframe-merge):
Display ancestor buffer if ediff-show-ancestor is non-nil.
(ediff-keep-window-config): Expect ancestor window in
ediff-window-config-saved.
(ediff-window-alist): Add entry for the ancestor window.
* lisp/vc/ediff-util.el (ediff-setup-control-buffer):
ediff-window-config-saved contains ancestor window.
(ediff-show-ancestor): Delete this command.
(ediff-setup-keymap): Bind ediff-toggle-show-ancestor to '/' for merge jobs.
(ediff-update-diffs): Compute new diffs using ancestor buffer in 3way merges;
don't cheat it to think that is performing a comparison, that trick is not
necessary anymore: simply call 'ediff-setup-diff-regions-function'
with file-A, file-B and the file ancestor.
(ediff-recenter): Update doc string.  Consider the ancestor buffer.
(ediff--check-ancestor-exists): New defun.
(ediff-toggle-show-ancestor): New command; toggle ediff-show-ancestor.
(ediff--restore-options-on-exit): Restore ediff-show-ancestor on exit.
(ediff-scroll-vertically, ediff-scroll-horizontally)
(ediff-operate-on-windows): Consider the ancestor as well.
* lisp/vc/ediff-help.el (ediff-long-help-message-merge):
List ediff-toggle-show-ancestor.
* doc/misc/ediff.texi (Introduction, Quick Help Commands): Update manual.
; * etc/NEWS: Announce these changes.
2017-03-14 16:12:29 +09:00
Tino Calancha
e39d593475 diff-mode: Improve default faces for buffer ancestor
* lisp/vc/ediff-init.el (ediff-current-diff-Ancestor)
(ediff-fine-diff-Ancestor): Use defaults consistent with
faces for 'ediff-buffer-A' and 'ediff-buffer-B'.
2017-03-14 15:19:20 +09:00
Michael Albinus
ed33337c3e Require method in remote file name syntax
* lisp/minibuffer.el (completion--nth-completion):
Do not bind `non-essential'.

* lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
* lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
* lisp/net/tramp-sh.el (tramp-maybe-open-connection):
* lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Do not call
`tramp-check-proper-method-and-host'.

* lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Better traces.
(tramp-maybe-open-connection): Do not use argument for
´tramp-completion-mode-p'.

* lisp/net/tramp.el (tramp-default-method-marker): New defconst.
(tramp-prefix-format, tramp-postfix-method-format)
(tramp-prefix-ipv6-format, tramp-postfix-ipv6-format)
(tramp-prefix-port-format, tramp-postfix-host-format)
(tramp-file-name-regexp, tramp-completion-file-name-regexp):
Use `eq' instead of `eqal'.
(tramp-method-regexp, tramp-domain-regexp)
(tramp-remote-file-name-spec-regexp)
(tramp-file-name-regexp-unified)
(tramp-completion-file-name-regexp-unified)
(tramp-completion-file-name-regexp-separate): Adapt regexp.
(tramp-completion-file-name-handler-alist)
(tramp-run-real-handler): Autoload them.
(tramp-find-method): Handle `tramp-default-method-marker'.
(tramp-check-proper-method-and-host)
(tramp-completion-run-real-handler): Remove them.
(tramp-error-with-buffer, tramp-connectable-p): Do not use
argument for ´tramp-completion-mode-p'.
(tramp-find-foreign-file-name-handler): Remove COMPLETION
argument.  Do not apply heuristic for completion.
(tramp-file-name-handler): Do not modify `non-essential'.
(tramp-completion-file-name-handler): Change implementation.
(tramp-autoload-file-name-handler)
(tramp-completion-handle-file-name-all-completions):
Call `tramp-run-real-handler'.
(tramp-completion-mode-p): Do not autoload.  Remove argument.
Do not apply heuristic for completion.
(tramp-completion-dissect-file-name): Simplify implementation.
(tramp-handle-file-name-as-directory): Call `tramp-connectable-p'.

* test/lisp/net/tramp-tests.el (tramp-test01-file-name-syntax)
(tramp-test02-file-name-dissect)
(tramp-test03-file-name-defaults)
(tramp-test06-directory-file-name): Adapt to the new syntax.
(tramp-test11-copy-file, tramp-test12-rename-file)
(tramp--test-check-files): Deactivate temporarily tests with
quoted file names.
(tramp-test16-directory-files, tramp-test17-insert-directory):
Adapt tests.
(tramp-test24-file-name-completion): Do not check for
completion mode.
(tramp-test31-make-auto-save-file-name): Deactivate temporarily
two tests.
2017-03-13 18:05:59 +01:00
Stefan Monnier
94b59f7dd1 * lisp/emacs-lisp/cl-print.el (cl-print-compiled): New variable
(cl-print-object) <compiled-function>: Print the docstring and
interactive form.  Obey cl-print-compiled.
2017-03-12 22:09:02 -04:00
Noam Postavsky
cf670b49a7 Fix indent-sexp when called from inside a string (Bug#21343)
* lisp/emacs-lisp/lisp-mode.el (indent-sexp): Get initial syntax parse
state from `syntax-ppss'.
2017-03-12 20:08:32 -04:00
Noam Postavsky
3ee3995d10 * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Simplify.
* test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp):
(indent-subsexp, indent-sexp-in-string): New tests.
2017-03-12 20:08:32 -04:00
Stefan Monnier
1b42453367 Use switch on pseudovector types; plus cleanups along the way
* src/lisp.h (PSEUDOVECTOR_TYPE): New function, extracted from mark_object.
(PSEUDOVECTOR_TYPEP): Change type of `code'.

* src/alloc.c (sweep_vectors): Remove out-of-date assertion.
(mark_object): Use PSEUDOVECTOR_TYPE.

* src/data.c (Ftype_of): Use switch on pvec type.

* src/print.c (print_object): Use switch on pvec type.

* lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-types):
Add recently added types.
2017-03-12 17:44:13 -04:00
Paul Eggert
995be66f0f Install update-game-score only on request
Most distributions do not install update-game-score properly
due to setuid/setgid complications, so install it only when
the installer specifies a user or group (Bug#25895).
* .gitattributes: Remove lib-src/update-game-score.exe.manifest.
* Makefile.in (gameuser, gamegroup, use_gamedir, PATH_GAME):
New vars.
(epaths-force): Use PATH_GAME.
(uninstall): Remove snake-scores and tetris-scores only if shared.
* configure.ac: Default --with-gameuser to 'no'.
(UPDATE_MANIFEST): Remove.
* etc/NEWS: Mention this.
* lib-src/Makefile.in (UPDATE_MANIFEST): Remove.
(use_gamedir): New macro.
(UTILITIES): Remove update-game-score unless use_gamedir.
(SCRIPTS): Remove $(UPDATE_MANIFEST).
($(DESTDIR)${archlibdir}): Install game directory program and data
only if use_gamedir.
* lib-src/update-game-score.exe.manifest: Remove, as
update-game-score is no longer installed on MS-Windows.
* lisp/play/gamegrid.el (gamegrid-add-score-with-update-game-score):
Use auxiliary program only if setuid or setgid.
* make-dist: Do not distribute update-game-score.exe.manifest.
* src/callproc.c (init_callproc):
Set Vshared_game_score_directory based on PATH_GAME, not DOS_NT.
(syms_of_callproc): Remove unnecessary initialization of
Vshared_game_score_directory.
2017-03-12 12:04:10 -07:00
Simen Heggestøyl
f7040f5b16 Add `touch-action' to list of CSS properties
* lisp/textmodes/css-mode.el (css-property-alist): Add `touch-action'
property.
2017-03-12 16:54:15 +01:00
Glenn Morris
3175b53533 Remove trivial duplication in epg-config
* lisp/epg-config.el (epg-config--program-alist):
Use epg-gpg-minimum-version.
2017-03-11 17:22:56 -08:00
Glenn Morris
cce29d942d Small epg-find-configuration improvement
* lisp/epg-config.el (epg-find-configuration):
Handle epg-gpg-program customized but not saved.  (Bug#25947)
2017-03-11 17:21:20 -08:00
Stefan Monnier
46fcaf3361 Improve last change
* lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
Use ppss to check escaping and add help-echo.
2017-03-11 16:36:23 -05:00
Stefan Monnier
4086d850dc Highlight useless backslashes in Elisp strings
* lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
Put warning face on backslashes that have no effect.
2017-03-11 11:35:14 -05:00
Glenn Morris
b2f20aa60b Small improvement for epa-display-error (bug#24553)
* lisp/epa.el (epa-display-error): Report the actual program in use.
2017-03-10 15:14:33 -05:00
Paul Eggert
26848af97f Simplify checks for xdg-open and xdg-email
browse-url's xdg-open detection was too picky on some GNU/Linux
desktops; see Bug#25778.  Simplify the code by assuming xdg-open works
if it is executable, as nowadays this is more likely to be correct than
trying to use heuristics from a few years ago.  Don't test for nohup: it
is ineffective nowadays, as xdg-open's child uses the default action for
SIGHUP even if xdg-open's invoker ignores SIGHUP.  While we're at it,
allow for Wayland here, as "emacs -nw" might be running in a non-X
Wayland terminal.
* lisp/mail/emacsbug.el (report-emacs-bug-can-use-xdg-email):
* lisp/net/browse-url.el (browse-url-can-use-xdg-open):
Simplify to a test for DISPLAY and whether the helper program is
executable.  Allow WAYLAND_DISPLAY as an option.
2017-03-09 19:02:35 -08:00
Vibhav Pant
092071345f Byte compile cond clauses without any bodies correctly.
* lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table): When a
cond clause has no body, push t on to the stack.
2017-03-10 00:22:35 +05:30
Michael Albinus
37b88d7b92 Fix bug#23006
* lisp/minibuffer.el (completion--nth-completion):
Let-bind `non-essential'.

* lisp/net/tramp.el (tramp-completion-mode): Fix docstring.
(tramp-completion-mode-p): Optional parameter VEC.  Replace
check for `last-input-event' by analysing VEC argument.
(tramp-error-with-buffer, tramp-file-name-handler)
(tramp-connectable-p, tramp-handle-file-name-as-directory):
* lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it.
2017-03-09 19:44:37 +01:00
Sam Steingold
e4fff0ff2a Replace change-log-date-face -> change-log-date
This fixes c430f7e23f.
2017-03-08 13:32:21 -05:00
Michael Albinus
a158b351e7 Fix bug#26011
* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer):
Check, whether file is too large.  (Bug#26011)
2017-03-08 17:27:24 +01:00
Stefan Monnier
1a6597660a * lisp/emacs-lisp/cl-print.el (cl-print-object): Use #f(..) for functions. 2017-03-07 20:35:40 -05:00
Glenn Morris
be538ba778 ; Update ldefs-boot.el 2017-03-07 13:00:05 -05:00
Eli Zaretskii
95f3fd2040 Support browsing URLs with embedded spaces on MS-Windows
* lisp/net/browse-url.el (browse-url-default-windows-browser):
Unhex %XX hex-encoded characters, as w32-shell-execute doesn't
support that in file:// URLs.  (Bug#26014)
2017-03-07 18:37:58 +02:00
Paul Eggert
641ce935b7 ; Typo fixes in comment 2017-03-07 07:44:36 -08:00
Phillip Lord
542a763281 Revert "Replace ldefs-boot with a much smaller file"
This reverts commit c27b645956.

This commit has been reverted because the new mechanism was too
sensitive to changes in the lisp source, generation of new ldefs-boot
files was platform specific and resulted in warnings about undefined
variables.

See also 11436e2890d.
2017-03-07 13:49:48 +00:00
Phillip Lord
e37bfd4154 Revert "Record autoloads till emacs dump"
This reverts commit 72c668a904.

This commit has been reverted because the new mechanism was too
sensitive to changes in the lisp source, generation of new ldefs-boot
files was platform specific and resulted in warnings about undefined
variables.

See also 11436e2890d.
2017-03-07 13:49:43 +00:00
Phillip Lord
7f5ad6b3c0 Revert "Remove unused ldefs-boot.el"
This reverts commit ef8c9f8fc9.

This commit has been reverted because the new mechanism was too
sensitive to changes in the lisp source, generation of new ldefs-boot
files was platform specific and resulted in warnings about undefined
variables.

See also 11436e2890d.
2017-03-07 13:49:39 +00:00
Phillip Lord
41ed3c3da6 Revert "Remove conditional includes from bootstrap"
This reverts commit 1b94630518.

This commit has been reverted because the new mechanism was too
sensitive to changes in the lisp source, generation of new ldefs-boot
files was platform specific and resulted in warnings about undefined
variables.

See also 11436e2890d.
2017-03-07 13:49:31 +00:00
Phillip Lord
8f58747a87 Revert "Speed generation of ldefs-boot-auto"
This reverts commit 7b5e1c8238.

This commit has been reverted because the new mechanism was too
sensitive to changes in the lisp source, generation of new ldefs-boot
files was platform specific and resulted in warnings about undefined
variables.

See also 11436e2890d.
2017-03-07 13:48:20 +00:00
Phillip Lord
11436e2890 Revert "Fix minor problems with loaddefs autogeneration"
This reverts commit f2bd2c1e64.

This commit has been reverted because the new mechanism was too
sensitive to changes in the lisp source, generation of new ldefs-boot
files was platform specific and resulted in warnings about undefined
variables.
2017-03-07 13:46:48 +00:00
Noam Postavsky
66b7543eab Set default when asking for send-mail-function (Bug#25874).
* lisp/mail/sendmail.el (sendmail-query-user-about-smtp): Pass first
option as default for `completing-read'.
2017-03-06 23:06:29 -05:00
Paul Eggert
788a5b8447 ; Spelling fixes 2017-03-05 08:19:06 -08:00
martin rudalics
702aecac26 In `window--display-buffer' fix behavior reported in Bug#25946
* lisp/window.el (window--display-buffer): Set the dedicated
status of the window used and clear its history of previous
buffers also for the case that the window already shows the
buffer to be displayed.  (Bug#25946)
2017-03-05 12:26:26 +01:00
Eli Zaretskii
c26005455b Fix header shown by Info 'L' command
* lisp/info.el (Info-history-find-node): A better heading for the
list of visited nodes.  (Bug#25876)
2017-03-04 17:37:53 +02:00
Eli Zaretskii
f2bd2c1e64 Fix minor problems with loaddefs autogeneration
* admin/ldefs-clean.el (ldefs-clean): Bind coding-system-for-read
and coding-system-for-write, to produce a UTF-8 file with Unix
EOLs on MS-Windows.

* lisp/ldefs-boot-manual.el (image-type): Add autoload cookie.
2017-03-04 13:23:52 +02:00
David Bremner
43e792cd7f Fix issues with dedicated windows in shr.el
* lisp/net/shr.el (shr-pixel-buffer-width, shr-render-td-1): Make
the window not dedicated, to avoid errors if it was, before
setting its buffer temporarily.  (Bug#25828)

Copyright-paperwork-exempt: yes
2017-03-04 12:19:32 +02:00
Glenn Morris
69dde0c54c Avoid duplicate gud menu items with gdb-mi
* lisp/progmodes/gud.el (gud-menu-map): Avoid duplicate "Run"
entries in gdbmi mode.  (Bug#23923)
2017-03-03 19:46:57 -05:00
Eli Zaretskii
7b00e956b4 Fix color component calculations in color.el
* lisp/color.el (color-name-to-rgb): Use 16 bits per color component.
(color-rgb-to-hex): Accept an optional argument
DIGITS-PER-COMPONENT, defaulting to 4, and format the hexadecimal
notation either for 8 or 16 bits per component.  (Bug#25890)
* lisp/net/shr-color.el (shr-color->hexadecimal): Call
color-rgb-to-hex with the optional argument of 2, to match color
processing on the Web.
2017-03-03 16:05:02 +02:00
Tino Calancha
244de7b0ed Use lexical binding in benchmark.el
* lisp/emacs-lisp/benchmark.el: Enable lexical binding.
(benchmark-elapse): Use 'declare'.
* test/lisp/emacs-lisp/benchmark-tests.el: Add test suite.
2017-03-03 18:26:30 +09:00
Noam Postavsky
f5388ba8a7 Switch pp.el to lexical binding
Additionally, do some minor code cleanup.

* lisp/emacs-lisp/pp.el: Set lexical-binding.
(pp-buffer): Use skip-syntax-forward.
(pp-eval-expression): Use push.
(pp-last-sexp): Use with-syntax-table.
* test/lisp/emacs-lisp/pp-tests.el: New tests.
2017-03-02 23:03:20 -05:00
Chunyang Xu
55c0c3e31b Fix completing-read call in reb-change-syntax
* lisp/emacs-lisp/re-builder.el (reb-change-syntax): Use 'default' arg
of completing-read.

Copyright-paperwork-exempt: yes
2017-03-02 19:01:18 -05:00
Rolf Ade
71871670c8 sql-mode w/ sqlite: In-memory database
Enable the usage of an in-memory database. Prior to this, sql-mode w/
sqlite could only be used with file databases.
* list/progmodes/sql.el (sql-get-login-ext): Don't expand an empty
file name provided by the user, but call sub-process sqlite with that,
in which case it uses an in-memory database.

Copyright-paperwork-exempt: yes
2017-03-02 19:01:18 -05:00
Allen Li
c733d9169c Stop abbrev-prefix-mark from adding extra newline (Bug#25767)
`abbrev--before-point' does not adjust `pos' to account for when it
deletes the "-" left by abbrev-prefix-mark.  Therefore, when
`abbrev-before-point' goes to restore point, it moves point one
character too far forward.

* lisp/abbrev.el (abbrev--before-point): Adjust pos when deleting "-".
2017-03-02 19:01:18 -05:00