Commit graph

69564 commits

Author SHA1 Message Date
João Távora
8c85ab027e Echo Flymake error messages when navigating errors interactively
Perhaps binding M-n and M-p to flymake-goto-next-error and
flymake-goto-prev-error also wouldn't be a bad idea.

* lisp/progmodes/flymake.el (flymake-goto-next-error): Use
target overlay's help-echo.
2017-10-03 13:52:24 +01:00
João Távora
7787988587 Flymake warning face easier to distinguish
A orange wavy underline is very hard to tell from a red wavy
underline.

* lisp/progmodes/flymake.el (flymake-warning): Change color to
"deep sky blue"
2017-10-03 13:52:24 +01:00
João Távora
734aa8818d Flymake's flymake-proc.el parses column numbers from gcc/javac errors
Column numbers are not a great way of marking diagnostic regions, but
that's probably all that can be expected from the flymake-proc.el
backend.  For now, try (end-of-thing 'sexp) to discover the
diagnostic's end position.

* lisp/progmodes/flymake-proc.el ()
(flymake-proc-err-line-patterns): Also parse column numbers,
if available, for gcc/javac warnings.
2017-10-03 13:52:24 +01:00
João Távora
ae64bf12a8 New Flymake variable flymake-diagnostic-types-alist and much cleanup
A new user-visible variable is introduced where different diagnostic
types can be categorized.  Flymake backends can also contribute to
this variable.  Anything that doesn’t match an existing error type
is considered.

The variable’s alists are used to propertize the overlays pertaining
to each error type.  The user can override the built-in properties by
either by modifying the alist, or by modifying the properties of a
special "category" symbol, named by the `flymake-category' entry in
the alist.

The `flymake-category' entry is especially useful for, say, the author
of foo-flymake-backend, who issues diagnostics of type :foo-note, that
should behave like notes, except with no fringe bitmap:

   (add-to-list 'flymake-diagnostic-types-alist
                '(:foo-note
                  . ((flymake-category . flymake-note)
                     (bitmap . nil))))

For essential properties like `severity', `priority', etc, a default
value is produced.  Some properties like `evaporate' cannot be
overriden.

* lisp/progmodes/flymake.el (flymake--diag): Rename from
flymake-ler.
(flymake-ler-make): Obsolete alias for flymake-diagnostic-make
(flymake-ler-errorp): Rewrite using flymake--severity.
(flymake--place-overlay): Delete.
(flymake--overlays): Now a cl-defun with &key args.  Document.
Use `overlays-at' if BEG is non-nil and END is nil.
(flymake--lookup-type-property): New helper.
(flymake--highlight-line): Rewrite.
(flymake-diagnostic-types-alist): New API variable.
(flymake--diag-region)
(flymake--severity, flymake--face)
(flymake--fringe-overlay-spec): New helper.
(flymake-popup-current-error-menu): Use new flymake-overlays.
(flymake-popup-current-error-menu, flymake-report): Use
flymake--diag-errorp.
(flymake--fix-line-numbers): Use flymake--diag-line.
(flymake-goto-next-error): Pass :key to flymake-overlays

* lisp/progmodes/flymake-proc.el
(flymake-proc--diagnostics-for-pattern): Use flymake-diagnostic-make.
2017-10-03 13:52:24 +01:00
João Távora
1c30f9fc08 Flymake diagnostics now apply to arbitrary buffer regions
Make Flymake UI some 150 lines lighter

Strip away much of the original implementation's complexity in
manipulating objects representing diagnostics as well as creating and
navigating overlays.

Lay some groundwork for a more flexible approach that allows for
different classes of diagnostics, not necessarily line-based.
Importantly, one overlay per diagnostic is created, whereas the
original implementation had one per line, and on it it concatenated
the results of errors and warnings.

This means that currently, an error and warning on the same line are
problematic and the warning might be overlooked but this will soon be
fixed by setting appropriate priorities.

Since diagnostics can highlight arbitrary regions, not just lines, the
faces were renamed.

Tests pass and backward compatibility with interactive functions is
maintained, but probably any third-party extension or customization
relying on more than a trivial set of flymake.el internals has stopped
working.

* lisp/progmodes/flymake-proc.el
(flymake-proc--diagnostics-for-pattern): Use new flymake-ler-make
constructor syntax.

