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.
Paul Eggert [Sun, 3 Jan 2016 23:00:49 +0000 (15:00 -0800)]
Avoid stdio in SIGINT handler
* admin/merge-gnulib (GNULIB_MODULES): Add ignore-value.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/ignore-value.h: New file, from gnulib.
* src/keyboard.c: Include it.
(write_stdout, read_stdin): New functions.
(handle_interrupt): Use them instead of printf and getchar,
and avoid fflush when handling signals.
Eli Zaretskii [Sun, 3 Jan 2016 15:22:06 +0000 (17:22 +0200)]
Fix compilation next-error in buffers with selective-display
* lisp/progmodes/compile.el (compilation-beginning-of-line): New
function.
(compilation-internal-error-properties)
(compilation-next-error-function, compilation-set-window): Use
it. (Bug#1092)
(Maybe this is the last merge from Gnus git to Emacs git)
Cf. discussion on ding mailing list, messages in
<http://thread.gmane.org/gmane.emacs.gnus.general/86228>.
Common code from the three files mml-smime.el, mml1991.el, and
mml2015.el is moved to mml-sec.el. Auxiliary functions are added
to gnus-util.el.
The code is supported by test cases with necessary test keys.
Documentation in message.texi is updated.
* doc/misc/message.texi (Security, Using S/MIME):
Update for refactoring mml-smime.el, mml1991.el, mml2015.el.
(Using OpenPGP): Rename from "Using PGP/MIME"; update contents.
(Passphrase caching, Encrypt-to-self, Bcc Warning): New sections.
* lisp/gnus/gnus-util.el (gnus-test-list, gnus-subsetp, gnus-setdiff):
New functions.
* lisp/gnus/mml-sec.el: Require gnus-util and epg.
(epa--select-keys): Autoload.
(mml-signencrypt-style-alist, mml-secure-cache-passphrase): Doc fix.
(mml-secure-openpgp-signers): New user option;
make mml1991-signers and mml2015-signers obsolete aliases to it.
(mml-secure-smime-signers): New user option;
make mml-smime-signers an obsolete alias to it.
(mml-secure-openpgp-encrypt-to-self): New user option;
make mml1991-encrypt-to-self and mml2015-encrypt-to-self obsolete
aliases to it.
(mml-secure-smime-encrypt-to-self): New user option;
make mml-smime-encrypt-to-self an obsolete alias to it.
(mml-secure-openpgp-sign-with-sender): New user option;
make mml2015-sign-with-sender an obsolete alias to it.
(mml-secure-smime-sign-with-sender): New user option;
make mml-smime-sign-with-sender an obsolete alias to it.
(mml-secure-openpgp-always-trust): New user option;
make mml2015-always-trust an obsolete alias to it.
(mml-secure-fail-when-key-problem, mml-secure-key-preferences):
New user options.
(mml-secure-cust-usage-lookup, mml-secure-cust-fpr-lookup)
(mml-secure-cust-record-keys, mml-secure-cust-remove-keys)
(mml-secure-add-secret-key-id, mml-secure-clear-secret-key-id-list)
(mml-secure-cache-passphrase-p, mml-secure-cache-expiry-interval)
(mml-secure-passphrase-callback, mml-secure-check-user-id)
(mml-secure-secret-key-exists-p, mml-secure-check-sub-key)
(mml-secure-find-usable-keys, mml-secure-select-preferred-keys)
(mml-secure-fingerprint, mml-secure-filter-keys)
(mml-secure-normalize-cust-name, mml-secure-select-keys)
(mml-secure-select-keys-1, mml-secure-signer-names, mml-secure-signers)
(mml-secure-self-recipients, mml-secure-recipients)
(mml-secure-epg-encrypt, mml-secure-epg-sign): New functions.
* lisp/gnus/mml-smime.el: Require epg;
refactor declaration and autoloading of epg functions.
(mml-smime-use): Doc fix.
(mml-smime-cache-passphrase, mml-smime-passphrase-cache-expiry):
Obsolete.
(mml-smime-get-dns-cert, mml-smime-get-ldap-cert):
Use format instead of gnus-format-message.
(mml-smime-epg-secret-key-id-list): Remove variable.
(mml-smime-epg-passphrase-callback, mml-smime-epg-find-usable-key)
(mml-smime-epg-find-usable-secret-key): Remove functions.
(mml-smime-epg-sign, mml-smime-epg-encrypt): Refactor.
Stefan Monnier [Sat, 2 Jan 2016 18:03:42 +0000 (13:03 -0500)]
(semantic-symref-derive-find-filepatterns): Return a list
* lisp/cedet/semantic/symref/grep.el
(semantic-symref-derive-find-filepatterns): Return a list.
(semantic-symref-perform-search): Quote the result here once and for all.
Eli Zaretskii [Sat, 2 Jan 2016 15:24:48 +0000 (17:24 +0200)]
Fix xref-find-references on MS-Windows
* lisp/cedet/semantic/symref/grep.el
(semantic-symref-derive-find-filepatterns): Use
'shell-quote-argument' instead of manually quoting in a way that
only works with Posix shells. (Bug#22289)
Anders Lindgren [Sat, 2 Jan 2016 14:54:01 +0000 (15:54 +0100)]
; Fixed visual bell artifact problem on NextStep.
* src/nsterm.m (EmacsBell): Add feature to remove visual bell
unconditionally.
(hide_bell): New function.
(ns_copy_bits): Hide visible bell before scrolling the frame content.
Eli Zaretskii [Sat, 2 Jan 2016 12:06:02 +0000 (14:06 +0200)]
Document new features of Whitespace mode
* doc/emacs/display.texi (Useless Whitespace): Document
'whitespace-toggle-options' and the new 'big-indent' style.
Document 'whitespace-big-indent-regexp'. Document the Global
Whitespace mode.