1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-24 05:22:04 -08:00
Commit graph

6751 commits

Author SHA1 Message Date
Alan Mackenzie
80dcc23709 Rationalize the use of c-new-BEG and c-new-END in CC Mode.
Remove the now redundant c-old-BOM and c-old-EOM.

* lisp/progmodes/cc-engine.el (c-macro-cache-syntactic): Change and simplify
meaning.
(c-macro-cache-no-comment): New variable.
(c-invalidate-macro-cache, c-beginning-of-macro, c-end-of-macro): incorporate
the new c-macro-cache-no-comment.
(c-syntactic-end-of-macro): Make better use of c-macro-cache-syntactic.
(c-no-comment-end-of-macro): New function.

* lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Add
c-extend-font-lock-region-for-macros to C/C++/ObjC value.

* lisp/progmodes/cc-mode.el (c-old-BOM, c-old-EOM): Remove.
(c-extend-region-for-CPP): Put results in c-new-BEG/END rather than
c-old-BOM/EOM.
(c-extend-font-lock-region-for-macros): Simplify meaning, no longer returning
a cons for the new region, since the function is now called as an after-change
function.  No longer adjust c-new-END for the length of inserted/deleted
text.  Move the size restrictions on macros to here from
c-neutralize-syntax-in-and-mark-CPP.
(c-neutralize-syntax-in-and-mark-CPP): No longer adjust c-new-BEG/END here.
Use c-no-comment-end-of-macro rather than c-syntactic-end-of-macro to find the
upper boundary to "neutralize" syntactically obtrusive characters.
(c-change-expand-fl-region): Don't set c-new-END to next BOL when already at
one.
2016-05-29 12:22:17 +00:00
Alan Mackenzie
99950f7214 C++ Mode: attribute in class declaration fouls up indentation. Fix!
* lisp/progmodes/cc-engine.el (c-looking-at-decl-block): Add code to skip
back over noise clauses and attribute clauses.

