Commit graph

70429 commits

Author SHA1 Message Date
Lars Ingebrigtsen
9ae0e4aa1a (archive-rar-summarize): Adjust parsing to be more permissive
* lisp/arc-mode.el (archive-rar-summarize): Adjust parsing to
be more permissive.

The previous code would stop parsing if we had a directory entry or a
negative ratio as seen from the output of lsar on Debian jessie:

  0. D----    16221659  -----  Nr20  2005-12-24 19:30  foo/
  4. -----      466509  -0.0%  Nr20  2005-12-24 19:19  foo/bar.jpg
2018-01-21 21:42:05 +01:00
Alan Mackenzie
c965e5a641 Handle C99 Compound Literals in return statements and argument lists.
* lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): Recognize
a brace list when preceded by "return" or inside parentheses, either
immediately after the "(" or following a comma.
(c-looking-at-inexpr-block): Test c-has-compound-literals rather than hard
coded C++ Mode.
(c-guess-basic-syntax, CASE 7B): Test additionally for not being just inside a
parenthesis or being at a Java "new" keyword.  CASE 9: Remove the simple
minded test on the contents of a block to determine a brace list.

* lisp/progmodes/cc-langs.el (c-has-compound-literals): New lang const and lang var.
2018-01-21 18:29:26 +00:00
Simen Heggestøyl
cff45e6f4e Parse percent values in CSS alpha components
* lisp/textmodes/css-mode.el (css--rgb-color): Support parsing percent
values in the alpha component.

* test/lisp/textmodes/css-mode-tests.el
(css-test-rgb-to-named-color-or-hex, css-test-rgb-parser): Update for
the above changes.
2018-01-21 14:20:56 +01:00
tino calancha
c2e6d121ff * lisp/term.el (term-send-input): Fix text duplication in docstring 2018-01-21 13:34:55 +09:00
Paul Eggert
64c8467386 Fix tempfile creation when byte compiling
This improves on the recent fix for master failing to build
on FreeBSD.  Suggested by Stefan Monnier in:
https://lists.gnu.org/r/emacs-devel/2018-01/msg00600.html
* lisp/emacs-lisp/bytecomp.el (byte-compile-file):
Put tempfile next to the target file, as was the original intent.
2018-01-20 19:18:49 -08:00
Jarosław Rzeszótko
3a34d14630 * lisp/ielm.el: Bring up the debugger when requested
Copyright-paperwork-exempt: yes

