Noam Postavsky [Fri, 2 Feb 2018 02:12:09 +0000 (21:12 -0500)]
; Avoid process kill query during term tests
* test/lisp/term-tests.el (term-test-screen-from-input): Just unset
the process query-on-exit flag to rather than trying to end the
process before the end of test (which is generally unreliable).
Alan Mackenzie [Fri, 2 Feb 2018 20:46:35 +0000 (20:46 +0000)]
CC Mode: Fix an enum intro being parsed as defun-block-intro
* lisp/progmodes/cc-engine.el (c-inside-bracelist-p): Return a bufpos rather
than t for the enum case.
(c-add-stmt-syntax, c-guess-continued-construct): Replace
c-looking-at-or-maybe-in-bracelist by c-inside-bracelist-p, since the former
does not recognize enum brace lists, but the latter does.
* lisp/progmodes/cc-fonts.el (c-get-fontification-context): Replace
c-looking-at-or-maybe-in-bracelist by c-inside-bracelist-p.
Philipp Stephani [Sun, 28 Jan 2018 20:36:03 +0000 (21:36 +0100)]
Properly integrate modules into the loading process (Bug#30164).
* src/lread.c (Fload): Don't defer to module-load immediately when
encountering a module, but use the normal loading machinery to
properly set up load-history, check for recursive loads, print
messages, etc.
* test/src/emacs-module-tests.el (module/load-history): New test.
(module/describe-function-1): Adapt test.
Michael Albinus [Fri, 2 Feb 2018 16:06:22 +0000 (17:06 +0100)]
Minor tweaks in tramp-archive.el
* lisp/net/tramp-archive.el (tramp-archive-file-name-handler):
Bind `tramp-unknown-id-integer' and `tramp-unknown-id-string'
in order to have minimal ownership information.
Eli Zaretskii [Fri, 2 Feb 2018 15:41:38 +0000 (17:41 +0200)]
Another round of manual fixups
* doc/emacs/killing.texi (Killing by Lines): Clarify wording.
Reported by David Bonnafous <dbonnafo@gmail.com> in
emacs-manual-bugs@gnu.org.
* doc/emacs/windows.texi (Other Window): Improve wording.
Reported by Rasmus Sjostrom <ras.sjostrom@gmail.com> in
emacs-manual-bugs@gnu.org.
* doc/emacs/display.texi (Display Custom): Mention that line
numbers are not displayed in the minibuffer and tooltips.
* doc/emacs/mini.texi (Basic Minibuffer): Improve wording.
* doc/emacs/regs.texi (Registers): More comma removal. Suggested
by "root@vxid.pw root@vxid.pw" <root@vxid.pw> in
emacs-manual-bugs@gnu.org.
* doc/emacs/display.texi (Auto Scrolling): Fix a typo. Reported
by Kevin Foley <kfoley15@gmail.com> in emacs-manual-bugs@gnu.org.
* doc/emacs/display.texi (Scrolling): Fix grammar.
(Horizontal Scrolling): Mention reasonable limits for hscroll-step
float values. Suggested by Jerome Truong <jerometruong@gmail.com>
in emacs-manual-bugs@gnu.org.
* doc/emacs/mini.texi (Minibuffer Edit): Add a missing comma.
* doc/emacs/basic.texi (Position Info, Arguments, Repeating):
Remove redundant commas. Suggested by oldgaro
<oldgaro@protonmail.com> in emacs-manual-bugs@gnu.org.
* doc/emacs/kmacro.texi (Save Keyboard Macro): Clarify wording.
Suggested by clemens.radermacher@posteo.de in
emacs-manual-bugs@gnu.org.
* doc/emacs/building.texi (Compilation Mode): Improve and simplify
wording. Suggested by drone <yoorobot@gmail.com> in
emacs-manual-bugs@gnu.org.
* doc/emacs/dired.texi (Dired Enter): Clarify wording.
(Dired Deletion): Fix a typo.
(Marks vs Flags): Mention that M-DEL in Dired asks for the mark
character. Fix typos.
* doc/emacs/basic.texi (Moving Point, Erasing, Basic Undo)
(Arguments): Some additional information about keys. Reported by
Francis Wright <f.j.wright@live.co.uk> in
emacs-manual-bugs@gnu.org.
Noam Postavsky [Thu, 25 Jan 2018 05:37:50 +0000 (00:37 -0500)]
Test and fix "/:" quoted file name handlers (Bug#30243)
Some w32 specific problems were discovered, but only worked around, as
these are not serious, and not the focus of this bug fix:
- The w32 implementation of `insert-directory doesn't handle a nil
SWITCHES argument.
- `dired-compress-file' does not operate correctly if the unquoted
filename contains a ":" (e.g., C:/foo/bar).
* lisp/files.el (file-name-non-special): Strip the "/:" from
`default-directory' for `temporary-file-directory' operation; both
arguments to `file-name-completion', `file-name-all-completion', and
`file-equal-p' operations; `buffer-file-name' for
`make-auto-save-file-name' and 'set-visited-file-modtime' operations.
Don't touch any operands of `file-notify-rm-watch' and
`file-notify-valid-p' as they receive descriptors; not file
names (this is not sufficient to fix these operations for "/:" quoted
file names though, these are fixed in a later commit).
Michael Albinus [Thu, 1 Feb 2018 14:49:18 +0000 (15:49 +0100)]
Adapt tramp-tests.el according to Bug#30243
* test/lisp/net/tramp-tests.el (tramp--test-emacs27-p): New defun.
(tramp-test11-copy-file, tramp-test12-rename-file)
(tramp-test21-file-links, tramp-test24-file-acl)
(tramp-test25-file-selinux, tramp--test-check-files): Use it.
Eli Zaretskii [Wed, 31 Jan 2018 16:23:17 +0000 (18:23 +0200)]
Another round of manual fixes from proofreading
* doc/emacs/search.texi (Incremental Search)
(Nonincremental Search): Mention the menu bar and fix typos.
Reported by David Bonnafous <dbonnafo@gmail.com> in
emacs-manual-bugs@gnu.org.
* doc/emacs/building.texi (Compilation): Improve wording.
Suggested by drone <yoorobot@gmail.com> in
emacs-manual-bugs@gnu.org.
* doc/emacs/kmacro.texi (Basic Keyboard Macro): Clarify text.
Suggested by Robert Pluim <rpluim@gmail.com> in
emacs-manual-bugs@gnu.org.
* doc/emacs/display.texi (Highlight Interactively, Fringes):
Improve wording. Suggested by Justin Heyes-Jones
<justinhj@gmail.com> in emacs-manual-bugs@gnu.org.
* doc/emacs/commands.texi (User Input, Commands): Add missing
commas.
* doc/emacs/screen.texi (Menu Bar): Mention keyboard keys to
navigate menus. Suggested by oldgaro <oldgaro@protonmail.com> in
emacs-manual-bugs@gnu.org.
* doc/emacs/search.texi (Not Exiting Isearch): Fix a typo.
Reported by "Kocken, I.J. (Ilja)" <I.J.Kocken@uu.nl> in
emacs-manual-bugs@gnu.org.
* doc/emacs/basic.texi (Inserting Text): Mention one more label of
RET. Suggested by Francis Wright <f.j.wright@live.co.uk> in
emacs-manual-bugs@gnu.org.
* doc/emacs/text.texi (Paragraphs): Clarify text. Reported by
Marcin Borkowski <mbork@mbork.pl> in emacs-manual-bugs@gnu.org.
* doc/emacs/maintaining.texi (Introduction to VC)
(Why Version Control?, VCS Merging): Fix typos and section
capitalization. Suggested by "R. P. Dillon"
<rpdillon@killring.org> in emacs-manual-bugs@gnu.org.
* doc/emacs/modes.texi (Major Modes, Choosing Modes): Fix typos.
Reported by clemens.radermacher@posteo.de in
emacs-manual-bugs@gnu.org.
Glenn Morris [Wed, 31 Jan 2018 15:50:23 +0000 (07:50 -0800)]
Merge from origin/emacs-26
22922c7 (origin/emacs-26) * doc/emacs/entering.texi (Entering Emacs):... 59657c4 Document 'window-at-side-p' in the Elisp manual 2b35ed0 Document external-debugging-output in the Elisp Manual (Bug#2... db6564c Fix scroll-margin docstring (Bug#13791) 732d1b9 Clarify that `ansi-term' is almost the same as `term' (Bug#18... f706c59 Update manual description of locate-file (Bug#23650) 1602262 Clarify effect of print-gensym (Bug#27776) 53e9fa2 * lisp/custom.el (defcustom): Fix docstring (Bug#27891). 607cc4e Define cl-type-definition button type as needed (Bug#28899) 9e6889c Emphasize that GPG passphrase caching is temporary (Bug#29907) 4b5711b Fix @examples in cc-mode.info, where lines were getting glued... 71961f1 Minor change in "Mode Line" section of Emacs manual 55a2b76 More fixes in the Emacs manual
Michael Albinus [Wed, 31 Jan 2018 14:02:46 +0000 (15:02 +0100)]
Fix Bug#30293
* lisp/net/tramp-archive.el (tramp-archive-file-name-for-operation):
New defsubst.
(tramp-archive-file-name-archive, tramp-archive-file-name-localname):
New defuns.
(tramp-archive-file-name-handler, tramp-archive-dissect-file-name)
(tramp-archive-handle-not-implemented): Use them. (Bug#30293)
* test/lisp/net/tramp-archive-tests.el (tramp-archive-test-directory):
New defconst.
(tramp-archive-test01-file-name-syntax): Extend test.
(tramp-archive-test05-expand-file-name-non-archive-directory):
New test. (Bug#30293)
* test/lisp/net/tramp-archive-resources/foo.iso/foo: New file.
Glenn Morris [Wed, 31 Jan 2018 02:43:28 +0000 (21:43 -0500)]
automerge: handle upstream changes during operation
* admin/automerge (merge): New function, split from pre-existing code.
(main): If upstream changed during building and testing,
reset local and try merging again.
Stefan Monnier [Tue, 30 Jan 2018 22:37:20 +0000 (17:37 -0500)]
* test/lisp/mouse-tests.el: Fix tests broken by mouse.el change
* test/lisp/mouse-tests.el (bug23288-use-return-value)
(bug23288-translate-to-mouse-2): Don't rely as much on details of the
implementation, so it also works with the new code.
Stefan Monnier [Tue, 30 Jan 2018 17:41:29 +0000 (12:41 -0500)]
* lisp/mouse.el: Rework the mouse-1-click remapping
Avoid peeking ahead at the next event because this had undesirable effects,
such as making 'this-single-command-raw-keys' return bogus information.
(mouse--last-down): New variable.
(mouse--down-1-maybe-follows-link): Don't do the remapping here.
Instead, just keep track of the time when the down happened.
(mouse--down-1-maybe-follows-link): Do the remapping here.
(key-translation-map): Add bindings for (double-)mouse-1.
Stefan Monnier [Tue, 30 Jan 2018 16:57:40 +0000 (11:57 -0500)]
* lisp/help.el: Rework describe-key's handling of up and double clicks
Use lexical-binding.
(help--binding-undefined-p): New function, extracted from help--analyze-key.
(help--analyze-key): Use it.
(help--filter-info-list): New function.
(describe-key-briefly): Change calling convention.
Handle a list of key sequences now.
(help--binding-locus): Remove unused var 'found'.
(help--read-key-sequence): Rename from help-read-key-sequence.
Almost complete rewrite, with a different return value.
(help-downify-mouse-event-type): Remove.
(describe-key): Change calling convention.
Handle a list of key sequences now.
Michael Albinus [Tue, 30 Jan 2018 16:34:02 +0000 (17:34 +0100)]
Fix Bug#30262
* lisp/net/tramp-archive.el (tramp-archive-hash): Document (changed)
layout.
(tramp-archive-dissect-file-name): Merge with
`tramp-archive-local-copy', which has been removed by this.
(tramp-archive-cleanup-hash): Adapt to changed
`tramp-archive-hash'. (Bug#30262)
* test/lisp/net/tramp-archive-tests.el
(tramp-archive-test01-file-name-syntax)
(tramp-archive-test02-file-name-dissect)
(tramp-archive-test16-directory-files)
(tramp-archive-test26-file-name-completion): Adapt to changed
test file.
(tramp-archive-test08-file-local-copy): Be more robust in cleanup.
* test/lisp/net/tramp-archive-resources/foo.tar.gz: Adapt to
extended test.
Eli Zaretskii [Tue, 30 Jan 2018 16:24:08 +0000 (18:24 +0200)]
Minor change in "Mode Line" section of Emacs manual
* doc/emacs/screen.texi (Mode Line): Mention tooltips shown when
hovering the mouse over the mode line. Suggested by Eduardo
Mercovich <eduardo@mercovich.net> in emacs-manual-bugs@gnu.org.
Glenn Morris [Tue, 30 Jan 2018 15:50:25 +0000 (07:50 -0800)]
Merge from origin/emacs-26
bc8dc37 (origin/emacs-26) Minor copyedits in "Distribution" chapter o... 1c7a936 Minor copyedits in "Entering" chapter of Emacs manual. 1d4498b Minor wording change in the Emacs manual 2bf49e7 Fix a typo in the Emacs manual f3546a2 Improve the "Basic" chapter of the Emacs manual 691431e Resurrect lost text in lispref 956807b * lisp/emacs-lisp/rx.el (rx): Fix the definition of 'blank'. 7d90d2e Proofread os.texi and files.texi 490c736 Minor improvements in the "International" chapter of Emacs ma... 79252d3 Minor improvement in "Text" chapter of Emacs manual
Eli Zaretskii [Tue, 30 Jan 2018 15:20:14 +0000 (17:20 +0200)]
Minor copyedits in "Entering" chapter of Emacs manual.
* doc/emacs/entering.texi (Entering Emacs): Add a cross-reference
to MS-Windows startup procedures. Clarify wording. Suggested by
Francis Wright <f.j.wright@live.co.uk> in emacs-manual-bugs@gnu.org.
Eli Zaretskii [Tue, 30 Jan 2018 14:53:25 +0000 (16:53 +0200)]
Fix a typo in the Emacs manual
* doc/emacs/custom.texi (Customization Groups): Fix a typo.
Reported by Jonathan Kyle Mitchell <kyle@jonathanmitchell.org> in
emacs-manual-bugs@gnu.org.
Eli Zaretskii [Tue, 30 Jan 2018 14:31:27 +0000 (16:31 +0200)]
Improve the "Basic" chapter of the Emacs manual
* doc/emacs/basic.texi (Inserting Text): De-confuse text.
(Position Info): Add a cross-reference to where
display-line-numbers-mode is described. Reported by Joshua
Branson <jbranso@fastmail.com> in emacs-manual-bugs@gnu.org.
Glenn Morris [Tue, 30 Jan 2018 07:01:11 +0000 (23:01 -0800)]
Recognize more system descriptions in report-emacs-bug
* lisp/mail/emacsbug.el (report-emacs-bug--os-description):
New function, split from report-emacs-bug. Also parse the
standard /etc files that can contain release information.
(report-emacs-bug): Call report-emacs-bug--os-description.
Eli Zaretskii [Mon, 29 Jan 2018 17:47:50 +0000 (19:47 +0200)]
Minor improvements in the "International" chapter of Emacs manual
* doc/emacs/mule.texi (File Name Coding): Stop enumerating all the
versions of MS-Windows.
(Modifying Fontsets, Unibyte Mode, Bidirectional Editing): Improve
wording. Reported by Francis Wright <f.j.wright@live.co.uk> in
emacs-manual-bugs@gnu.org.
Eli Zaretskii [Mon, 29 Jan 2018 16:39:04 +0000 (18:39 +0200)]
Minor improvement in "Text" chapter of Emacs manual
* doc/emacs/text.texi (Words): Improve wording. Reported by
Marcin Borkowski <mbork@mbork.pl> in
http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00784.html.
Glenn Morris [Mon, 29 Jan 2018 15:50:21 +0000 (07:50 -0800)]
Merge from origin/emacs-26
6415b2d Allow read-passwd to hide characters inserted by C-y. (Secur... 8cb4ffb * etc/PROBLEMS: Document issues with double-buffering. (Bug#... fd10070 * lisp/window.el (window-largest-empty-rectangle): Fix grammar. e1a4403 Minor changes in the Emacs manual 372fda6 Improve the "Files" chapter of the Emacs manual 9afc86d Improve the "Search" chapter of the Emacs manual 22f98b3 * src/indent.c (Findent_to): Doc fix. (Bug#30260) 085ee43 Improve documentation of 'edebug-defun' 4dd1b33 Mention crashes due to Noto Serif Kannada fonts
* test/src/emacs-module-tests.el (emacs-module-tests--generic): New
helper function.
(module-function-object, mod-test-userptr-fun-test): Test that type
dispatching works with module types.
Martin Rudalics [Sun, 28 Jan 2018 18:27:39 +0000 (19:27 +0100)]
Fix some issues in the emacs/lispref manuals
* doc/emacs/basic.texi (Continuation Lines):
* doc/emacs/building.texi (GDB User Interface Layout):
* doc/emacs/dired.texi (Misc Dired Features):
* doc/emacs/maintaining.texi (Identifier Search):
* doc/emacs/mark.texi (Using Region):
* doc/emacs/misc.texi (Document View, DocView Conversion):
* doc/emacs/modes.texi (Major Modes):
* doc/emacs/mule.texi (Input Methods, Unibyte Mode):
* doc/emacs/sending.texi (Mail Methods): Replace @code by
@kbd.
* doc/emacs/frames.texi (Text-Only Mouse):
* doc/lispref/maps.texi (Standard Keymaps): Replace @kbd by
@key.
* doc/lispref/compile.texi (Compiler Errors): Write
non-@code{nil} instead of non-nil.
* doc/lispref/debugging.texi (Internals of Debugger):
'backtrace' is not a command. 'debugger-stack-frame-as-list'
is an option.
* doc/lispref/display.texi (Size of Displayed Text):
'window-lines-pixel-dimensions' has a last argument 'left'.
* doc/lispref/display.texi (Attribute Functions):
'set-face-underline' and 'set-face-inverse-video' are
commands.
(Tooltips): 'tooltip-frame-parameters' is an option.
(Bidirectional Display): 'bidi-paragraph-direction' is an
option.
* doc/lispref/frames.texi (Cursor Parameters): 'cursor-type'
is an option.
(Input Focus): Argument FRAME of 'x-focus-frame' is not
optional.
(Child Frames): Both arguments of 'frame-ancestor-p' are
non-optional. 'iconify-child-frame' is an option.
* doc/lispref/os.texi (Killing Emacs):
'kill-emacs-query-functions' is an option.
* doc/lispref/windows.texi (Mouse Window Auto-selection):
'mouse-autoselect-window' is an option.
Philipp Stephani [Thu, 21 Dec 2017 17:25:49 +0000 (18:25 +0100)]
Prevent name clashes between CL structures and builtin types
* lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Don't allow
structures with the same names as builtin types.
(cl--typeof-types, cl--all-builtin-types): Move from cl-generic.el and
rename.
(cl--struct-name-p): New helper function.
* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Don't allow structures
with the same names as builtin types.
* lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-generalizer)
(cl-generic-generalizers): Adapt to name change.
* test/lisp/emacs-lisp/cl-macs-tests.el (cl-defstruct/builtin-type):
* test/lisp/emacs-lisp/cl-preloaded-tests.el
(cl-struct-define/builtin-type): New unit tests.
Alan Mackenzie [Sun, 28 Jan 2018 17:53:07 +0000 (17:53 +0000)]
Fix some errors in c-display-defun-name when the type is "struct {..}", etc.
Also fix some errors with c-display-defun-name when there are nested classes.
* lisp/progmodes/cc-cmds.el (c-in-function-trailer-p): Deal with a struct {..}
being merely the type of a function.
(c-where-wrt-brace-construct): Deal with a struct {..} being merely the type
of a function. Rearrange the order of some Lisp forms. Insert a check for
c-protection-key ("private", etc.) alongside the checking for a label.
(c-defun-name-1): New function extracted form c-defun-name, which works within
the existing restriction. Don't regard 'at-function-end as being within the
defun any more. Recognize "struct", etc., with the new
c-defun-type-name-decl-key rather than c-type-prefix-key. Make the
recognition of a normal function more accurate.
(c-defun-name): Part left after extracting the above function. It now just
widens and calls c-defun-name-1.
(c-declaration-limits-1): New function extracted from c-declaration-limits,
which works within the existing restriction. Move LIM back one block to
account for the possibility of struct {..} as a function type. Check we're
not inside a declaration without braces.
(c-declaration-limits): Part left after extracting the above function. It now
just narrows to an enclosing decl block and calls c-declaration-limits-1.
(c-defun-name-and-limits): New function which identifies the name and limits
of the most nested enclosing declaration or macro.
(c-display-defun-name): Use c-defun-name-and-limits rather than two separate
functions (which didn't always agree on which function).
* lisp/progmodes/cc-engine.el (c-beginning-of-statement-1): If we have struct
{..} as the type of a function, go back over this, too.
* lisp/progmodes/cc-langs.el (c-defun-type-name-decl-kwds)
(c-defun-type-name-decl-key): New lang const/var.
Eli Zaretskii [Sun, 28 Jan 2018 17:14:14 +0000 (19:14 +0200)]
Adjudicate comments to "International" chapter of Emacs manual
* doc/emacs/mule.texi (International Chars)
(Language Environments, Input Methods, Defining Fontsets)
(Modifying Fontsets): Minor wording changes and typo fixes.
Reported by Francis Wright <f.j.wright@live.co.uk> in
emacs-manual-bugs@gnu.org.
Noam Postavsky [Sun, 28 Jan 2018 15:23:18 +0000 (10:23 -0500)]
Revert "Signal error for symbol names with strange quotes (Bug#2967)"
That commit did not make the corresponding change to printing, thus
breaking the (eq (read (prin1-to-string SYM)) SYM) invariant for those
symbols. It's too late in the release cycle to change printing
behavior, therefore revert the reader change.
Don't merge to master, the print function will be updated there (see
"Fix round tripping of read->print for symbols with strange quotes").
Noam Postavsky [Tue, 23 Jan 2018 23:50:23 +0000 (18:50 -0500)]
Fix round tripping of read->print for symbols with strange quotes
Since 2017-07-22 "Signal error for symbol names with strange
quotes (Bug#2967)", symbol names beginning with certain quote
characters require an escaping backslash. However, the corresponding
change for printing missed, so that (eq (read (prin1-to-string SYM))
SYM) does not give `t' for such symbols.
* src/character.c (confusable_symbol_character_p): New function,
extracted from test `read1'.
* src/lread.c (read1): Use it.
* src/print.c (print_object): Use it to print a backslash for symbols
starting with characters that `read1' requires to be escaped.
* test/src/print-tests.el (print-read-roundtrip): New test.
* etc/NEWS.26:
* etc/NEWS: Clarify the announcement for the earlier reader
change (Bug#30217).
Simen Heggestøyl [Sun, 28 Jan 2018 14:35:46 +0000 (15:35 +0100)]
Shorten CSS hex colors when possible
* lisp/textmodes/css-mode.el (css--format-hex): New function for
shortening CSS hex colors when possible.
(css--named-color-to-hex, css--rgb-to-named-color-or-hex): Use it.
* test/lisp/textmodes/css-mode-tests.el (css-test-format-hex): New
tests for 'css--format-hex'.
(css-test-named-color-to-hex, css-test-cycle-color-format): Adjust for
the changes to 'css--named-color-to-hex' and
'css--rgb-to-named-color-or-hex'.
Alan Mackenzie [Sat, 27 Jan 2018 22:02:45 +0000 (22:02 +0000)]
Allow read-passwd to hide characters inserted by C-y. (Security fix.)
This fixes bug #30186. The with-silent-modifications was there to prevent
records of text property manipulations being put into buffer-undo-list. These
had been causing a significant slowdown in CC Mode with C-_ after a large
C-y. This CC Mode problem has since been solved by a different workaround.
* lisp/subr.el (remove-yank-excluded-properties): Remove the invocation of
with-silent-modifications around the text property manipulations.