* lisp/progmodes/cc-langs.el (c-paren-nontype-key): New language variable.
2016-05-28 15:17:28 +00:00
Paul Eggert
a6860c56aa Pacify 'make check-declare' 2016-05-26 13:39:41 -07:00
Eli Zaretskii
01d70ef7e6 Avoid byte-compiler warnings due to 'declare-function'
* lisp/w32-fns.el (set-message-beep, w32-get-locale-info)
(w32-get-valid-locale-ids):
* lisp/progmodes/js.el (ido-mode): Specify arglist in
'declare-function' forms, to avoid byte-compiler warnings.
2016-05-26 22:48:35 +03:00
Dmitry Gutov
8af79702fc Make js-mode's syntax highlighting work again
* lisp/progmodes/js.el (js-mode): Fix the assigned
font-lock-defaults value (bug#23603).
2016-05-24 13:09:32 +03:00
Stefan Monnier
850bcb1e58 * lisp/progmodes/cc-mode.el: Add minor comments
(c-change-expand-fl-region): Mark args as unused.
2016-05-23 20:25:28 -04:00
Sam Steingold
de45d9145d python-describe-at-point: add and bind 2016-05-18 09:56:17 -04:00
Alan Mackenzie
2d57359d2d Tidy up redundant code in cc-vars.el caused by mistake in emacs-25 -> master 2016-05-16 13:56:24 +00:00
Alan Mackenzie
116acebfbd Fix spurious fontification of "for (; a * b;)" in CC Mode.
This fixes bug #7918 (again).

* lisp/progmodes/cc-engine.el (c-delq-from-dotted-list): New function.
(c-forward-decl-or-cast-1): Return a 4 element list in place of the previous
cons cell - additionally, return a flag indicating whether the declaration
parsed might have been an expression, and the position of the type identifier
in the said declaration.

* lisp/progmodes/cc-fonts.el (c-font-lock-declarations): When
c-forward-decl-or-cast-1 has indicated it might have parsed an expression,
check for it being a spurious declaration in a "for" statement.
2016-05-16 11:27:39 +00:00
Paul Eggert
65c8c7cb96 Pacify ‘make check-declare’
* lisp/cedet/srecode/insert.el (data-debug-new-buffer)
(data-debug-insert-stuff-list, data-debug-insert-thing):
* lisp/emulation/viper-ex.el (viper-change-state-to-vi)
(viper-change-state-to-emacs):
* lisp/emulation/viper-macs.el (viper-change-state-to-vi):
* lisp/org/ob-asymptote.el (orgtbl-to-generic):
* lisp/org/ob-awk.el (orgtbl-to-generic):
* lisp/org/ob-core.el (org-edit-src-code, orgtbl-to-generic):
* lisp/org/ob-emacs-lisp.el (orgtbl-to-generic):
* lisp/org/ob-exp.el (org-element-context):
* lisp/org/ob-gnuplot.el (org-time-string-to-time)
(orgtbl-to-generic):
* lisp/org/ob-haskell.el (org-export-to-file):
* lisp/org/ob-latex.el (org-create-formula-image)
(org-latex-compile):
* lisp/org/ob-python.el (run-python):
* lisp/org/ob-sh.el (orgtbl-to-generic):
* lisp/org/ob-tangle.el (org-link-escape, org-back-to-heading):
* lisp/org/org-colview.el (org-agenda-redo):
* lisp/org/org-feed.el (url-retrieve-synchronously):
* lisp/org/org-info.el (Info-find-node):
* lisp/org/org-list.el (org-previous-line-empty-p):
* lisp/org/org-macs.el (org-string-match-p):
* lisp/org/org.el (org-beamer-mode):
Fix prototype to match current definition.
* lisp/emacs-lisp/advice.el (function-called-at-point):
* lisp/progmodes/prolog.el (compilation-shell-minor-mode):
Fix typo: extra '.
* lisp/emacs-lisp/cl-generic.el (cl-defmethod):
Insert ,' to pacify check-declare.
* lisp/org/ob-comint.el (tramp-flush-directory-property):
* lisp/org/ob-tangle.el (org-babel-update-block-body):
* lisp/org/org-bibtex.el (org-babel-trim):
* lisp/org/org-pcomplete.el (org-export-backend-options):
* lisp/org/org-protocol.el (org-publish-get-project-from-filename):
Fix file name in declare-function.
* lisp/org/ob-comint.el (with-parsed-tramp-file-name)
* lisp/org/ob-core.el (with-parsed-tramp-file-name):
* lisp/org/org.el (org-beamer-mode):
* lisp/url/url-http.el (gnutls-negotiate):
Append ‘t’ to declare-function, since the declaration isn’t a defun.
* lisp/org/ob-core.el (show-all):
Declare outline-show-all instead, since it is the
non-obsolete version of this function.
(org-save-outline-visibility): Remove; not needed.
* lisp/org/ob-scheme.el (run-geiser, geiser-mode)
(geiser-eval-region, geiser-repl-exit):
* lisp/org/ox-org.el (htmlize-buffer):
Prepend "ext:" to file name, since it is not part of Emacs.
* lisp/org/ob-sh.el (org-babel-comint-in-buffer)
* lisp/org/org-gnus.el (nnimap-group-overview-filename):
Remove decl, since function was removed.
* lisp/org/ob-sh.el (org-babel-comint-with-output):
* lisp/org/org-macro.el (org-with-wide-buffer):
Omit unnecessary (and mismatching) decl.
* lisp/org/org-agenda.el (calendar-absolute-from-iso):
* lisp/org/org-clock.el (calendar-iso-to-absolute):
Declare calendar-iso-to-absolute instead, since it is the
non-obsolete version of this function.
* lisp/org/org-compat.el (w32-focus-frame):
Remove decl, since function is now obsolete.
2016-05-14 19:57:44 -07:00
Paul Eggert
1adfb5ee55 Merge from origin/emacs-25
9c2a1a2 * doc/misc/texinfo.tex: Sync from gnulib.
66cd4d8 * lisp/emacs-lisp/find-func.el (find-feature-regexp) (find-al...
1a5a05c Do not mistake colon at the end of regexp for slash symbol
4c5a00b Make package-install-from-buffer not move point
9596ea1 ; Revert "* emacs-lisp/lisp-mnt.el (lm-header): save-excursion"
f79c352 Redo the fix for bug#21839
8d2f78c Don't treat JS spread as contination method call
2016-05-13 07:45:30 -07:00
Dmitry Gutov
1a5a05cf6f Do not mistake colon at the end of regexp for slash symbol
* lisp/progmodes/ruby-mode.el (ruby-syntax-propertize):
Check the parse state in the "Symbols with special characters"
rule (bug#23515).
2016-05-12 03:18:45 +03:00
Dmitry Gutov
8d2f78c421 Don't treat JS spread as contination method call
* lisp/progmodes/js.el (js--indent-operator-re):
Allow only one dot (bug#23492).

* test/indent/js.js (default): Add a corresponding example.
2016-05-11 02:27:46 +03:00
Paul Eggert
6d0703a01d Merge from origin/emacs-25
d0d9f55 Allow newlines inside cl function arglists
963541a Publicize cl--generic-all-functions
3c581d5 ; Fix typo
e58f900 Add some "safe-local-variable" declarations for compatibility...
2016-05-10 07:44:28 -07:00
Alan Mackenzie
8939ae68d4 Revert "Fix spurious fontification of "for (; a * b;)" in CC Mode."
This reverts commit 89d1776b81.  It is
being reverted because it slowed down CC Mode's fontification too much
(factor ~3).  It was the fix to bug #7918.
2016-05-10 14:36:02 +00:00
Alan Mackenzie
e58f900e6d Add some "safe-local-variable" declarations for compatibility with master.
These enable C files from the master repository to be visited in Emacs 25
without generating irritating questions about configuration variable safety.

* lisp/progmodes/cc-vars.el: (c-string-list-p, c-string-or-string-list-p): New
functions.
(c-noise-macro-names, c-noise-macro-with-parens-names): give the
safe-local-variable property c-string-list-p.
(c-macro-names-with-semicolon): give the safe-local-variable property
c-string-or-string-list-p.
2016-05-09 18:12:52 +00:00
Paul Eggert
c8b7a6abd9 Merge from origin/emacs-25
3b47898 Fix doc string in `insert'
b479dea * doc/misc/emacs-mime.texi (time-date): Document now-builtins...
cd27f73 Say 'All results processed' at the end
4ffec91 Document automatic adjustment of process' logical window dime...
dc66271 ; Fix typos and stylistic glitches in NEWS
2016-05-09 10:59:29 -07:00
Alan Mackenzie
a8231e00cb CC Mode now uses the new :after-hook feature of define-derived-mode
It now runs internal variable setting functions after the mode hooks, no
longer runs the mode hooks twice, and declares the configuration variables for
noise macros and macros with semicolons as safe variables (when given suitable
arguments).

Fixes bug #16759 and bug #23476.

* .dir-locals: Put the c-noise-macros-with-paren-names setting back into the C
Mode value.

* lisp/progmodes/cc-mode.el: (c-basic-common-init): Remove the call to
c-make-macro-with-semi-re.
(c-mode, c++-mode, objc-mode, java-mode, idl-mode, pike-mode, awk-mode): Move
c-make-noise-macro-regexps and c-make-macro-with-semi-re (where appropriate)
and c-update-modeline into the :after-hook form.  Remove the explicit settings
of the syntax table, the abbreviation table and the local key map, since they
duplicate forms generated by define-derived-mode.  Remove the explicit
invocation of each mode's mode hook, since they duplicate ones generated by
define-derived-mode.

* lisp/progmodes/cc-vars.el: (c-string-list-p, c-string-or-string-list-p): New
functions.
(c-noise-macro-names, c-noise-macro-with-parens-names): give the
save-local-variable property c-string-list-p.
(c-macro-names-with-semicolon): give the save-local-variable property
c-string-or-string-list-p.

* doc/misc/cc-mode.texi: (Macros with ;, Noise Macros): Note that it's not
necessary to call the regexp generating functions after setting the pertinent
configuration values in a mode hook.
2016-05-09 17:49:45 +00:00
Paul Eggert
e8bda380bb Prefer grep -E/-F to egrep/fgrep
POSIX marked egrep and fgrep as legacy apps in SUSv2 (1997) and
withdrew them in SUSv3 (2001), and these days grep -E and grep -F
are probably more portable.
* lib-src/etags.c (main):
* lisp/eshell/em-unix.el (eshell-grep, eshell/egrep)
(eshell/fgrep):
* lisp/cedet/semantic/symref.el (semantic-symref-find-text):
* lisp/eshell/esh-var.el (eshell-apply-indices):
* lisp/progmodes/ada-xref.el (ada-xref-search-with-egrep)
(ada-find-in-src-path):
* lisp/textmodes/ispell.el (ispell-grep-command):
(ispell-lookup-words):
Use or document grep -E and grep -F instead of egrep and fgrep.
* lisp/textmodes/ispell.el (ispell-grep-options):
Use -Ei on all platforms, not just MS-Windows.
2016-05-07 18:40:55 -07:00
Dmitry Gutov
cd27f7396b Say 'All results processed' at the end
* lisp/progmodes/xref.el (xref--query-replace-1):
Say 'All results processed' at the end if the user hadn't
cancelled the process (bug#23284).
2016-05-08 00:29:44 +03:00
Jorgen Schaefer
bf7fc7a804 scheme.el: Turn literal tabs into \t
* lisp/progmodes/scheme.el: The last change to turn tabs into spaces
also caught some literal tabs in character classes. Fix this by
adding \t to those classes.
2016-05-07 12:24:27 +02:00
Paul Eggert
89ce83b202 Merge from origin/emacs-25
50650cb Doc fixes for fclist and grep
5e814e0 Minor doc fixes for quoting
3347a73 `nreverse' the marker pairs list
1a4127d Use save-excursion in xref-location-marker more
ab3ba91 shell-quote-argument DIR when appropriate
922c7a3 Rework xref-query-replace-in-results
3fe3510 * lisp/replace.el (query-replace-read-from): Use minibuffer-w...
0932b94 Fix todo-mode bug involving archived items (bug#23447)
e68ad1f ; * etc/NEWS: Tiny edit. (Bug#23432)
adc80b7 ; * test/automated/xref-tests.el: Add copyright and license.
4d8fd9c Handle "empty line" regexp in xref searches
f559b37 Add tests for xref-collect-matches
6428aa0 Use grep-find-ignored-directories instead of vc-directory-exc...
6f82d8e Clear buffer-undo-list when showing xrefs
c68a091 Note the quote translation in `message' in section "incompati...
52f86a7 * etc/NEWS: Mention (message "%s" (format ...)).
93703c5 (Common Keywords): Correct what missing :group means
79e5800 Improve documentation of Dired's 'A' and 'Q' commands
2ea2a2f Doc fixes for quoting
8544b98 posnp doc clarification
805204f Mention what a missing :group does
ec554d7 Fix documentation of dired-aux search/replace commands
2016-05-05 23:11:11 -07:00
Dmitry Gutov
3347a733e0 `nreverse' the marker pairs list
* lisp/progmodes/xref.el (xref--buf-pairs-iterator): `nreverse'
the marker pairs list for each buffer before returning.
2016-05-05 16:01:52 +03:00
Dmitry Gutov
1a4127dbd6 Use save-excursion in xref-location-marker more
* lisp/progmodes/elisp-mode.el (xref-location-marker): Use
save-excursion, in order not to alter the value of point if the
buffer is currently open in the background (problem reported by
Robert Weiner).

* lisp/progmodes/etags.el (xref-location-marker): Same.
2016-05-05 04:28:14 +03:00
Dmitry Gutov
ab3ba912fc shell-quote-argument DIR when appropriate
* lisp/progmodes/project.el (project-file-completion-table):
`shell-quote-argument' DIR as well.

* lisp/progmodes/xref.el (xref--rgrep-command): Pass DIR through
`shell-quote-argument' (bug#23453).  Thanks for Kaushal Modi for
pointing out the problem.  Assert that DIR doesn't start with `~'.
2016-05-05 04:15:23 +03:00
Dmitry Gutov
922c7a3e48 Rework xref-query-replace-in-results
* lisp/progmodes/xref.el (xref-query-replace-in-results): Collect
all xrefs from the buffer first, then delegate most of the
processing to the value returned by xref--buf-pairs-iterator.
(xref--buf-pairs-iterator): New function.  Return an "iterator"
which partitions returned markers into buffers, and only processes
markers from one buffer at a time.  When an xref is out of date,
skip it with a message instead of signaling error (bug#23284).
(xref--outdated-p): Extract from xref--buf-pairs-iterator.  Trim
CR from both strings before comparing.
(xref--query-replace-1): Remove the variable current-buf, no need
to track it anymore.  Simplify the filter-predicate and search
functions accordingly.  Iterate over buffer-markers pairs returned
by the iterator, and call `perform-replace' for each of them.  Use
multi-query-replace-map (bug#23284).  Use `switch-to-buffer' every
time after the first, in order not to jump between windows.

* test/automated/xref-tests.el
(xref--buf-pairs-iterator-groups-markers-by-buffers-1)
(xref--buf-pairs-iterator-groups-markers-by-buffers-2)
(xref--buf-pairs-iterator-cleans-up-markers): New tests.
2016-05-05 03:26:04 +03:00
Stefan Monnier
4deb5bd9b1 * lisp/progmodes/js.el (js-syntax-propertize): Recognize shebang line. 2016-05-04 08:53:00 -04:00
Dmitry Gutov
4d8fd9cf33 Handle "empty line" regexp in xref searches
* lisp/progmodes/xref.el (xref--collect-matches-1): Stop after one
match if re-search-forward doesn't move point (bug#23426).

* test/automated/xref-tests.el
(xref-collect-matches-finds-an-empty-line-regexp-match):
Uncomment test.
2016-05-04 01:59:29 +03:00
Dmitry Gutov
6f82d8ef7d Clear buffer-undo-list when showing xrefs
* lisp/progmodes/xref.el (xref--show-xref-buffer): Clear
buffer-undo-list and temporarily bind it to t while rendering the
buffer contents.
2016-05-04 00:42:43 +03:00
Philipp Stephani
1331467910 Allow eval-ing named character literals
* lisp/progmodes/elisp-mode.el (elisp--preceding-sexp): Skip over
named character literals.
* test/lisp/progmodes/elisp-mode-tests.el
(elisp--preceding-sexp--char-name): Add test for skipping over
named character literals (bug#23354).

Copyright-paperwork-exempt: yes
2016-05-02 23:58:15 +02:00
Paul Eggert
2bf7bc4161 Merge from origin/emacs-25
bf21c84 Fix quoting problem in cc-engine debug message
8f36614 Add electric-quote-string unit test
6280531 Don’t electrically quote ‘'’ in Python
fd7b430 `nreverse' Grep hits before passing them to xref--convert-hits
2016-05-02 10:46:53 -07:00
Paul Eggert
bf21c84f0d Fix quoting problem in cc-engine debug message
* lisp/progmodes/cc-engine.el (c-replay-parse-state-state):
Use "%s" format to pass through ‘'’ unscathed (Bug#23425), and
likewise for ‘`’, and ‘%’.
2016-05-02 10:06:25 -07:00
Dmitry Gutov
fd7b430afd `nreverse' Grep hits before passing them to xref--convert-hits
* lisp/progmodes/xref.el (xref-collect-matches): `nreverse' hits
before passing them to xref--convert-hits.  Fixes a regression
from cc0b7132.
2016-05-02 12:21:26 +03:00
Paul Eggert
c3ed7cea0a Merge from origin/emacs-25
16e5e8e Fix last change to isearch-update (bug#23406)
b755d98 Autoload cursor-sensor-inhibit (bug#23406)
b52ebd4 org-map-entries: Fix org-agenda-prepare-buffers call
86aa409 Followup for last commit in the user manual
7004459 Improve doc string of 'set-goal-column'
ccdaf04 Fix the MSDOS build
ffe701c Remove \= from format string (bug#18190)
1c58fa1 Fix variable-pitch font on MS-Windows
c6077bf Restore follow-scroll-up/down to scrolling by the combined si...
b671e21 Revert unneeded change which harms syntactic parsing.  This f...
48b24c9 Correct indentation of ids in a C++ enum after a protection k...
5c3534f * lisp/window.el (window--process-window-list): No-op if no p...
734fb3a Port dumping to NetBSD with PaX
0255a70 Don't mistake `for' inside a function for a part of array com...

# Conflicts:
#	src/Makefile.in
2016-05-01 18:09:29 -07:00
Lars Ingebrigtsen
9bd2af866b Clarify doc string of internal compilation function
* lisp/progmodes/compile.el (compilation-get-file-structure):
Clarify doc string (bug#3137).

(cherry picked from commit 123191decb)
2016-05-01 19:27:07 +02:00
Peter Feigl
8cfd9ba1a9 Add R7RS syntax forms to scheme.el
* lisp/progmodes/scheme.el (scheme-font-lock-keywords-2): Add
a number of special forms introduced in R7RS-small.
* lisp/progmodes/scheme.el (scheme-indent-function): Same.

Copyright-paperwork-exempt: yes
2016-05-01 13:46:30 +02:00
Jorgen Schaefer
7bced5ed11 ; Replace mixed tabs/spaces in scheme.el with just spaces
* lisp/progmodes/scheme.el: Remove tabs in preparation for
upcoming patch.
2016-05-01 13:46:29 +02:00
Alan Mackenzie
01cdbcf834 CC Mode: Recognize a noise macro with parens after a declarator's identifier
* lisp/progmodes/cc-engine (c-forward-decl-or-cast-1): In the while loop
following comment "Skip over type decl suffix operators." insert code also
to check for noise macros with parentheses.
2016-04-30 16:40:08 +00:00
Eli Zaretskii
ccdaf04cfd Fix the MSDOS build
* config.bat:
* msdos/sedlisp.inp:
* msdos/sedlibmk.inp:
* msdos/sedleim.inp:
* msdos/sedadmin.inp:
* msdos/sed6.inp:
* msdos/sed3v2.inp:
* msdos/sed2v2.inp:
* msdos/sed1v2.inp: Adapt to Emacs 25.

* src/process.c (remove_slash_colon): Move out of "#ifdef
subprocesses" block, as it its called unconditionally.  Move
ADD_SUBFEATURE calls into "#ifdef subprocesses" block, as they
reference variables only defined in that block.
* src/msdos.h: Provide prototypes for IT_set_frame_parameters,
faccessat, msdos_fatal_signal, syms_of_msdos, pthread_sigmask,
dos_keysns, dos_keyread, run_msdos_command, and
syms_of_win16select, to avoid compiler warnings.
* src/msdos.c (SYS_ENVIRON): Define to either '_environ' or
'environ', depending on the DJGPP version.
Remove declarations of externally-visible Lisp objects, like
Qbackground_color and Qreverse.
(run_msdos_command): First argument is not signed, not unsigned.
Use SYS_ENVIRON.
(sys_select): Use 'timespec_cmp' instead of 'timespec_sign', as
the latter doesn't work when 'time_t' is an unsigned data type.
This caused idle timers to behave incorrectly: they only fired
after a keyboard input event.
* src/frame.c (adjust_frame_size) [MSDOS]: Account for
FRAME_TOP_MARGIN that isn't counted in the frame's number of
lines, but dos_set_window_size needs it to be added.
* src/lread.c (INFINITY, NAN) [DJGPP < 2.05]: Provide definitions.
* src/fns.c (sort_vector_copy) [__GNUC__ < 4]: Provide a prototype
that works around compilation errors with older GCC versions.
* src/w16select.c: Don't declare QCLIPBOARD and QPRIMARY as Lisp
Objects.
* src/filelock.c [MSDOS]: Ifdef away most of the code.  Provide
no-op implementations for 'lock_file' and 'unlock_file'.
(Ffile_locked_p) [MSDOS]: Always return nil.  This avoids multiple
ifdefs in all users of filelock.c functionality.
* src/conf_post.h (EOVERFLOW, SIZE_MAX) [DJGPP < 2.04]: Define.
* src/emacs.c [MSDOS]: Include dosfns.h, to avoid compiler
warnings.
* src/dosfns.h: Provide prototypes for dos_cleanup,
syms_of_dosfns, and init_dosfns.
* src/deps.mk (atimer.o): Depend on msdos.h.
(emacs.o): Depend on dosfns.h.
* src/atimer.c [MSDOS]: Include msdos.h, to avoid compiler
warnings.

* lisp/window.el (window--adjust-process-windows): Skip the body
if 'process-list' is not available.  This avoids failure to start
up on MS-DOS.
* lisp/vc/diff.el (diff-no-select): Test 'make-process', not
'start-process', as the latter is now available on all platforms.
* lisp/textmodes/ispell.el (ispell-async-processp): Replace
'start-process' with 'make-process' in a comment.
* lisp/term/internal.el (IT-unicode-translations): Modify and add
a few translations to display Info files with Unicode markup.  Fix
an ancient off-by-one mismatch error with Unicode codepoints.
* lisp/progmodes/compile.el (compilation-start): Test
'make-process', not 'start-process', as the latter is now
available on all platforms.
* lisp/man.el (Man-build-man-command, Man-getpage-in-background):
Test 'make-process', not 'start-process', as the latter is now
available on all platforms.
* lisp/international/mule-cmds.el (set-coding-system-map): Test
'make-process', not 'start-process', as the latter is now
available on all platforms.
* lisp/eshell/esh-cmd.el (eshell-do-pipelines-synchronously): Doc
fix.
(eshell-execute-pipeline): Test 'make-process', not
'start-process', as the latter is now available on all platforms.
2016-04-30 13:45:33 +03:00
Alan Mackenzie
b671e218db Revert unneeded change which harms syntactic parsing. This fixes bug #23308.
* lisp/progmodes/cc-engine.el (c-invalidate-state-cache): User
c-state-old-cpp-end as an argument to c-with-all-but-one-cpps-commented-out
regardless of the value of `here'.
2016-04-29 14:36:33 +00:00
Alan Mackenzie
48b24c9b03 Correct indentation of ids in a C++ enum after a protection keyword.
Also correct the misfontification of the last enum identifier.

* lisp/progmodes/cc-engine.el (c-forward-keyword-prefixed-id): setq
c-last-identifier-range to nil to ensure that only types recognized by this
macro are set for fontification as types.
(c-backward-typed-enum-colon): Function renamed from
c-backward-colon-prefixed-type.  On finding a colon in the backward search,
check it is preceded by an identifier rather than a keyword.
2016-04-29 13:35:01 +00:00
Dmitry Gutov
0255a70c8a Don't mistake `for' inside a function for a part of array comprehension
* lisp/progmodes/js.el (js--indent-in-array-comp): Also check the
depth in parens between the bracket and `for' (bug#23391).

* test/indent/js.js: Add a corresponding example.
2016-04-28 02:00:48 +03:00
Lars Ingebrigtsen
123191decb Clarify doc string of internal compilation function
* lisp/progmodes/compile.el (compilation-get-file-structure):
Clarify doc string (bug#3137).
2016-04-27 20:40:59 +02:00
Jorgen Schaefer
1a08fb0754 Add a number of Python 3 exceptions
* lisp/progmoes/python.el (python-font-lock-keywords): Clean up the exception
list, adding a number of new Python 3 exceptions and moving some exceptions
to the Python 2 and 3 list as Python 2.7 includes them.
2016-04-27 10:46:43 +02:00
Jorgen Schaefer
40bfebec83 Add Python 3.5 keyword "await"
* lisp/progmodes/python.el (python-font-lock-keywords): Add await as
keyword.
2016-04-26 13:50:30 -04:00
Lele Gaifax
fa7886a46f Add new keywords of Python 3.5
Python 3.5, released in mid September 2015, introduced a few new
keywords to better support asynchronous code, "async" and "await"
in particular. See https://www.python.org/dev/peps/pep-0492/ for
details. (Bug#21783)
* lisp/progmodes/python.el (python-rx-constituents): Add async
def/for/with as block-start and async def as defun.
* lisp/progmodes/python.el (python-font-lock-keywords): Add async
def/for/with as keyword.
* test/automated/python-tests.el (python-indent-after-async-block-1,
python-indent-after-async-block-2, python-indent-after-async-block-3,
python-nav-beginning-of-defun-3): New tests to test indentation and
navigation for the async keyword.
2016-04-26 13:50:26 -04:00
Alan Mackenzie
89d1776b81 Fix spurious fontification of "for (; a * b;)" in CC Mode.
* lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Check for being
inside the parens of a for statement and after a semicolon near the beginning
of the lambda form.
2016-04-25 17:57:24 +00:00
Alan Mackenzie
db2ee1cd63 c-forward-<>-arglist no longer directly applies face properties in Java Mode.
This allows the calling of c-restore-<>-properties from c-common-init without
the test suite giving spurious errors.

* lisp/progmodes/cc-engine.el (c-forward-<>-arglist): Remove the form that
sets face properties.
(c-forward-<>-arglist-recur): Reformulate the bit that handles types inside
template brackets using c-inside-<>-type-key.  Don't bind
c-record-type-identifiers or c-record-found-types around the recursive call,
allowing positions of found types to flow back to the caller.

* lisp/progmodes/cc-langs.el (c-inside-<>-type-kwds, c-inside-<>-type-key):
new lang consts/var.

* lisp/progmodes/cc-mode.el (c-common-init): Don't remove
c-restore-<>-properties from the list of functions called at mode
initialization.
2016-04-25 17:08:26 +00:00
Alan Mackenzie
fda715c6cb Add fontification for a C declaration which looks like a function call.
For example, "t1 *fn (t2 *b);".

* lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Add new variable
at-decl-start, setting it to whether the putative decl starts immediately
after ; or { or }.  Accept such a construct as a decl when at-decl-start is
non-nil.

* lisp/progmodes/cc-langs.el (c-pre-start-tokens): New language variable.
2016-04-25 15:19:58 +00:00
Paul Eggert
f7794460e8 Merge from origin/emacs-25
78f9af7 ; ChangeLog fixes
162e549 * admin/authors.el (authors-ignored-files): Additions.
2b31a0c In x_set_window_size restore do_pending_window_change calls
401857e Fix Alt-modified keys on some European MS-Windows keyboards
a77cf24 Document 'help-go-forward'
1ba947f Revert "Allow to customize names of executables used by grep.el"
570e0fa Revert "Don't use 'find-program'"
645f4ef Revert "Use 'grep-find-program' in check-declare.el"
aa03257 Clarify documentation of 'dired-mark-files-containing-regexp'
ce0d8c7 Make tmm-menubar work in correct order again
b8d5a8f Remove the Meta-CVS VC backend
2016-04-24 12:48:34 -07:00