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.
Eli Zaretskii [Sat, 27 Jan 2018 11:17:24 +0000 (13:17 +0200)]
Improve the "Files" chapter of the Emacs manual
* doc/emacs/files.texi (File Shadowing): Rearrange text to explain
the notion of shadowing before describing the commands. Suggested
by Will Korteland <emacs-devel@korte.land> in
emacs-manual-bugs@gnu.org.
Eli Zaretskii [Sat, 27 Jan 2018 10:53:29 +0000 (12:53 +0200)]
Improve the "Search" chapter of the Emacs manual
* doc/emacs/search.texi (Regexps, Regexp Backslash): Improve and
clarify wording.
(Search Customizations): Fix a typo. Reported by Will Korteland
<emacs-devel@korte.land> in emacs-manual-bugs@gnu.org.
Noam Postavsky [Mon, 11 Dec 2017 23:53:34 +0000 (18:53 -0500)]
Raise limit of regexp repetition (Bug#24914)
* src/regex.h (RE_DUP_MAX): Raise limit to 2^16-1.
* etc/NEWS: Announce it.
* doc/lispref/searching.texi (Regexp Backslash): Document it.
* test/src/regex-tests.el (regex-repeat-limit): Test it.
* src/regex.h (reg_errcode_t): Add REG_ESIZEBR code.
* src/regex.c (re_error_msgid): Add corresponding entry.
(GET_INTERVAL_COUNT): Return it instead of the more generic REG_EBADBR
when encountering a repetition greater than RE_DUP_MAX.
* lisp/isearch.el (isearch-search): Don't convert errors starting with
"Invalid" into "incomplete". Such errors are not incomplete, in the
sense that they cannot be corrected by appending more characters to
the end of the regexp. The affected error messages are:
- REG_BADPAT "Invalid regular expression"
- \\(?X:\\) where X is not a legal group number
- \\_X where X is not < or >
- REG_ECOLLATE "Invalid collation character"
- There is no code to throw this.
- REG_ECTYPE "Invalid character class name"
- [[:foo:] where foo is not a valid class name
- REG_ESUBREG "Invalid back reference"
- \N where N is referenced before matching group N
- REG_BADBR "Invalid content of \\{\\}"
- \\{N,M\\} where N < 0, M < N, M or N larger than max
- \\{NX where X is not a digit or backslash
- \\{N\\X where X is not a }
- REG_ERANGE "Invalid range end"
- There is no code to throw this.
- REG_BADRPT "Invalid preceding regular expression"
- We never throw this. It would usually indicate a "*" with no
preceding regexp text, but Emacs allows that to match a literal
"*".
Noam Postavsky [Sat, 27 Jan 2018 01:45:38 +0000 (20:45 -0500)]
Merge from emacs-26
463f96b481 * doc/lispref/searching.texi: Document regexp repetition l... 08a6195571 ; test/README: Document TEST_LOAD_EL parameter. 7bbea90b1a * src/syntax.c (char-syntax): Warn about ignoring text pro... 50fcbb5f61 ; * src/process.c (Fprocess_contact): Fix docstring typo. 81ae9c8c05 Load mm-util as needed for url-file and url-data (Bug#30258) 5a1ee67ae1 Another minor copyedit in the manual's "Scroll Bars" 226a651e9e Minor fix in documentation of 'equal' b26786c8d9 * lisp/dired-x.el (dired-guess-shell-alist-user): Doc fix.... 5699a824f0 Minor rewording in Emacs manual's "Help Mode" node f35ff0156e Fixes for Emacs manual in frames.texi 6cd4e8dcc5 * doc/misc/cl.texi (Efficiency Concerns): Fix 2012-10-27 t... 1412cf3edd Fix a few issues with latest GTK scaling changes 59db8dca03 Use scaled coordinates when calling into GTK 2892f05792 Scale monitor dimensions obtained from GTK
Eli Zaretskii [Fri, 26 Jan 2018 13:48:30 +0000 (15:48 +0200)]
Another minor copyedit in the manual's "Scroll Bars"
* doc/emacs/frames.texi (Scroll Bars): Mention that up/down and
left/right buttons may be absent from the toolkit scroll bars.
Reported by Robert Pluim <rpluim@gmail.com> in
emacs-manual-bugs@gnu.org.
Andy Moreton [Fri, 26 Jan 2018 10:09:42 +0000 (12:09 +0200)]
Fix emacs-module-tests to work out of build tree
* test/Makefile.in (test_module_dir): Build the test module library in
a subdirectory of the build directory (not the source tree).
(MODULE_CFLAGS): Fix location of emacs-module.h header file.
(test_module): Move built library out of the source tree.
* test/src/emacs-module-tests.el (mod-test-file): Locate the test module
library relative to the running Emacs executable.
Eli Zaretskii [Fri, 26 Jan 2018 09:43:05 +0000 (11:43 +0200)]
Minor rewording in Emacs manual's "Help Mode" node
* doc/emacs/help.texi (Help Mode): Minor rewording of description
of 'help-follow-symbol'. Suggested by Richard Stallman
<rms@gnu.org> in emacs-manual-bugs@gnu.org.
Eli Zaretskii [Fri, 26 Jan 2018 09:25:24 +0000 (11:25 +0200)]
Fixes for Emacs manual in frames.texi
* doc/emacs/frames.texi (Scroll Bars, Mouse Commands)
(Window Dividers): Minor clarifications and spelling/markup
changes. Suggested by Robert Pluim <rpluim@gmail.com> in
emacs-manual-bugs@gnu.org.
Juri Linkov [Thu, 25 Jan 2018 21:40:52 +0000 (23:40 +0200)]
* lisp/arc-mode.el (archive-extract): Let-bind `create-lockfiles' to nil
to prevent directory time modification by lock_file on visiting
a file from archive. (Bug#30215)
(archive-summarize): Let-bind `create-lockfiles' to nil
instead of `buffer-file-truename'.