* lisp/progmodes/flymake.el (flymake-ins-after)
(flymake-set-at, flymake-er-make-er, flymake-er-get-line)
(flymake-er-get-line-err-info-list, flymake-ler-set-file)
(flymake-ler-set-full-file, flymake-ler-set-line)
(flymake-get-line-err-count, flymake-get-err-count)
(flymake-highlight-err-lines, flymake-overlay-p)
(flymake-make-overlay, flymake-region-has-flymake-overlays)
(flymake-find-err-info)
(flymake-line-err-info-is-less-or-equal)
(flymake-add-line-err-info, flymake-add-err-info)
(flymake-get-first-err-line-no)
(flymake-get-last-err-line-no, flymake-get-next-err-line-no)
(flymake-get-prev-err-line-no, flymake-skip-whitespace)
(flymake-goto-line, flymake-goto-next-error)
(flymake-goto-prev-error, flymake-patch-err-text): Delete
functions no longer used.
(flymake-goto-next-error, flymake-goto-prev-error): Rewrite.
(flymake-report): Rewrite.
(flymake-popup-current-error-menu): Rewrite.
(flymake--highlight-line): Rename from
flymake-highlight-line.  Call `flymake--place-overlay.
(flymake--place-overlay): New function.
(flymake-ler-errorp): New predicate.
(flymake-ler): Simplify.
(flymake-error): Rename from
flymake-errline.
(flymake-warning): Rename from flymake-warnline.
(flymake-warnline, flymake-errline): Obsoletion aliases.

* test/lisp/progmodes/flymake-tests.el (warning-predicate-rx-gcc)
(warning-predicate-function-gcc, warning-predicate-rx-perl)
(warning-predicate-function-perl): Use face `flymake-warning'.
2017-10-03 13:49:04 +01:00
João Távora
bb8b663d32 Move symbols in flymake-proc.el to separate namespace
Every symbol in this flymake now starts with the prefix flymake-proc-.

Make obsolete aliases for (almost?) every symbol.

Furthermore, many flymake-proc.el symbols are prefixed with
"flymake-proc--", that is they were considered internal.

Some customization variables, interactive functions, and other symbols
considered useful to user customizations or third-party libraries are
considered "public" or "external" and so use a "flymake-proc-" prefix.

* lisp/progmodes/flymake-proc.el: Every symbol renamed.

* test/lisp/progmodes/flymake-tests.el
(flymake-tests--current-face): Use
flymake-proc-warning-predicate, not flymake-warning-predicate.