(ielm-eval-input): Don't catch errors during evaluation
of the expression if debug-on-error is set.
2018-01-20 12:51:06 -05:00
Glenn Morris
60d5a13d28 Merge from origin/emacs-26
cfc94fd (origin/emacs-26) Don't mention 'vc-stay-local' in the user m...
8ce430b Fix a typo in calendar.texi
bb748b3 Minor improvement in wording of the Emacs manual
b603aff Revert "Fix tempfile creation when byte compiling"
4fd446e Fix tempfile creation when byte compiling
7f48a11 Improve the Emacs manual as suggested in emacs-manual-bugs
728ded0 * lisp/emacs-lisp/bytecomp.el: Tweak last change
c6c05e2 Unbreak building Emacs on FreeBSD
a41ad3d Don't unnecessarily use non-ASCII characters in C sources
c28d4b6 Portability fixes in emacs-module-tests
1d50c18 Add tests for term.el
2018-01-20 08:23:30 -08:00
Michael Albinus
530bb2dc68 Use file notification in autorevert also for recreated files
* lisp/autorevert.el (auto-revert-mode)
(global-auto-revert-mode, auto-revert-notify-add-watch)
(auto-revert-notify-handler, auto-revert-handler): Do not use
buffer local `auto-revert-use-notify' anymore.

* test/lisp/autorevert-tests.el
(auto-revert-test02-auto-revert-deleted-file): Adapt test in
order to check, that file notification is reenabled when possible.
2018-01-20 16:26:02 +01:00
Basil L. Contovounesios
b54a86000c Improve and simplify 'map-y-or-n-p'
* lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Do not follow a
definite article with an action verb in C-h help text.  Use
'with-help-window' instead of 'with-output-to-temp-buffer'.
Simplify string concatenation.  (Bug#30064)
2018-01-20 14:23:08 +02:00
Basil L. Contovounesios
9e9b71189a Use map-y-or-n-p in bibtex.el
* lisp/textmodes/bibtex.el (bibtex-reformat): Use map-y-or-n-p.
(Bug#30065)
2018-01-20 14:19:34 +02:00
Basil L. Contovounesios
f1e4249e37 Reverse bibtex-reference-keys in 'bibtex-parse-keys'
* lisp/textmodes/bibtex.el (bibtex-parse-keys): Reverse
bibtex-reference-keys.  (Bug#30048)
2018-01-20 14:11:55 +02:00
Eli Zaretskii
b603affa1f Revert "Fix tempfile creation when byte compiling"
This reverts commit 4fd446e9f6:
* lisp/emacs-lisp/bytecomp.el (byte-compile-file):
Put tempfile next to the target file, as was the original intent.
2018-01-20 09:48:22 +02:00
Paul Eggert
4fd446e9f6 Fix tempfile creation when byte compiling
This improves on the recent fix for master failing to build
on FreeBSD.  Suggested by Stefan Monnier in:
https://lists.gnu.org/r/emacs-devel/2018-01/msg00600.html
* lisp/emacs-lisp/bytecomp.el (byte-compile-file):
Put tempfile next to the target file, as was the original intent.
2018-01-19 14:40:56 -08:00
Michael Albinus
666629796d Add new entry in tramp-smb-errors
* lisp/net/tramp-smb.el (tramp-smb-errors):
Add "NT_STATUS_RESOURCE_NAME_NOT_FOUND".
2018-01-19 17:55:10 +01:00
Stefan Monnier
728ded05f6 * lisp/emacs-lisp/bytecomp.el: Tweak last change
(byte-compile-file): Move comment closer to the code it describes.
2018-01-19 11:29:13 -05:00
Eli Zaretskii
c6c05e2aa9 Unbreak building Emacs on FreeBSD
* lisp/emacs-lisp/bytecomp.el (byte-compile-file): Don't create
the temporary file under temporary-file-directory if the file
being compiled is specified by an absolute file name.  This avoids
problems with ACL copying from temporary-file-directory on
FreeBSD.  For the details, see
http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00513.html.
2018-01-19 17:31:54 +02:00
Stefan Monnier
ffeb1164d4 * lisp/calendar/calendar.el: Use lexical-binding
(calendar-generate-window): Remove unused variable `day'.
(calendar-generate-month): Use calendar-dlet* to provide the dynbind
vars promised by the respective docstrings.
(calendar-update-mode-line): Use calendar-dlet* to provide `date' to
calendar-mode-line-format.  Don't call `eval' here since it's called in
calendar-string-spread anyway!
(calendar-date-string): Use calendar-dlet* to provide the dynbind
vars promised by the docstring of calendar-date-display-form.

