Commit graph

69176 commits

Author SHA1 Message Date
Tino Calancha
565cfd9f6c ls-lisp: Add an unload function and enable lexical binding
Enable lexical binding.
* lisp/ls-lisp.el (ls-lisp-unload-function): New defun.
* test/lisp/ls-lisp.el (ls-lisp-unload): Add test.
2017-07-25 14:53:44 +09:00
Tino Calancha
35954cb92b register-read-with-preview: Quit if user input C-g or ESC
* lisp/register.el (register-read-with-preview):
Quit if user input C-g or ESC (bug#27634).
* doc/emacs/regs.texi (Registers): Update manual.
* test/lisp/register-tests.el (register-test-bug27634): Add test.
2017-07-25 11:40:25 +09:00
Mark Oteiza
32daa3cb54 ; Fix previous commit
Functions prefixed with `turn-on-foo' are quite old, and in general
subsumed by the corresponding `foo-mode` command.
* lisp/display-line-numbers.el (turn-on-display-line-numbers-mode):
Rename with library prefix, mark as internal.  Nix autoload.
2017-07-24 20:17:50 -04:00
Mark Oteiza
f23090d03b Recognize MirBSD Korn shell rc file
* lisp/files.el (auto-mode-alist): Add .mkshrc to the list.
2017-07-24 20:13:33 -04:00
Stefan Monnier
3d847fa9fd * lisp/progmodes/perl-mode.el: Add support for indented here docs
* lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
Recognize the new <<~ syntax for indented here docs.
(perl-syntax-propertize-special-constructs): Adjust search of the
end of here docs accordingly.

* test/manual/indent/perl.perl: Add test for indented here docs.
2017-07-24 18:10:02 -04:00
Stefan Monnier
69fb12a66b (loadhist-unload-element): Move ERT and cl-generic methods
* lisp/loadhist.el (loadhist-unload-element): Don't define cl-generic
and ert methods here.
(loadhist-unload-element) <(head define-type)>: Remove unused var `slots'.

* lisp/emacs-lisp/cl-generic.el (loadhist-unload-element): Define
unload method for cl-defmethod.
(cl-generic-ensure-function): Remove redundant `defalias'.

* lisp/emacs-lisp/ert.el (ert-set-test): Move the current-load-list
setting here...
(ert-deftest): ...from here.
(loadhist-unload-element): Define unload method for ert-deftest.
2017-07-24 15:58:30 -04:00
Michael Albinus
f07b12c1d0 Fix Bug#27371
* lisp/loadhist.el (loadhist-unload-element): Declare for
different entry types of `load-history'.
(loadhist--restore-autoload): New variable.
(loadhist--unload-function): New defun.
(unload-feature): Use `loadhist-unload-element'.  Recommended by
Stefan Monnier.  (Bug#27371)

* test/lisp/net/tramp-tests.el (tramp-test39-unload):
Check, that the `tramp-file-name' structure has been unloaded.
2017-07-24 19:38:17 +02:00
Grégoire Jadi
fe25d0ce8e Ensure that we parse images right in shr.el
* lisp/net/shr.el (shr-image-fetched): Go back to the
beginning of the buffer before trying to parse the image
fetched.
2017-07-24 17:29:28 +02:00
Philipp Stephani
ad4eff3b90 Add 'rx' pattern for pcase.
* lisp/emacs-lisp/rx.el (rx): New pcase macro.
* test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add unit test.
2017-07-23 22:32:23 +02:00
Mark Oteiza
f57c710772 Use a named function for global minor mode turn-on argument
* lisp/display-line-numbers.el (turn-on-display-line-numbers-mode):
New function.
(global-display-line-numbers-mode): Use it.
2017-07-23 15:41:51 -04:00
Alan Mackenzie
e1d1aa69e8 Convert CC Mode's c-found-types from an obarray to a hash table.
* lisp/progmodes/cc-engine.el (c-clear-found-types): create a hash table
rather than an obarray.
(c-copy-found-types): Remove.
(c-add-type, c-unfind-type, c-check-type, c-list-found-types): Amend to use
the new hash table.
(c-forward-<>-arglist): Use copy-hash-table rather than c-copy-found-types.
2017-07-23 13:48:36 +00:00
Lars Ingebrigtsen
e33ddda3bf Fix image/svg+xml display in shr
* lisp/net/shr.el (shr-put-image): Display svg images as svg
(bug#27799).  I suspect the previous change was checked in by
accident in conjuction with some other svg changes.
2017-07-23 15:23:14 +02:00
Michael Albinus
012487bc41 * lisp/display-line-numbers.el (display-line-numbers-type): Autoload it. 2017-07-23 09:28:35 +02:00
Michael Albinus
640fc129fd Add line numbers display to the Options menu
* lisp/menu-bar.el (toggle-display-line-numbers): Remove.
(menu-bar-display-line-numbers-mode): New defun.
(menu-bar-showhide-line-numbers-menu): New defvar.
(menu-bar-showhide-menu): Use `menu-bar-showhide-line-numbers-menu'
2017-07-22 20:24:24 +02:00
Noam Postavsky
37954f3916 Revert "Let delete-selection-mode work with popup-menu commands (Bug#27569)"
It turns out that this change is not needed, and it leaves several
command loops settings not done.

https://lists.gnu.org/archive/html/emacs-devel/2017-07/msg00757.html
https://lists.gnu.org/archive/html/emacs-devel/2017-07/msg00840.html
2017-07-22 08:20:13 -04:00
Alexander Gramiak
ebb78a7bfa Add a minor mode interface for display-line-numbers
* lisp/cus-start.el: Use the new display-line-numbers group.
* lisp/display-line-numbers.el: New file.

* doc/emacs/custom.texi (Init Rebinding): Re-add entry that used to
belong to linum-mode.
* doc/emacs/modes.texi (Minor Modes): Summarize the mode.
* etc/NEWS: Document display-line-numbers-mode and its customization
variables, and mention that display-line-numbers-width is
buffer-local.

* src/xdisp.c (syms_of_xdisp) <display-line-numbers-width>: Fix a
typo.
2017-07-22 12:16:08 +03:00
vividsnow
6d7e34b692 Support indented HERE-DOCs in cperl-mode
* lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Support
indented here-docs.  (Bug#27254) (Bug#27697)

Copyright-paperwork-exempt: yes
2017-07-22 12:07:55 +03:00
Matthew Bauer
9c9e8bd660 Add 'scroll-bar-mode' to settings in 'x-apply-session-resources'
* lisp/startup.el (x-apply-session-resources): Add scroll-bar-mode
settings.

Copyright-paperwork-exempt: yes
2017-07-22 11:53:58 +03:00
Alexander Kuleshov
813b3e49d1 Update ld-script mode (bug#27629)
* lisp/progmodes/ld-script.el: (ld-script-keywords): New commands
NOCROSSREFS_TO and HIDDEN added.  Fix documentation sections
numbers for PROVIDE/PROVIDE_HIDDEN commands.
(ld-script-builtins): New builtin function LOG2CEIL added.
2017-07-22 11:47:33 +03:00
Eli Zaretskii
6ec43f8ddb * lisp/subr.el (add-to-history): Doc fix. (Bug#27494) 2017-07-22 11:34:55 +03:00
Eli Zaretskii
45c2544c34 Doc fixes for kmacro.el functions
* lisp/kmacro.el (kmacro-start-macro, kmacro-call-macro)
(kmacro-end-and-call-macro): Don't use "permanent name", as that
could be misinterpreted.  (Bug#27492)
2017-07-22 11:24:05 +03:00
Charles A. Roelli
d37a82b4a3 ElDoc: add docstrings and minor refactoring
* lisp/emacs-lisp/eldoc.el (eldoc-edit-message-commands): Add
docstring.
(turn-on-eldoc-mode): Fix capitalization.
(eldoc--supported-p): Add docstring.
(eldoc-schedule-timer): Add docstring and use
'eldoc--supported-p'.
(eldoc-message): Add docstring and make calling convention
clearer.
(eldoc--message-command-p):
(eldoc-pre-command-refresh-echo-area):
(eldoc-display-message-p):
(eldoc-display-message-no-interference-p):
(eldoc-print-current-symbol-info):
(eldoc-docstring-format-sym-doc):
(eldoc-add-command, eldoc-add-command-completions):
(eldoc-remove-command, eldoc-remove-command-completions):
Add docstring.  (Bug#27230)
2017-07-22 11:09:36 +03:00
Andrew L. Moore
2ec8f28c59 Introduce defcustom 'executable-prefix-env'
* lisp/progmodes/executable.el (executable-prefix): Update the doc
string.
(executable-prefix-env): New defcustom.
(executable-set-magic): Use executable-prefix-env.

* etc/NEWS: Document the new variable.
2017-07-22 10:34:18 +03:00
Stefan Monnier
16001d1a97 Use lexical-binding in todo-mode.el
Adjust code accordingly and make various minor improvements.

* lisp/calendar/todo-mode.el: Enable lexical-binding.
(dayname, monthname, day, month, year): Make forward defvars
of these keywords from macros defined in calendar.el; wrap
them in with-no-warnings.
(todo-files, todo-files-function, todo-date-pattern)
(todo-mode-line-function, todo-show, todo-forward-category)
(todo-edit-item--header, todo-set-category-number)
(todo-adjusted-category-label-length)
(todo-total-item-counts, todo-filter-items)
(todo-print-buffer-function, todo-convert-legacy-date-time)
(todo-category-number, todo-category-completions)
(todo-read-file-name, todo-read-category)
(todo-validate-name, todo-read-date)
(todo-set-show-current-file, todo-modes-set-1)
(todo-modes-set-2, todo-modes-set-3, todo-mode):
Use #' instead of ' to quote functions.
(todo-files): Use \' instead of $ in regexp.
(todo--files-type-list): New function.
(todo-default-todo-file, todo-category-completions-files)
(todo-filter-files, todo-multiple-filter-files)
(todo-reevaluate-default-file-defcustom)
(todo-reevaluate-category-completions-files-defcustom)
(todo-reevaluate-filter-files-defcustom): Use it.
(todo-show, todo-rename-file, todo-move-category)
(todo-edit-item--text, todo-edit-quit, todo-edit-item--header)
(todo-item-undone, todo-unarchive-items, todo-search)
(todo-filter-items, todo-filter-items-1, todo-find-item)
(todo-category-select, todo-read-date)
(todo-nondiary-marker-matcher, todo-date-string-matcher)
(todo-diary-expired-matcher, todo-convert-legacy-files)
(todo-read-category): Reformat to avoid code hiding behind a
more deeply embedded element.
(todo-forward-category, todo-set-category-number):
Use 'funcall' instead of 'apply'.
(todo-toggle-mark-item, todo-edit-item--diary-inclusion)
(todo-edit-category-diary-inclusion)
(todo-insert-sort-button, todo-insert-category-line)
(todo-multiple-filter-files): Mark unused local variables.
(todo-edit-item--header, todo-move-item, todo-print-buffer)
(todo-edit-item--header, todo-move-item, todo-check-file)
(todo-edit-item--next-key): Remove unused local variables.
(todo-insert-sort-button, todo-insert-category-line):
Use a closure instead of a backquoted lambda.
(todo-update-categories-display, todo-print-buffer): Simplify code.
(todo-print-buffer-function): Document calling convention.
(todo-category-completions): Use cl-pushnew instead of add-to-list.
(todo-mode-map, todo-archive-mode-map)
(todo-categories-mode-map, todo-filtered-items-mode-map):
Remove superfluous call of suppress-keymap, since it's already
in the parent special-mode-map.
2017-07-21 18:54:07 +02:00
Tino Calancha
1d559e384b dired: Revert buffer when DIRNAME is a cons
* lisp/dired.el (dired-internal-noselect): Revert buffer if DIR-OR-LIST
is a cons, or dired-directory is a cons and DIR-OR-LIST a string (Bug#7131).
Update the comments.
* test/lisp/dired-tests.el (dired-test-bug7131): Test should pass.
2017-07-21 13:32:48 +09:00
Tino Calancha
d881b33595 Handle when dired-directory is a cons in some Dired functions
* lisp/dired-aux.el (dired-rename-subdir-1)
* lisp/dired-x.el (dired-mark-omitted):
Handle when dired-directory is a cons.
2017-07-21 13:17:14 +09:00
Noam Postavsky
7a0ca227af Make eshell-next-prompt more reliable (Bug#27405)
* lisp/eshell/em-prompt.el (eshell-next-prompt): Search for
`eshell-prompt-regexp' (and `read-only' text-property if
`eshell-highlight-prompt' is set) rather than trying to use
`forward-paragraph'.
(eshell-previous-prompt): Don't count prompt on current line.
2017-07-20 22:40:34 -04:00
Paul Eggert
df26f09f0c ; Spelling fixes 2017-07-20 15:42:12 -07:00
Michael Albinus
290d0e733f Stylistic changes in tramp-cache.el
* test/lisp/net/tramp-cache.el (tramp-get-file-property)
(tramp-set-file-property): Use `bound-and-true-p'.  Add
counter variables to `tramp-cache-unload-hook'.
2017-07-20 20:27:55 +02:00
Glenn Morris
ee5ec64624 Make tramp unloading handle debug counter variables
* lisp/net/tramp-cache.el (tramp-get-file-property)
(tramp-set-file-property): Add counter variables to tramp-unload-hook.
2017-07-20 13:46:52 -04:00
Katsumi Yamaoka
371565f7d7 Fix the bogus change made 13 years ago (bug#27084)
* lisp/gnus/gnus-sum.el (gnus-summary-toggle-header):
Fix the way to test if there is no visible header (bug#27084).
2017-07-20 07:16:48 +00:00
Noam Postavsky
644cdd1aa0 Use grep's --null option (Bug#6843)
* lisp/progmodes/grep.el (grep-use-null-filename-separator): New option.
(grep--regexp-alist-column, grep--regexp-alist-bin-matcher)
(grep-with-null-regexp-alist, grep-fallback-regexp-alist): New
constants, replacing `grep-regexp-alist'.
(grep-regex-alist): Mark the variable obsolete, add a new function of
the same name to replace it.
(grep-compute-defaults): Compute default for
`grep-use-null-filename-separator'.
(grep-mode): Set compilation-error-regexp-alist (buffer locally) to the
value of `grep-with-null-regexp-alist' or `grep-fallback-regexp-alist'
according to `grep-use-null-filename-separator'.
* lisp/progmodes/xref.el (xref-collect-matches): Call
`grep-regex-alist' instead of the obsolete variable.  Don't hardcode
grep-regexp-alist match groups.
* etc/NEWS: Announce new use of --null.  Move 'grep-save-buffers'
item under "Grep" heading as well.
2017-07-19 20:03:00 -04:00
Stephen Berman
0ef1b7ceeb Adjust todo-quit to recent change in dired
* lisp/calendar/todo-mode.el (todo-quit): Use quit-window instead of
bury-buffer to exit todo-mode.  This restores the desired behavior
of not immediately returning to the exited todo-mode buffer on
quitting another buffer, which a dired bug fix had changed (see
http://lists.gnu.org/archive/html/emacs-devel/2017-07/msg00739.html).
2017-07-19 15:41:59 +02:00
Stefan Monnier
24bd52565a * lisp/emacs-lisp/nadvice.el (advice--defalias-fset): Strip advices
This tries to make sure that (defalias F (symbol-function F)) stays a no-op.
2017-07-18 14:07:41 -04:00
Glenn Morris
5ab91020fb Use a more specific test for running on hydra.nixos.org
* lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
* test/Makefile.in (WRITE_LOG):
* test/lisp/filenotify-tests.el:
* test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
(eieio-test-method-order-list-6):
* test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
(eieio-test-37-obsolete-name-in-constructor):
* test/lisp/net/tramp-tests.el: Replace NIX_STORE with EMACS_HYDRA_CI.
2017-07-18 12:53:46 -04:00
Stefan Monnier
fa72de6cf7 * emacs-lisp/cl-lib.el (cl--old-struct-type-of): Accept `[]' 2017-07-18 12:01:27 -04:00
Noam Postavsky
a2ee81911b Let delete-selection-mode work with popup-menu commands (Bug#27569)
* lisp/menu-bar.el (popup-menu): Run `pre-command-hook' with
`this-command' set to the selected command.
2017-07-18 06:31:39 -04:00
Vincent Belaïche
0083123499 Fix relocation with named cell referred to by a one-symbol formula.
* lisp/ses.el (ses-replace-name-in-formula): Fix bug for it to
work also with one symbol formulas.

* test/lisp/ses-tests.el
(ses-tests-renaming-cell-with-one-symbol-formula): Add new
test for renaming with relocating a one symbol formula.
2017-07-17 20:54:20 +02:00
Vincent Belaïche
002d6abcc7 Fix symbol completion and document it.
* doc/misc/ses.texi (Configuring what printer function
applies): Add description of keys for completing local printer
symbols and listing local printers in a help buffer.
(Formulas): Add decription for key to list the named cell
symbols in a help buffer.

* lisp/ses.el (ses-completion-keys): New constant.
(ses--completion-table): New defvar.
(ses--list-orig-buffer): New defvar.
(ses-mode-edit-map): Fixed for symbol completion, plus add
help functions to list named cells or local printers.
(ses-edit-cell-complete-symbol)
(ses--edit-cell-completion-at-point-function): New defuns for
completion during formula edition.
(ses-edit-cell): Redefine dynamically edit keymap for
completion keys to point at the right function.
(ses-read-printer-complete-symbol)
(ses--read-printer-completion-at-point-function): New defuns
for completion during printer edition.
(ses-read-printer): Redefine dynamically edit keymap for
completion keys to point at the right function.
(ses-list-local-printers): New defun.
(ses-list-named-cells): New defun.
2017-07-17 19:58:12 +02:00
Tino Calancha
5e2ae74df5 * lisp/emacs-lisp/map.el (map-put): Fix redundancy in docstring. 2017-07-17 22:01:17 +09:00
Tino Calancha
76e1f7d00f alist-get: Add optional arg TESTFN
If TESTFN is non-nil, then it is the predicate to lookup
the alist.  Otherwise, use 'eq' (Bug#27584).
* lisp/subr.el (alist-get): Add optional arg FULL.
* lisp/emacs-lisp/map.el (map-elt, map-put): Add optional arg TESTFN.
* lisp/emacs-lisp/gv.el (alist-get): Update expander.
* doc/lispref/lists.texi (Association Lists): Update manual.
* etc/NEWS: Announce the changes.
* test/lisp/emacs-lisp/map-tests.el (test-map-put-testfn-alist)
(test-map-elt-testfn): New tests.
2017-07-17 21:30:50 +09:00
Stephen Berman
b2150e0b02 Preserve point under 'dired-auto-revert-buffer' (second case)
* lisp/dired.el (dired): Use pop-to-buffer-same-window instead
of switch-to-buffer.  This preserves Dired window point when
dired-auto-revert-buffer is non-nil.  (Bug#27243)

* test/lisp/dired-tests.el (dired-test-bug27243): New test.
2017-07-17 11:09:07 +02:00
Dieter Deyke
7463636591 Fix vc-src-dir-status-files
* lisp/vc/vc-src.el (vc-src-dir-status-files): Fix broken
copy-paste from b1a765b3 (bug#27641).
2017-07-17 02:11:14 +03:00
Alan Third
45892db6f5 Add missing declare-function for new function
* lisp/frame.el: Add declare function for
ns-mouse-absolute-pixel-position.
2017-07-16 10:52:34 +01:00
Alan Third
30444c695a Fix some frame handling issues on NS
* lisp/frame.el (mouse-absolute-pixel-position): Use new NS function.
* src/nsfns.m (Sns_mouse_absolute_pixel_position): New function.
* src/nsterm.m (x_make_frame_visible): Re-establish parent-child
relationship if it's broken.
2017-07-15 22:12:33 +01:00
Tino Calancha
66683f46b8 ls-lisp: Fix file size format
* lisp/ls-lisp.el (ls-lisp-filesize-d-fmt, ls-lisp-filesize-f-fmt)
(ls-lisp-filesize-b-fmt): Add space in front (Bug#27693).
* test/lisp/dired-tests.el (dired-test-bug27693): Add test.
2017-07-16 00:30:56 +09:00
Eli Zaretskii
a5c4ffdb6e Improve comments in faces.el
* lisp/faces.el (face-font-family-alternatives): Improve
commentary.
2017-07-15 15:34:03 +03:00
Stefan Monnier
6e2d6d54e1 * lisp/emacs-lisp/bytecomp.el: Fix bug#14860.
* lisp/emacs-lisp/bytecomp.el (byte-compile--function-signature): New fun.
Dig into advice wrappers to find the "real" signature.
(byte-compile-callargs-warn, byte-compile-arglist-warn): Use it.
(byte-compile-arglist-signature): Don't bother with "new-style" arglists,
since bytecode functions are now handled in byte-compile--function-signature.

* lisp/files.el (create-file-buffer, insert-directory):
Remove workaround introduced for (bug#14860).

* lisp/help-fns.el (help-fns--analyse-function): `nadvice` is preloaded.

* lisp/help.el (help-function-arglist):
Dig into advice wrappers to find the "real" signature.
2017-07-14 11:27:21 -04:00
Stefan Monnier
0f3cc0b824 * lisp/emacs-lisp/cl-lib.el (cl--random-time): Remove as well
It's also defined in cl-extra.el.
2017-07-14 10:29:10 -04:00
Paul Eggert
1e09f8d379 Do not convert ij and IJ to compatibility chars
* lisp/leim/quail/latin-alt.el: Omit lines for ij and IJ in Dutch.
Problem reported by James Cloos (Bug#518#10).
2017-07-14 06:20:44 -07:00