* lisp/progmodes/flymake-proc.el
(flymake-proc--get-project-include-dirs-function)
(flymake-proc--get-project-include-dirs-imp)
(flymake-proc--get-include-dirs-dot) (flymake-proc--get-tex-args)
(flymake-proc--find-make-buildfile)
(flymake-proc--get-syntax-check-program-args)
(flymake-proc--init-create-temp-source-and-master-buffer-copy)
(flymake-proc--init-find-buildfile-dir)
(flymake-proc--get-full-nonpatched-file-name)
(flymake-proc--get-full-patched-file-name) (flymake-proc--base-dir,
flymake-proc--temp-master-file-name) (flymake-proc--master-file-name)
(flymake-proc--temp-source-file-name)
(flymake-proc--delete-temp-directory) (flymake-proc--kill-process)
(flymake-proc--start-syntax-check-process)
(flymake-proc--compilation-is-running)
(flymake-proc--safe-delete-directory) (flymake-proc--safe-delete-file)
(flymake-proc--get-program-dir) (flymake-proc--restore-formatting)
(flymake-proc--clear-project-include-dirs-cache)
(flymake-proc--project-include-dirs-cache)
(flymake-proc--get-system-include-dirs)
(flymake-proc--get-project-include-dirs)
(flymake-proc--add-project-include-dirs-to-cache)
(flymake-proc--get-project-include-dirs-from-cache)
(flymake-proc--post-syntax-check) (flymake-proc--process-sentinel)
(flymake-proc--process-filter) (flymake-proc--create-master-file)
(flymake-proc--find-buffer-for-file)
(flymake-proc--copy-buffer-to-temp-buffer)
(flymake-proc--read-file-to-temp-buffer)
(flymake-proc--save-buffer-in-file) (flymake-proc--replace-region,
flymake-proc--check-include)
(flymake-proc--check-patch-master-file-buffer)
(flymake-proc--master-file-compare)
(flymake-proc--find-possible-master-files)
(flymake-proc--included-file-name, flymake-proc--same-files)
(flymake-proc--fix-file-name, flymake-proc--find-buildfile)
(flymake-proc--clear-buildfile-cache)
(flymake-proc--add-buildfile-to-cache)
(flymake-proc--get-buildfile-from-cache)
(flymake-proc--find-buildfile-cache)
(flymake-proc--get-real-file-name-function)
(flymake-proc--get-cleanup-function) (flymake-proc--get-init-function)
(flymake-proc--get-file-name-mode-and-masks)
(flymake-proc--processes): Rename to internal symbol from
flymake-proc- version.
2017-10-03 13:49:04 +01:00
João Távora
6954270e87 Completely rewrite Flymake's subprocess output processing
Instead of parsing and matching regexps line-by-line, insert
subprocess output in a separate buffer and parse using
`search-forward-regexp'.  This eventually enables multi-line error
patterns and simplifies code all around.  Store per-check information
in the subprocess using `process-get' and `process-put'.  Treat error
messages, warnings, etc. more generically as "diagnostics".  Create
these objects as soon as possible, reusing existing `flymake-ler'
structure.  Fix some whitespace.

* lisp/progmodes/flymake.el (cl-lib): Require also when
loading.
(flymake--fix-line-numbers): Rename from
flymake-fix-line-numbers.  Simplify.
(flymake-report): Call flymake--fix-line-numbers.  Rearrange
plain diagnostics list into alist format expected by
flymake-highlight-err-lines.

* lisp/progmodes/flymake-proc.el (flymake-process-filter): Insert
process output and parse in dedicated output buffer.
(flymake-proc--diagnostics-for-pattern): New helper function.
(flymake-process-sentinel): Call flymake-post-syntax-check with
collected diagnostics.  Kill output buffer.
(flymake-post-syntax-check): Receive diagnostics as third argument.
(flymake-parse-output-and-residual, flymake-new-err-info)
(flymake-parse-residual, flymake-parse-err-lines)
(flymake-split-output, flymake-proc-parse-line)
(flymake-output-residual): Delete.
(flymake-start-syntax-check-process): Use make-process.	 Setup
dedicated an output buffer
2017-10-03 13:49:04 +01:00
João Távora
f1601bef93 Flymake provides flymake-report re-entry point for backends
* lisp/progmodes/flymake-proc.el (flymake-post-syntax-check):
Simplify.  Call flymake-report.

* lisp/progmodes/flymake.el (flymake-report): New function.
2017-10-03 13:49:04 +01:00
João Távora
fe9dc7a087 Split Flymake into flymake.el into flymake-proc.el (again!)
After deciding that this work would continue on master only, which
caused two commits named

   Revert "Split flymake.el into flymake-proc.el and flymake-ui.el"

and

   Revert "Add flymake-backends defcustom"

to be added to the emacs-26 branch, further discussion reversed that
decision.

   See:

     https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg01020.html
     https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg01030.html

This means that those two commits MUST be merged to master AFTER ALL.

flymke-proc.el contains the main syntax-checking backend, while
flymake.el keeps mostly the UI part.

* lisp/progmodes/flymake-proc.el: New file.  Require flymake.

* lisp/progmodes/flymake.el: Require flymake-proc.el at the end.
2017-10-03 13:49:04 +01:00
Nicolas Petton
ae42ae79f5
; ChangeLog fixes 2017-10-03 13:12:56 +02:00
Noam Postavsky
b33808ce77 Give more helpful messages for python completion setup failures
* lisp/progmodes/python.el (python-shell-completion-native-setup): In
case the completion setup failed with some exception, print out the
exception type and message.  If libedit is detected, raise an
exception, since this is known to fail.
2017-10-02 23:15:43 -04:00
Glenn Morris
f6efc06723 ; Auto-commit of loaddefs files. 2017-10-02 14:48:21 -04:00
Glenn Morris
b69bcf3452 ; * lisp/emacs-lisp/cl-print.el (cl-prin1): Whitespace fix. 2017-10-02 13:19:11 -04:00
Paul Eggert
987f39a124 Fix customization of zoneinfo-style-world-list
A customizable variable's initial value cannot depend on that of
another customizable variable, since the variables are initialized
in other than textual order.  Problem reported by N. Jackson
(Bug#24291).
* lisp/time.el (display-time-world-list): Default to t,
a special value that expands to zoneinfo-style-word-list
if that works, and to legacy-style-word-list otherwise.
(time--display-world-list): New function.
(display-time-world, display-time-world-timer): Use it.
2017-10-02 09:06:35 -07:00
Alan Mackenzie
712cc15877 Fix a CC Mode brace stack cache bug.
* lisp/progmodes/cc-engine.el (c-update-brace-stack): Call
c-beginning-of-current-token after a failing search operation, to ensure we
don't cache a point inside a token.
2017-10-02 14:42:13 +00:00
Paul Eggert
5172fa02cc Prefer HTTPS to HTTP for gnu.org
This fixes some URLs I omitted from my previous pass,
notably those in lists.gnu.org.  Although lists.gnu.org
does not yet support TLS 1.1, TLS 1.0 is better than nothing.
* lisp/erc/erc.el (erc-official-location):
* lisp/mail/emacsbug.el (report-emacs-bug):
Use https:, not http:.
2017-10-01 19:59:01 -07:00
Paul Eggert
8cdd8b920a Merge from Gnulib
This is mostly to change http: to https: in licenses.
* COPYING, build-aux/config.guess, build-aux/config.sub:
* doc/emacs/doclicense.texi, doc/emacs/gpl.texi:
* doc/lispintro/doclicense.texi, doc/lispref/doclicense.texi:
* doc/lispref/gpl.texi, doc/misc/doclicense.texi:
* doc/misc/gpl.texi, etc/COPYING, leim/COPYING:
* lib-src/COPYING, lib/COPYING, lisp/COPYING, lwlib/COPYING:
* msdos/COPYING, nt/COPYING, src/COPYING:
Copy from Gnulib.
2017-10-01 18:31:10 -07:00
Simen Heggestøyl
60b7668b89 Keep eww buffer current when looking up CSS on MDN
* lisp/textmodes/css-mode.el (css-lookup-symbol): Keep the eww buffer
current when looking up CSS documentation on MDN.  This fixes a bug
where the eww buffer's content sometimes get mangled when switching
buffers mid-render.
2017-10-01 20:27:07 +02:00
Charles A. Roelli
bd49b6f1b3 Workaround for faulty localtime() under macOS 10.6
* lisp/org/org-clock.el (org-clock--oldest-date): Only execute
'decode-time' on times later than year -2**31 under macOS 10.6.
See Bug#27706.
2017-10-01 19:07:22 +02:00
Alan Mackenzie
5f76ac150a Make the value nil in text-quoting-style mean what it does in Emacs 25.
This is a partial reversion of yesterday's commit by the same author, which
changed the meaning of nil and introduced the new value t.

* src/doc.c (text_quoting_style, text-quoting-style)
(internal--text-quoting-flag): Revert yesterday's changes.

* lisp/cus-start.el: (top level): Amend the entry for text-quoting-style.

* etc/NEWS: Amend the entry for text-quoting-style.

* doc/lispref/control.texi (Signalling Errors)
* doc/lispref/display.texi (Displaying Messages)
* doc/lispref/strings.texi (Formatting Strings): Bind text-quoting-style to
grave rather than nil to inhibit translation of quotes.

* doc/lispref/help.texi (Keys in Documentation): Revert the description of the
proposed new default, t.
2017-10-01 11:27:16 +00:00
Alan Mackenzie
d5e4e004fa Make text-quoting-style customizable. Introduce t and new meaning for nil.
A value of nil for text-quoting-style now means "no translation".  t means
"Use curved quotes if displayable".

* src/doc.c (text-quoting-style (function)): modify for new semantics.
(text-quoting-style (variable)): Amend the doc string, set the default value
to t.

* lisp/cus-start.el: (top level): Create a customize entry for
text-quoting-style in group display.

* etc/NEWS: Amend the entry for text-quoting-style.

* doc/emacs/display.texi (Text Display): Describe the translation of ASCII
quotes to curved quotes, and how to influence or inhibit it.

* doc/lispref/control.texi (Signalling Errors)
* doc/lispref/display.texi (Displaying Messages)
* doc/lispref/strings.texi (Formatting Strings): Describe binding
text-quoting-style to nil to inhibit unwanted quote translation.

* doc/lispref/help.texi (Keys in Documentation): Change text-quoting-style
from a variable to a user option.  Describe its changed set of values.  State
that it can be customized freely.
2017-10-01 11:27:15 +00:00
Alan Third
7abb5c3960 Fix ns-win.el on GNUstep
* lisp/term/ns-win.el: Appkit version check only works on macOS, so
don't try it when not using Cocoa.
2017-08-15 09:58:33 +01:00
Martin Rudalics
b03b4f6d79 Improve handling of iconification of child frames (Bug#28611)
* src/frame.c (Ficonify_frame): Handle `iconify-child-frame' option.
(syms_of_frame): New symbols Qiconify_top_level and Qmake_invisible.
(iconify_child_frame): New option.
* lisp/cus-start.el (iconify-child-frame): Add customization
properties.
* doc/lispref/frames.texi (Child Frames): Describe new option
`iconify-child-frame'.  Don't index "top-level frame" twice.
2017-10-01 10:17:17 +02:00
Noam Postavsky
ba9139c501 Revert "Don't lose arguments to eshell aliases (Bug#27954)"
It broke the established argument handling methods provided by eshell
aliases (Bug#28568).
* doc/misc/eshell.texi (Aliases): Fix example, call out use of
arguments in aliases.
* lisp/eshell/em-alias.el (eshell-maybe-replace-by-alias): Ignore
ARGS.
2017-09-30 20:01:33 -04:00
Noam Postavsky
43fac3beae Make "unsafe directory" error message more informative (Bug#865)
* lisp/server.el (server-ensure-safe-dir): Produce a description for
each "unsafe" condition.
2017-09-30 20:01:33 -04:00
Eric Abrahamsen
c59ddb2120 Fix slot typecheck in eieio-persistent
* lisp/emacs-lisp/eieio-base.el (eieio-persistent-slot-type-is-class-p):
  An `or' form can specify multiple potential classes (or null) as
  valid types for a slot, but previously only the final element of the
  `or' was actually checked. Now returns all valid classes in the `or'
  form.
  (eieio-persistent-validate/fix-slot-value): Check if proposed value
  matches any of the valid classes.