* lisp/calendar/diary-lib.el (diary--date-string): Rename from date-string.
2018-01-18 23:01:35 -05:00
Noam Postavsky
47019a521f Switch term.el to lexical binding, and clean up code a bit
* lisp/term.el (term-terminal-state): Remove.
(term-do-line-wrapping): New variable, equivalent to state 1.
(term-terminal-previous-parameter, term-terminal-parameter)
(term-terminal-more-parameters)
(term-terminal-previous-parameter-2)
(term-terminal-previous-parameter-3)
(term-terminal-previous-parameter-4): Remove.
(term-move-to-column): New function, for absolute column movement.
(term-control-seq-regexp, term-control-seq-prefix-regexp): New
constants.
(term-emulate-terminal, term-pager-discard): Use them via string-match
instead of implementing a state machine in elisp.  Handle all
unprocessed input via term-terminal-undecoded-bytes (this solves
Bug#17231).
(term-handle-ansi-escape): Take a list of escape sequence parameters
as an argument, rather than via dynamic variables.
(term-erase-in-display): Consult the argument, not the dynamically
bound term-terminal-parameter (which happened to be the same as the
argument up until now).
2018-01-18 22:25:35 -05:00
Noam Postavsky
1d50c185f0 Add tests for term.el
* lisp/term.el (term-mode): Add `name' attribute to
window-adjust-process-window-size-function value, so that it can be
removed easily by tests.
* test/lisp/term-tests.el: New tests.
2018-01-18 22:17:40 -05:00
Callum Cameron
5472568a3c Handle split AnSiT messages for term.el (Bug#17231)
Check to see if there is an incomplete command at the end of
term-emulate-terminal's input string, and, if so, save it so the whole
command can be processed when the next string arrives.
* lisp/term.el (term-partial-ansi-terminal-message): New variable.
(term-mode): Make it buffer local.
(term-handle-ansi-terminal-messages): Prepend it to the received
message, and set it if a partial message was received.

Copyright-paperwork-exempt: yes

Do not merge to master, it will be solved differently there, see
"Switch term.el to lexical binding, and clean up code a bit".
2018-01-18 22:17:07 -05:00
Glenn Morris
6213ce5544 Merge from origin/emacs-26
76040d1 (origin/emacs-26) Handle case-insensitive filenames for load-...
0c9b050 ; * test/file-organization.org: Fix typo.
2018-01-18 17:17:06 -08:00
Glenn Morris
224fc14ab8 ; Merge from origin/emacs-26
The following commit was skipped:

36edb6c CC Mode: stop distinguishing brace blocks from defun blocks b...
2018-01-18 17:17:06 -08:00
Glenn Morris
bb5aad717f Merge from origin/emacs-26
7efb366 ; * etc/AUTHORS: Regenerate.
3dc7f68 * admin/authors.el (authors-aliases): Tighten more entries.
7428062 ; * lisp/vc/vc.el: Comment fixes.
f4e6b6e Small startup fix for current-load-list
5b776bf ; * etc/AUTHORS: Regenerate.
d80295c authors-aliases is based on regexps, not literals
2018-01-18 17:17:05 -08:00
Stefan Monnier
97fc87a392 * lisp/vc/vc-hg.el, lisp/vc/vc-git.el: Flush the 'vc-functions' cache. 2018-01-18 20:11:34 -05:00
Juri Linkov
5ec3853326 Improve "*Process List*" and "*Local Variables*". (Bug#30016)
* lisp/files.el (save-buffers-kill-emacs): Display "*Process List*"
buffer at bottom.
(hack-local-variables-confirm): Display "*Local Variables*" buffer
at bottom.

* lisp/simple.el (process-menu-mode): Increase buffer column width
from 15 to 25.
2018-01-18 23:43:38 +02:00
Noam Postavsky
76040d1eae Handle case-insensitive filenames for load-path shadows (Bug#5845)
* lisp/emacs-lisp/shadow.el (load-path-shadows-find): Check for
shadowing with case-insensitive matching for files of case-insensitive
directories (as determined by `file-name-case-insensitive-p').
* test/lisp/emacs-lisp/shadow-tests.el: New test.
* test/lisp/emacs-lisp/shadow-resources/p1/foo.el:
* test/lisp/emacs-lisp/shadow-resources/p2/FOO.el: New test files.
2018-01-18 16:26:52 -05:00
Alan Mackenzie
36edb6cb97 CC Mode: stop distinguishing brace blocks from defun blocks by content.
Don't merge to master; this is a quick fix for the emacs-26 branch.  This is
essentially a reversion of the patch from 2017-11-10 which attempted to handle
C99's compound literals.

The bug here was triggered when a defun block contained a declaration ending
in a comma, yet without a semicolon.

* lisp/progmodes/cc-engine.el (c-guess-basic-syntax): At the CASE 9 test,
remove from the `or' form the test of a block's contents.
2018-01-18 17:54:02 +00:00
Lars Ingebrigtsen
70a4f9ee21 Bind up/down in ecomplete
* lisp/ecomplete.el (ecomplete-display-matches): Allow using
up/down in addition to M-p/M-n.
2018-01-18 12:16:30 +01:00
Martin Rudalics
e462308f03 Fix some tooltip related problems
Replace 'tooltip' frame parameter with a 'tooltip' member in
the frame structure.  For GTK+ builds use 'tip_last_frame' to
find the frame for which the currently visible tooltip was
made.  For modeline help-echoing have tooltips show applicable
actions only.

* lisp/bindings.el (mode-line-default-help-echo): New function
as default value of homonymous option.
* src/dispextern.h (tip_frame, tip_window): Remove
declarations.
* src/frame.c (make_frame): Initialize new frame structure
member 'tooltip'.
(Fframe_list, other_frames): Rewrite with new macro
FRAME_TOOLTIP_P.
* src/frame.h (struct frame): New member 'tooltip'.
(FRAME_TOOLTIP_P): New macro.
* src/gtkutil.c (xg_prepare_tooltip, xg_hide_tooltip): Rewrite
using boolean return values.
* src/nsfns.m (tip_frame): Remove declaration.
* src/w32fns.c (w32_display_monitor_attributes_list)
(w32_display_monitor_attributes_list_fallback): Rewrite with
new macro FRAME_TOOLTIP_P.
(tip_last_string, tip_last_frame, tip_last_parms): New Lisp
scalars replacing Lisp vector last_show_tip_args.
(x_create_tip_frame): Set new frame's 'tooltip' structure
member to true.
(x_hide_tip): Additionally test tip_frame for liveness.
(Fx_show_tip): Handle last_show_tip_args to tip_last_frame,
tip_last_string and tip_last_parms conversion.
(syms_of_w32fns): staticpro tip_last_frame, tip_last_string
and tip_last_parms instead of last_show_tip_args.
* src/w32term.c (w32_read_socket, x_new_font): Rewrite with
new macro FRAME_TOOLTIP_P.
* src/w32term.h (tip_window): Add external declaration.
* src/xdisp.c (x_consider_frame_title, prepare_menu_bars)
(should_produce_line_number): Rewrite with new macro
FRAME_TOOLTIP_P.
(note_mode_line_or_margin_highlight): If
`mode-line-default-help-echo' specifies a function, call it to
produce help echo string.
* src/xfns.c (x_make_monitor_attribute_list)
(Fx_display_monitor_attributes_list): Rewrite with
new macro FRAME_TOOLTIP_P.
(tip_last_string, tip_last_frame, tip_last_parms): New Lisp
scalars replacing Lisp vector last_show_tip_args.
(x_create_tip_frame): Set new frame's 'tooltip' structure
member to true.
(x_hide_tip): Rewrite with additional tests of frames for
liveness and taking into account that for GTK+ tips the
reference frame is now stored in tip_last_frame instead of
tip_frame.
(Fx_show_tip): Handle last_show_tip_args to tip_last_frame,
tip_last_string and tip_last_parms conversion.  For GTK+ store
FRAME argument in tip_last-frame.
(syms_of_xfns): staticpro tip_last_frame, tip_last_string
and tip_last_parms instead of last_show_tip_args.
* src/xterm.c (x_update_begin, handle_one_xevent, x_new_font)
(x_set_window_size): Rewrite with new macro FRAME_TOOLTIP_P.
* src/xterm.h (tip_window): Add external declaration.
* etc/NEWS: Mention new modeline tooltips behavior.
2018-01-18 10:36:47 +01:00
Lars Ingebrigtsen
064395251f Add documentation to ecomplete.el
* lisp/ecomplete.el: Add doc strings and document the format.
2018-01-17 11:55:58 +01:00
Glenn Morris
6e9f20b3ff Small cus-start fix for custom-delayed-init-variables
* lisp/cus-start.el (custom-delayed-init-variables):
Only modify it during startup.
2018-01-16 21:20:43 -05:00
Glenn Morris
74280624b9 ; * lisp/vc/vc.el: Comment fixes. 2018-01-16 20:56:28 -05:00
Glenn Morris
f4e6b6e077 Small startup fix for current-load-list
* lisp/startup.el (command-line):
Avoid current-load-list being non-nil after startup ends.
2018-01-16 20:55:20 -05:00
Lars Ingebrigtsen
f121b5d7f3 Introduce a variable to control ecomplete sorting
* lisp/ecomplete.el (ecomplete-sort-predicate): New variable.
(ecomplete-get-matches): Use it.
2018-01-17 00:17:23 +01:00
Alan Mackenzie
b02a06317b C++ Mode: Fontify correctly uniform initialisation with inner parentheses.
E.g.: someStruct x ( (nullptr != y) ? 3 : 4 )
Also fontify declarations of function pointers correctly.

* lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): While testing for a
typeless declaration, additionally test the variable `got-prefix' to
recognize a function pointer in parentheses.  Allow c-fdoc-shift-type-backward
to be invoked when we have nested parens.
2018-01-16 21:59:03 +00:00
Lars Ingebrigtsen
743323e570 Add documentation to ecomplete.el
* lisp/ecomplete.el: Add doc strings and document the format.
2018-01-16 14:53:28 +01:00
Stefan Monnier
81b5131e11 * lisp/ielm.el (ielm-eval-input): Use cl-print. 2018-01-15 17:04:05 -05:00
Glenn Morris
400b72cb6e Merge from origin/emacs-26
98e5fb9bf3 (origin/emacs-26) Remove incorrect documentation in comint.el
8ba5b85161 An overdue update of src/emacs-icon.h
155b211133 Minor copyedit in ELisp manual
2018-01-15 13:53:40 -08:00
Glenn Morris
9bd8f01cd6 Merge from origin/emacs-26
2c0cfa6455 * ChangeLog.3: Update
4387bb44ae Update authors
bce51bd6f7 * lisp/gnus/message.el (message-do-auto-fill): Prevent do-...
bd2a2a1e84 Improve documentation of etags
7ba75b9637 Teach etags new interpreters for some languages
1f7f03742d * lisp/emacs-lisp/generator.el (iter-defun): Add 'doc-stri...
dbb4aac212 * lisp/emacs-lisp/syntax.el (syntax-propertize): Fix bug#2...
80463a43da Improve documentation of fill-separate-heterogeneous-words...
4bd2416d55 Fix documentation of some x-* functions
9c2b11484f Inherit query-on-exit flag to stderr process (Bug#30031)
3efb1e7def Fix Bug#30057
a9b884c60f Tag some unstable tests, and skip by default (bug#24503)

# Conflicts:
#	test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
2018-01-15 13:53:40 -08:00
Charles A. Roelli
98e5fb9bf3 Remove incorrect documentation in comint.el
* lisp/comint.el (comint-interrupt-subjob, comint-kill-subjob)
(comint-quit-subjob, comint-stop-subjob): Remove incorrect
documentation.  (Bug#30079)
2018-01-15 21:14:05 +01:00
Stefan Monnier
8e05cb61a2 * lisp/mail/smtpmail.el (smtpmail-send-data-1): No string-as-multibyte
This is not needed any more since unibyte strings will be sent as-is
anyway by process-send-string.
(smtpmail-via-smtp): Avoid set-buffer-process-coding-system.
2018-01-15 13:15:12 -05:00
Stefan Monnier
fe258a4b88 (set-buffer-process-coding-system): Mark as interactive-only.
* lisp/international/mule.el (set-buffer-process-coding-system):
Mark as interactive-only.
2018-01-15 13:14:37 -05:00
Marcin Borkowski
a1f257d81c Add the function `fill-polish-nobreak-p'
* lisp/textmodes/fill.el (fill-polish-nobreak-p): Prevent
line-breaking after a single-letter word even if this word is not
preceded by a space.  Fixes bug #20871.
2018-01-15 06:25:16 +01:00
Shuguang Sun
7a81586bd7 Fix Bug#29149 in dired-aux.el
* lisp/dired-aux.el (dired-shell-stuff-it): Handle remote
commands on w32 properly.  (Bug#29149)
2018-01-14 10:00:24 +01:00
Michael Albinus
9b2c3c190a Fix Bug#29149 in shell.el
* lisp/shell.el (shell): Change order of `file-local-name' and
`expand-file-name' calls.  Otherwise, the local file name
would be extended by a drive letter, even when it is a remote
file, seen from w32.  (Bug#29149)
2018-01-14 10:00:11 +01:00
Nicolas Petton
752fba992b
; * Update ldefs-boot.el 2018-01-13 22:07:12 +01:00
Shuguang Sun
7f52a102ad Fix Bug#29149 in dired-aux.el
* lisp/dired-aux.el (dired-shell-stuff-it): Handle remote
commands on w32 properly.  (Bug#29149)
2018-01-13 17:52:04 +01:00
Michael Albinus
45ebf3afc6 Fix Bug#29149 in shell.el
* lisp/shell.el (shell): Change order of `file-local-name' and
`expand-file-name' calls.  Otherwise, the local file name
would be extended by a drive letter, even when it is a remote
file, seen from w32.  (Bug#29149)
2018-01-13 17:48:10 +01:00
Michael Albinus
1a5293e724 Improve Tramp robustness
* lisp/net/tramp.el (tramp-message, tramp-process-actions)
(tramp-read-passwd, tramp-interrupt-process):
* lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch)
(tramp-gvfs-maybe-open-connection):
* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
(tramp-process-sentinel)
(tramp-sh-handle-file-notify-add-watch)
(tramp-barf-if-no-shell-prompt, tramp-maybe-open-connection)
* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
(tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
(tramp-smb-maybe-open-connection): Use process property rather
than connection property "vector".

* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
Fix scoping error.  Let error traces use process buffer.

* lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
Move "inotifywait" up.  GVFS based monitoring is not stable.
Let error traces use process buffer.
(tramp-sh-gvfs-monitor-dir-process-filter): Check more error
messages.
(tramp-get-remote-gvfs-monitor-dir): Search also for "gio".

* lisp/net/tramp.el (tramp-get-debug-buffer):
Use `special-mode-map' as parent map in debug buffer.
(tramp-message): Ensure, that proper process buffer is dumped
in error case.
2018-01-13 12:07:28 +01:00
Nicolas Petton
e9e32d3475
; * Update ldefs-boot.el 2018-01-12 22:53:44 +01:00