Simen Heggestøyl [Thu, 14 Jan 2016 18:24:03 +0000 (19:24 +0100)]
Disallow parenthesis in non-pseudo CSS selectors
* lisp/textmodes/css-mode.el (css--font-lock-keywords): Disallow
parenthesis in selectors except for in the function notation that
might appear right after a pseudo-class.
* test/indent/scss-mode.scss: Add a test for it.
Eli Zaretskii [Wed, 13 Jan 2016 19:14:22 +0000 (21:14 +0200)]
Document obsoletion of 'intangible' and 'point-entered/left'
* doc/lispref/text.texi (Special Properties): Document the new
properties 'cursor-intangible' and 'cursor-sensor-functions'.
Document the obsolete status of 'intangible', 'pointer-left',
and 'point-entered' properties, and of 'inhibit-point-motion-hooks'.
* doc/lispref/display.texi (Overlay Properties): Document that
'intangible' overlay property is obsolete.
Paul Eggert [Tue, 12 Jan 2016 21:04:17 +0000 (13:04 -0800)]
Merge from gnulib
This mostly just changes "UTC" to "UTC0" for POSIX conformance.
It also updates to the latest version of texinfo.tex.
* build-aux/gitlog-to-changelog, build-aux/move-if-change:
* build-aux/update-copyright, doc/misc/texinfo.tex:
Update from gnulib.
Paul Eggert [Tue, 12 Jan 2016 17:09:27 +0000 (09:09 -0800)]
Fix time-stamp-time-zone bugs introduced in July
This fixes a bug introduced when the July changes to
format-time-string installed, as the changes were not
correctly handled in this module (Bug#22302).
Also, document time stamp time zones.
* lisp/time-stamp.el (time-stamp-time-zone): Document values better.
(time-stamp--format): New private function.
(time-stamp-string, time-stamp-string-preprocess)
(time-stamp-do-number): Use it.
* doc/emacs/files.texi (Time Stamps): Mention time zones.
* doc/misc/autotype.texi (Timestamps): Document time-stamp-time-zone.
Eli Zaretskii [Tue, 12 Jan 2016 16:41:58 +0000 (18:41 +0200)]
Make piping to subprocesses more robust on MS-Windows
* src/w32.c (sys_write): Don't write to a pipe more stuff than its
buffer can hold. Don't return -1 if something has been written to
the pipe. Zero out 'errno' before calling '_write', to avoid
returning a stale value. (Bug#22344)
* src/w32proc.c (syms_of_ntproc) <w32-pipe-buffer-size>: New variable.
* src/w32.c (pipe2): Use it to request a user-defined size for the
pipe being created.
Alan Mackenzie [Mon, 11 Jan 2016 17:46:04 +0000 (17:46 +0000)]
Java Mode: Fontify identifiers in the presence of annotations.
* lisp/progmodes/cc-engine.el (c-forward-annotation): Tidy up the coding:
Don't move point when the defun fails.
(c-forward-decl-or-cast-1): Correct a usage of match data.
* lisp/progmodes/cc-fonts.el (c-font-lock-maybe-decl-faces): Remove.
(c-font-lock-declarations): Use the new c-maybe-decl-faces in place of the
removed variable.
* lisp/progmodes/cc-langs.el (c-maybe-decl-faces): New language variable.
Eli Zaretskii [Mon, 11 Jan 2016 16:05:40 +0000 (18:05 +0200)]
Avoid an infloop when we run out of memory
* src/alloc.c (garbage_collect_1): Don't bother saving and
restoring the echo-area message if we are GC'ing after running out
of memory. This avoids an infloop due to repeated attempts to
allocate memory for the cons cell needed to save the message,
which signals the memory-full error, which attempts to save the
echo-area message, which signals memory-full again, etc.
Eli Zaretskii [Mon, 11 Jan 2016 16:00:13 +0000 (18:00 +0200)]
Avoid unnecessary failures of auto-saving after fatal error
* src/w32.c (map_w32_filename): Avoid non-trivial system calls for
the benefit of FAT volumes if we are called as part of shutting
down due to a fatal error, which probably means we are trying to
auto-save the session.
* src/lread.c (check_obarray): Don't bother making the obarray
valid if we are shutting down due to a fatal error. This avoids
interfering with auto-saving the crashed session.
Paul Eggert [Mon, 11 Jan 2016 05:41:59 +0000 (21:41 -0800)]
Simplify HAVE_MODULES use in mark_maybe_pointer
* src/alloc.c (HAVE_MODULES): Now a constant 0 if not defined,
so that later code can use 'if' rather than '#ifdef'.
(mark_maybe_pointer): Simplify based on HAVE_MODULES now
always working.
Paul Eggert [Mon, 11 Jan 2016 05:39:55 +0000 (21:39 -0800)]
Revert attempt to use 'noexcept' in typedef
This use of 'noexcept' runs afoul of the C++11 standard.
Problem reported by Philipp Stephani in:
http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00706.html
* src/emacs-module.c (emacs_finalizer_function):
Move this typedef here ...
* src/emacs-module.h: ... from here, and use only the C
version of the typedef. The typedef is now private since it
is never used in the .h file now and anyway it seemed to be
causing more confusion than it cured.
(make_user_ptr, get_user_finalizer, set_user_finalizer):
Open-code the type instead.
Eli Zaretskii [Sun, 10 Jan 2016 17:24:54 +0000 (19:24 +0200)]
Document new features if Eshell
* doc/misc/eshell.texi (Input/Output): Document the new
'#<bufname>' syntax.
(Input/Output): Document 'eshell-destroy-buffer-when-process-dies'.
Disable "Key Index" generation, as there are no @kindex entries in
this manual.
Michael Albinus [Sun, 10 Jan 2016 12:07:21 +0000 (13:07 +0100)]
Handle too long commands in Tramp
* lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
(tramp-do-file-attributes-with-ls): Send sequence of commands, in
order to not exceed shell command line limit.
* test/automated/tramp-tests.el (tramp--test-darwin-p): Remove.
(tramp--test-utf8): Include Arabic file name, again.
Dmitry Gutov [Sun, 10 Jan 2016 01:09:42 +0000 (04:09 +0300)]
Use short date for 'hg annotate', and output the author
* lisp/vc/vc-hg.el (vc-hg-annotate-command):
Change '-d' to '-dq'. (Bug#21805)
(vc-hg-annotate-switches): Default to "-u" "--follow".
(vc-hg-annotate-re): Update to recognize the short date format
and the optional username.
(vc-hg-annotate-time)
(vc-hg-annotate-extract-revision-at-line): Update accordingly.
Eli Zaretskii [Sat, 9 Jan 2016 19:12:46 +0000 (21:12 +0200)]
Document the user-level features of the Xref package
* doc/emacs/maintaining.texi (Maintaining): Add a list of
described features.
(Xref): New section, made out of thoroughly rewritten "Tags"
section.
(Find Identifiers, Looking Up Identifiers, Xref Commands)
(Identifier Search, List Identifiers): New subsections,
incorporating the old tags commands and the new xref commands.
(Tags Tables, Tag Syntax, Create Tags Table, Etags Regexps):
Section and subsections demoted to a lower level.
* doc/emacs/search.texi (Search):
* doc/emacs/windows.texi (Pop Up Window):
* doc/emacs/frames.texi (Creating Frames):
* doc/emacs/programs.texi (Imenu, Symbol Completion):
* doc/emacs/building.texi (Grep Searching):
* doc/emacs/dired.texi (Operating on Files):
* doc/emacs/glossary.texi (Glossary): All references to tags changed.
Alan Mackenzie [Sat, 9 Jan 2016 15:18:29 +0000 (15:18 +0000)]
Allow the use of `font-lock-extend-region-multiline' in CC Mode.
* lisp/progmodes/cc-mode.el (c-font-lock-init): Remove
`font-lock-extend-regions-wholelines' from
`font-lock-extend-region-functions' rather than setting the latter to
nil.
* lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
Set coding system to `utf-8-hfs' for Mac OS X.
* test/automated/tramp-tests.el (tramp-test29-vc-registered):
Flush directory properties when needed.
(tramp--test-utf8): Include Chinese file name, again.
Eli Zaretskii [Sat, 9 Jan 2016 08:55:35 +0000 (10:55 +0200)]
Update 'load-history' docs
* doc/lispref/loading.texi (Where Defined): Update the list of
forms in 'load-history' by adding the forms created for the
'cl-generic' generics. (Bug#21422)
Paul Eggert [Fri, 8 Jan 2016 22:53:10 +0000 (14:53 -0800)]
Fix (error ...) error
Problem reported by Glenn Morris in:
http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00561.html
* lisp/vc/add-log.el (change-log-goto-source): Fix typos
introduced in my Aug 28 change, where I got confused by the
two meanings of (error ...).
Alan Mackenzie [Fri, 8 Jan 2016 22:42:47 +0000 (22:42 +0000)]
Correctly analyze brace arguments in templated C++ function declarations.
* lisp/progmodes/cc-defs.el (c-go-list-forward, c-go-list-backward): add
POS and LIMIT parameters, like the other c-go-list-* functions have.
* lisp/progmodes/cc-engine.el (c-restore-<>-properties): Check backwards
for a ?\( rather than a ?<. (c-looking-at-inexpr-block): Handle names
followed by template specifiers.
Alan Mackenzie [Fri, 8 Jan 2016 14:41:58 +0000 (14:41 +0000)]
Respect fontification region calculated by major mode. Fixes bug #22316.
* lisp/font-lock.el (font-lock-extend-jit-lock-region-after-change): when a
fontification region has been calculated by a function on
font-lock-extend-after-change-region-function use this region rather than
changing the end position to somewhere else.
Dmitry Gutov [Fri, 8 Jan 2016 11:32:27 +0000 (14:32 +0300)]
Fix two project-find-file issues
* lisp/progmodes/project.el (project--value-in-dir):
Temporarily set enable-local-variables to :all.
(project-find-file, project-or-external-find-file):
All autoloads.
(project--find-file-in): Require xref.
Eli Zaretskii [Fri, 8 Jan 2016 10:40:14 +0000 (12:40 +0200)]
Clarify doc string of 'dired-current-directory'
* lisp/dired.el (dired-current-directory): Doc fix: clarify that
the return value might not end in a slash when called with the
optional argument non-nil. (Bug#6273)
Eli Zaretskii [Fri, 8 Jan 2016 10:12:53 +0000 (12:12 +0200)]
Use the face of preceding text for displaying the ellipsis
* src/xdisp.c (setup_for_ellipsis): Use the face of the preceding
text in it->saved_face_id for displaying the ellipsis, and ignore
the face, if any, of the invisible text. (Bug#22320)
Dmitry Gutov [Thu, 7 Jan 2016 23:26:55 +0000 (02:26 +0300)]
apropos-library: Skip obvious duplicates; don't error on generics
* lisp/apropos.el (apropos-library): Skip "was an autoload"
entries, to avoid obvious duplicates. For each cl-defmethod
entry, take just its function symbol (bug#21422).
* lisp/progmodes/project.el (project-find-file)
(project-or-external-find-file): New commands.
(project--find-file-in): New private function.
* lisp/progmodes/xref.el (xref-collect-matches): Use
`expand-file-name' on DIR, to expand the tildes.
(xref--find-ignores-arguments): Extract from
`xref--rgrep-command'.
Andreas Schwab [Wed, 6 Jan 2016 19:50:02 +0000 (20:50 +0100)]
Properly encode/decode base64Binary data in SOAP
* lisp/net/soap-client.el (soap-encode-xs-basic-type): Encode
base64Binary value as utf-8.
(soap-decode-xs-basic-type): Decode base64Binary value as utf-8.
Eli Zaretskii [Wed, 6 Jan 2016 18:25:45 +0000 (20:25 +0200)]
Obey coding-system-for-write when writing stdout/stderr in batch
* src/print.c (printchar_to_stream):
* src/xdisp.c (message_to_stderr): If coding-system-for-write has
a non-nil value, use it to encode output in preference to
locale-coding-system. See the discussions in
http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00048.html
for the details.
* doc/lispref/os.texi (Terminal Output): Document how to send
non-ASCII text via 'send-string-to-terminal'.
(Batch Mode): Document how text written to standard streams is
encoded. Fix inaccuracy regarding which output streams are used
by output functions in batch mode.
Xue Fuqiao [Wed, 6 Jan 2016 09:17:24 +0000 (17:17 +0800)]
* doc/misc/efaq.texi (Packages that do not come with Emacs):
Update the URI of MELPA and marmalade-repo. Reported by CHENG Gao
<chenggao@royau.me> in
https://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00390.html.
Paul Eggert [Tue, 5 Jan 2016 17:01:21 +0000 (09:01 -0800)]
Reword transient-mark-mode doc string
* src/buffer.c (syms_of_buffer): Reword doc string to avoid confusion.
The value 'lambda (literally) can be interpreted as (quote lambda),
which is not intended here; we want just the lambda symbol.
Alan Mackenzie [Mon, 4 Jan 2016 22:29:33 +0000 (22:29 +0000)]
Apply text properties for <, > in new after-change function (C++ Java Modes).
These are category/syntax-table properties to give < and > paren syntax.
Also apply certain `c-type' text properties to the insides of <..> constructs
to ensure that identifiers contained by them get fontified. This patch fixes
bug #681.
* lisp/progmodes/cc-cmds.el (c-electric-lt-gt): Reformulate due to new
after-change action.
* lisp/progmodes/cc-engine.el (c-before-change-check-<>-operators): Expand
change region to include <s and >s which might not be already marked as
parens, rather than just when paren text properties are removed.
(c-restore-<>-properties): New after-change function, which applies text
properties marking < and > with paren syntax.
* lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Ensure `c-type'
properties are applied to the interiors of <...> constructs, to ensure
fontification of identifiers there.
* lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Add
c-restore-<>-properties to this list for C++ and Java.
* lisp/progmodes/cc-mode.el (c-common-init): When invoking
c-before-font-lock-functions, exclude c-restore-<>-properties from the
functions invoked.
(c-before-change): Initialize c-new-BEG/END here (rather than c-after-change)
to allow modification by before-change functions.
(c-after-change): Amend c-new-END here, rather than initializing it and
c-new-BEG.