* test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
  (eieio-test-multiple-class-slot): Test this behavior.
2017-09-30 16:28:00 -07:00
Dmitry Gutov
8b2ab5014b Fix semantic-ia-fast-jump
* lisp/cedet/semantic/ia.el (semantic-ia--fast-jump-helper):
Use `pop-to-buffer-same-window' (bug#28645).
2017-09-30 16:17:02 +02:00
Kaushal Modi
5b45e7e1c3 Bind vc-region-history
* lisp/vc/vc-hooks.el (vc-prefix-map):
Bind `vc-region-history' to 'C-x v h', which was earlier bound to
`vc-insert-headers' (Bug#27644).
* doc/emacs/maintaining.texi (VC Change Log): Mention the new binding.
* doc/emacs/vc1-xtra.texi (Version Headers): Remove the association of
'C-x v h' with `vc-insert-headers'.
(http://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00957.html)
2017-09-30 16:01:54 +02:00
Allen Li
f172894595 Exit macro definition on undefined keys
* lisp/subr.el (undefined): Error out of kmacro definition, if any.
(Bug#28008)

Copyright-paperwork-exempt: yes
2017-09-30 16:46:48 +03:00
Tim Landscheidt
289fe6c0d1 Reset bidi-paragraph-direction on article rendering
* lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): Reset
bidi-paragraph-direction on article rendering.  (Bug#28454)

Copyright-paperwork-exempt: yes
2017-09-30 16:39:36 +03:00
Eli Zaretskii
a4f7518817 Fix url-http use of url-current-object
* lisp/url/url-http.el (url-http): Bind url-current-object before
calling url-http-find-free-connection.  (Bug#28515)
2017-09-30 16:33:30 +03:00
Andy Moreton
4a755ed421 Avoid assertions in vc-hg.el on MS-Windows
* lisp/vc/vc-hg.el (vc-hg--pcre-to-elisp-re)
(vc-hg--slurp-hgignore, vc-hg--read-repo-requirements)
(vc-hg-state-fast): Use file-name-absolute-p and directory-name-p
instead of relying on Unix file-name syntax.  This avoids
assertion violations on MS-Windows.
2017-09-30 16:21:39 +03:00
Eli Zaretskii
63a45e8837 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emacs into emacs-26 2017-09-30 09:57:58 +03:00
Paul Eggert
cbc8324488 Prefer HTTPS to HTTP for gnu.org
This catches some URLs I missed in my previous scan,
or perhaps were added after the scan.
2017-09-29 17:48:22 -07:00
Paul Eggert
bbda601d1d ; Spelling fixes 2017-09-29 16:41:50 -07:00
Eli Zaretskii
f428757cdb Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emacs into emacs-26 2017-09-29 22:03:30 +03:00
Glenn Morris
26d58f0c58 ; Standardize license notices 2017-09-29 12:49:19 -04:00
Eli Zaretskii
73dba0f466 Fix last doc string change in simple.el
* lisp/simple.el (shell-command-saved-pos)
(region-extract-function, region-bounds): Doc fixes.  (Bug#28609)
2017-09-29 15:59:17 +03:00
Eli Zaretskii
61225964ed Revert "bug#28609: simple.el"
This reverts commit a75ab3b3fb.
2017-09-29 15:53:27 +03:00
Devon Sean McCullough
a75ab3b3fb bug#28609: simple.el
Correct grammar; also, call a pair a pair.

(cherry picked from commit 25ef543a97)
2017-09-29 15:50:51 +03:00
Eli Zaretskii
33401b26b1 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emacs into emacs-26 2017-09-29 13:24:05 +03:00
Rasmus
d4b2bbdc73 Merge branch 'emacs-26' into scratch/org-mode-merge 2017-09-29 10:41:51 +02:00
Eli Zaretskii
c1ac8c170f Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emacs into emacs-26 2017-09-29 10:02:33 +03:00
Noam Postavsky
af130f900f Fix ert backtrace saving for non-`signal'ed errors (Bug#28333)
* lisp/emacs-lisp/ert.el (ert--run-test-debugger): Take the frames
above the `debugger' frame, rather than assuming there will be a
`signal' frame.
2017-09-28 19:57:24 -04:00
João Távora
ce540f8a68 Revert "Split flymake.el into flymake-proc.el and flymake-ui.el"
In other words, re-coalesce the two files,
lisp/progmodes/flymake-proc.el and lisp/progmodes/flymake-ui.el, back
into a single one, lisp/progmodes/flymake.el.

The changesets "Prefer HTTPS to FTP and HTTP in documentation" and
"allow nil init in flymake-allowed-file-name-masks to disable flymake"
are kept in place in the new lisp/progmodes/flymake.el.

This reverts Git commit eb34f7f5a2.

Don't merge this back to master as development happening there builds
upon this work. See also
https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00932.html.
2017-09-28 08:09:49 +01:00
João Távora
7cf59c6635 Revert "Add flymake-backends defcustom"
This reverts Git commit 13993c46a2.

Don't merge this back to master as development happening there builds
upon this work. See also
https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00932.html
2017-09-28 08:09:01 +01:00
John Wiegley
98a37e6014
lisp/simple.el: Indicate when a list of pairs is meant in a docstring 2017-09-26 12:37:13 -07:00
Devon Sean McCullough
e7c8da4d05
bug#28609: simple.el
Correct grammar; also, call a pair a pair.
2017-09-26 09:32:36 -07:00
Dmitry Gutov
827db6b559 Use a separate syntax-ppss cache for narrowed buffers
* lisp/emacs-lisp/syntax.el (syntax-ppss-wide):
New variable, to contain the data from `syntax-ppss-last' and
`syntax-ppss-cache'.
(syntax-ppss-cache, syntax-ppss-last): Remove.
(syntax-ppss-narrow, syntax-ppss-narrow-start): New variables.
(syntax-ppss-flush-cache): Flush both caches.
(syntax-ppss--data): Return the appropriate last result and
buffer cache for the current restriction.
(syntax-ppss, syntax-ppss-debug): Use it (bug#22983).
2017-09-26 02:52:23 +03:00
Joerg Behrmann
a2244f417a Improve python3-compatibility of fallback completion (Bug#28499)
* lisp/progmodes/python.el (python-eldoc-setup-code): Use
inspect.getfullargspec instead of inspect.getargspec to avoid a
deprecation warning on every usage of eldoc in python-mode.

Copyright-paperwork-exempt: yes
2017-09-25 19:39:19 -04:00