summaryrefslogtreecommitdiff
path: root/lisp/progmodes/compile.el
Commit message (Collapse)AuthorAgeFilesLines
...
* | Prefer setq-local in compile.elStefan Kangas2020-12-081-26/+22
| | | | | | | | | | | | * lisp/progmodes/compile.el (compile-command, compilation-start) (compilation-mode, compilation-setup, compilation-filter) (compilation-forget-errors): Prefer setq-local.
* | Only use the comint environment in comint-derived modesAlyssa Ross2020-12-071-1/+2
| | | | | | | | | | | | | | * lisp/progmodes/compile.el (compilation-start): Only use the comint environment in comint-derived modes (bug#45095). Copyright-paperwork-exempt: yes
* | Make the 'cucumber' compilation pattern work without 'omake'Mattias Engdegård2020-11-271-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | When 'omake' is included in compilation-error-regexp-alist, which it still is by default, then all other rules are modified to match with an extra leading 6 spaces as well. The 'cucumber' pattern relied on this in order to work as intended. * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Extend the 'cucumber' pattern so that it works even when 'omake' is not included. Move it below the 'gnu' rule so that it doesn't match anything else.
* | Reformat comment for 'gnu' compilation ruleMattias Engdegård2020-11-151-33/+34
| | | | | | | | | | | | | | | | * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): The comments above the regexp for the 'gnu' rule contained references to the previous string regexp, which has been difficult to follow ever since the translation to rx. Move the comments to their proper places, and add some guiding notes.
* | Fix javac message parsing column number off-by-oneMattias Engdegård2020-11-061-10/+13
| | | | | | | | | | | | | | | | * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): 'javac': Column numbers are 1-based by default; remove subtraction and η-reduce. Translate regexp to rx (mechanised). * test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data): Adapt 'javac' test cases to the change.
* | Don't do compilation-transform-file-match-alist if there's no file nameLars Ingebrigtsen2020-10-271-6/+6
| | | | | | | | | | | | * lisp/progmodes/compile.el (compilation-error-properties): There may not be a file name (bug#40111). In that case, don't do the `compilation-transform-file-match-alist' thing.
* | Keep track of matching rules in compilation-modeMattias Engdegård2020-10-191-20/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When matching messages in compilation-mode, keep track of the rule employed for each match. This facilitates debugging and allows us to verify that each test case really exercises the rule that we expect it to. Naturally this uncovered several test cases that didn't check what the author thought they did; the rules affixed to compile-tests--test-regexps-data are those actually used, so that the tests still pass. * lisp/progmodes/compile.el (compilation--message): Add 'rule' slot. (compilation-directory-properties, compilation-error-properties) (compilation-internal-error-properties, compilation-parse-errors) (compilation--compat-parse-errors): Set the rule slot. * test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data) (compile-tests--grep-regexp-testcases) (compile-tests--grep-regexp-tricky-testcases): Add rules to test cases. (compile--test-error-line): Check that the rule matches what we expect. (compile-test-grep-regexps): Adapt to test case format. Remove now superfluous ert-info.
* | Hoist some loop-invariant variable bindings in compile.elMattias Engdegård2020-10-191-98/+99
| | | | | | | | | | | | * lisp/progmodes/compile.el (compilation-parse-errors): Hoist the binding of case-fold-search and a memq call out of the loop, eliminating a minor but unnecessary quadratic term.
* | Search harder for file name matches in *compilation* buffersDavid Engster2020-10-151-0/+34
| | | | | | | | | | * lisp/progmodes/compile.el (compilation-find-file): Use it (bug#14411). (compilation-search-all-directories): New variable.
* | Make M-x compile skip the header when looking for errors etcLars Ingebrigtsen2020-09-291-1/+12
| | | | | | | | | | | | * lisp/progmodes/compile.el (compilation--ensure-parse): Skip the header when parsing (bug#43651). (compilation-start): Mark the end.
* | Fix some defcustom typesLars Ingebrigtsen2020-09-251-1/+2
| | | | | | | | | | | | | | | | | | | | * lisp/whitespace.el (whitespace-style): * lisp/gnus/message.el (message-screenshot-command): * lisp/progmodes/compile.el (compilation-transform-file-match-alist): * lisp/progmodes/gdb-mi.el (gdb-default-window-configuration-file): * lisp/progmodes/python.el (python-pdbtrack-exit-command): Fix the defcustom types. * lisp/progmodes/sql.el (sql-password-wallet): Fix the value.
* | Support shellcheck in compilation-modeStefan Kangas2020-09-221-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Add shellcheck regexp. * test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data): (compile-test-error-regexps): Add test for shellcheck. * etc/compilation.txt: Add shellcheck example. * etc/NEWS: Announce the change. foo
* | Fix compilation-mode-map doc stringakater2020-09-141-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/compile.el (compilation-mode-map): Remove mention of compilation-minor-mode-map (bug#43382). As the comment in the body says: ;; Don't inherit from compilation-minor-mode-map, ;; because that introduces a menu bar item we don't want. ;; That confuses C-down-mouse-3. and the map actually inherits from special-mode-map. Copyright-paperwork-exempt: yes
* | Use `format-prompt' when prompting with default valuesLars Ingebrigtsen2020-09-061-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/woman.el (woman-file-name): * lisp/wid-edit.el (widget-file-prompt-value) (widget-coding-system-prompt-value): * lisp/w32-fns.el (w32-set-system-coding-system): * lisp/vc/vc.el (vc-print-root-log): * lisp/vc/vc-annotate.el (vc-annotate): * lisp/vc/emerge.el (emerge-read-file-name): * lisp/vc/ediff.el (ediff-directories) (ediff-directory-revisions, ediff-directories3) (ediff-merge-directories, ) (ediff-merge-directories-with-ancestor) (ediff-merge-directory-revisions) (ediff-merge-directory-revisions-with-ancestor) (ediff-merge-revisions, ediff-merge-revisions-with-ancestor) (ediff-revision): * lisp/vc/ediff-util.el (ediff-toggle-regexp-match): * lisp/vc/ediff-mult.el (ediff-filegroup-action): * lisp/vc/add-log.el (prompt-for-change-log-name): * lisp/textmodes/table.el (table-insert-row-column) (table-span-cell, table-split-cell-horizontally) (table-split-cell, table-justify, table-generate-source) (table-insert-sequence, table-capture) (table--read-from-minibuffer, table--query-justification): * lisp/textmodes/sgml-mode.el (sgml-tag, sgml-tag-help): * lisp/textmodes/reftex-ref.el (reftex-goto-label): * lisp/textmodes/refer.el (refer-get-bib-files): * lisp/textmodes/css-mode.el (css-lookup-symbol): * lisp/term.el (serial-read-name, serial-read-speed): * lisp/speedbar.el (speedbar-change-initial-expansion-list): * lisp/simple.el (previous-matching-history-element) (set-variable): * lisp/ses.el (ses-read-cell, ses-set-column-width): * lisp/replace.el (query-replace-read-from) (occur-read-primary-args): * lisp/rect.el (string-rectangle, string-insert-rectangle): * lisp/progmodes/tcl.el (tcl-help-on-word): * lisp/progmodes/sh-script.el (sh-set-shell): * lisp/progmodes/python.el (python-eldoc-at-point): * lisp/progmodes/octave.el (octave-completing-read) (octave-update-function-file-comment, octave-insert-defun): * lisp/progmodes/inf-lisp.el (lisp-symprompt): * lisp/progmodes/cperl-mode.el (cperl-info-on-command) (cperl-perldoc): * lisp/progmodes/compile.el (compilation-find-file): * lisp/net/rcirc.el (rcirc-prompt-for-encryption): * lisp/net/eww.el (eww): * lisp/net/browse-url.el (browse-url-with-browser-kind): * lisp/man.el (man): * lisp/mail/sendmail.el (sendmail-query-user-about-smtp): * lisp/mail/mailalias.el (build-mail-aliases): * lisp/mail/mailabbrev.el (merge-mail-abbrevs) (rebuild-mail-abbrevs): * lisp/locate.el (locate-prompt-for-search-string): * lisp/isearch.el (isearch-occur): * lisp/international/ogonek.el (ogonek-read-encoding) (ogonek-read-prefix): * lisp/international/mule.el (read-buffer-file-coding-system) (set-terminal-coding-system, set-keyboard-coding-system) (set-next-selection-coding-system, recode-region): * lisp/international/mule-cmds.el () (universal-coding-system-argument, search-unencodable-char) (select-safe-coding-system-interactively): * lisp/info.el (Info-search, Info-search-backward, Info-menu): * lisp/info-look.el (info-lookup-interactive-arguments): * lisp/imenu.el (imenu--completion-buffer): * lisp/ibuf-ext.el (mode, used-mode, ibuffer-mark-by-mode): * lisp/hi-lock.el (hi-lock-unface-buffer) (hi-lock-read-face-name): * lisp/help.el (view-emacs-news, where-is): * lisp/help-fns.el (describe-variable, describe-symbol) (describe-keymap): * lisp/gnus/mm-decode.el (mm-save-part): * lisp/gnus/gnus-sum.el (gnus-summary-browse-url): * lisp/gnus/gnus-group.el (gnus-group--read-bug-ids) (gnus-group-set-current-level): * lisp/frame.el (make-frame-on-monitor) (close-display-connection, select-frame-by-name): * lisp/format.el (format-encode-buffer, format-encode-region): * lisp/files.el (recode-file-name): * lisp/files-x.el (read-file-local-variable) (read-file-local-variable-value, ) (read-file-local-variable-mode): * lisp/ffap.el (ffap-menu-ask): * lisp/faces.el (face-read-string): * lisp/facemenu.el (facemenu-set-charset): * lisp/erc/erc-dcc.el (erc-dcc-do-GET-command): * lisp/emulation/edt-mapper.el (edt-mapper): * lisp/emacs-lisp/trace.el (trace--read-args) (trace-function-foreground, trace-function-background): * lisp/emacs-lisp/smie.el (smie-config-set-indent): * lisp/emacs-lisp/re-builder.el (reb-change-syntax): * lisp/emacs-lisp/package.el (describe-package): * lisp/emacs-lisp/find-func.el (read-library-name) (find-function-read): * lisp/emacs-lisp/ert.el (ert-read-test-name) (ert-run-tests-interactively): * lisp/emacs-lisp/disass.el (disassemble): * lisp/emacs-lisp/debug.el (debug-on-entry) (debug-on-variable-change): * lisp/emacs-lisp/advice.el (ad-read-advised-function) (ad-read-advice-class, ad-read-advice-name, ad-read-regexp): * lisp/dired-x.el (dired--mark-suffix-interactive-spec): * lisp/dired-aux.el (dired-diff): * lisp/cus-edit.el (custom-variable-prompt, customize-mode) (customize-changed-options): * lisp/completion.el (interactive-completion-string-reader): * lisp/calendar/timeclock.el (timeclock-ask-for-project): * lisp/calc/calcalg3.el (calc-get-fit-variables): * lisp/calc/calc-store.el (calc-edit-variable): * lisp/calc/calc-bin.el (calc-word-size): * lisp/bookmark.el (bookmark-set-internal): * lisp/abbrev.el (read-abbrev-file): Use `format-prompt' for prompting (bug#12443).
* | Protect compilation-auto-jump against code killing the bufferLars Ingebrigtsen2020-09-051-6/+7
| | | | | | | | | | * lisp/progmodes/compile.el (compilation-auto-jump): Something may have killed the buffer before the timer fired (bug#24585).
* | Bind 'n' and 'p' in compilation-mode-mapStefan Kangas2020-08-301-0/+2
| | | | | | | | | | * lisp/progmodes/compile.el (compilation-mode-map): Bind '(next|previous)-error-no-select' to 'n' and 'p'. (Bug#41844)
* | Add support for parsing column numbers in Visual Studio messagesDaniel Martín2020-08-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Extend regular expression to match optional column numbers. * test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data): Add a test. * test/lisp/progmodes/compile-tests.el (compile-test-error-regexps): Update the total number of compilation errors in a test. * etc/compilation.txt: Update compilation.txt with the newly supported message format. * etc/NEWS: Advertise the feature.
* | Parse the whole buffer at once in compile.elJonas Bernoulli2020-08-141-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/compile.el (compilation-next-single-property-change): Parse whole buffer at once (bug#42806). Also remove the comment that mentioned that it is an option to do it in one go as we now actually start doing. As the existence of that comment suggested, there is not really a reason to process the buffer in small chunks. On the contrary, processing the output in arbitrary units can result in certain constructs not being recognized because they begin in one arbitrary chunk, while ending in another.
* | gcc-include compilation lines are now INFO, instead of WARNINGDima Kogan2020-08-131-2/+2
| | | | | | | | | | | | | | | | * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Prior to this patch the line that contains "from a.h:1:0," was seen as INFO and the line that contains "from a.c:1:" was seen as a WARNING. This patch makes them both INFO (bug#17826).
* | * lisp/progmodes/compile.el: Remove unnecessary comments.Jonas Bernoulli2020-08-131-2/+0
| | | | | | | | | | | | | | These comments are unnecessary because the doc-strings that follow already cover the same ground, while being more concise. These comments were also prefixed with too many semicolons, causing them to be treated as outline headings.
* | javac support in compilation-parse-errors rulesFilipp Gunbin2020-04-011-3/+23
| | | | | | | | | | | | | | | | | | | | | | * etc/compilation.txt: Add doc and example. * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Add javac rule. (compilation-parse-errors): Fix file/line/col test, so that lambda/closure (which are valid values) don't match. * test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data, compile-test-error-regexps): Add test.
* | Turn compilation-error-case-fold-search into a defvarMattias Engdegård2020-03-281-4/+6
| | | | | | | | | | | | | | | | | | See bug#40119, and the discussion at https://lists.gnu.org/archive/html/emacs-devel/2020-03/msg00653.html * lisp/progmodes/compile.el (compilation-error-case-fold-search): Turn into a defvar. * etc/NEWS: Update.
* | Make compilation-mode regexp matching case-sensitive (bug#40119)Mattias Engdegård2020-03-251-1/+10
|/ | | | | | | | | | | | The number of regexps is large, they are written independently of one another, and they frequently intersect. Using case-sensitive matching improves separation and performance, and is probably what everyone have being assuming was used by compilation-mode all along. * lisp/progmodes/compile.el (compilation-error-case-fold-search): New. (compilation-parse-errors): Bind case-fold-search to compilation-error-case-fold-search during matching. * etc/NEWS: Announce.
* Make OMake support slightly less expensive (bug#39595)Mattias Engdegård2020-02-171-3/+3
| | | | | | | | | | | | | | | | | When run with -p or -P, OMake regurgitates error messages that prevented further progress, indented by 6 spaces. Use that fact to ameliorate the modification done to other error message regexps. * lisp/progmodes/compile.el (compilation-parse-errors): When 'omake' is enabled, allow error messages to be indented by 0 or 6 spaces instead of any number of spaces, to avoid pathological behaviour. (compilation-error-regexp-alist-alist): Anchor the 'omake' pattern to bol for performance. Repair the 'ruby-Test::Unit' pattern, which relied on the previously over-generous 'omake' hack. * etc/compilation.txt (OMake): Add examples. * test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data) (compile-test-error-regexps): Add test for OMake (indented error).
* Speed up 'msft' and 'watcom' compilation error regexpsMattias Engdegård2020-02-171-2/+2
| | | | | | | | | They have similar structure, and both suffer from being able to match leading spaces in multiple ways which leads to bad performance when backtracking (bug#39595). * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Improved 'msft' and 'watcom' regexps.
* Speed up 'maven' compilation error message regexpMattias Engdegård2020-02-171-4/+16
| | | | | | | | | | | | | Anchor the regexp at line-start to prevent quadratic behaviour when it doesn't match (bug#39595). It's unclear whether the type tag, like [ERROR], is always present; we keep it optional just in case. * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Rewrite 'maven' regexp, using rx for clarity. * etc/compilation.txt (maven): More examples. * test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data): No leading spaces; they seems to stem from a misunderstanding in bug#11517.
* Remove redundant 'msft' compilation error rule (bug#39595)Mattias Engdegård2020-02-141-7/+0
| | | | | | | | When the 'msft' rule was moved and modified, the old copy was left in place by mistake. * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Remove old rule.
* Update copyright year to 2020Paul Eggert2020-01-011-1/+1
| | | | Run "TZ=UTC0 admin/update-copyright $(git ls-files)".
* Trivial docstring fixesJuanma Barranquero2019-12-241-1/+1
| | | | | | | | | | | | | | | | | * ChangeLog.3: * lisp/emacs-lisp/cl-macs.el (cl-flet): * lisp/filesets.el (filesets-menu-ensure-use-cached): * lisp/progmodes/compile.el (compilation-context-lines): * lisp/progmodes/prolog.el (prolog-paren-indent): * lisp/progmodes/sql.el (sql-password-search-wallet-function): Fix typos in docstrings. * lisp/cedet/semantic/analyze.el (semantic-analyze-push-error): Doc fix. * lisp/emacs-lisp/map.el (map-put, map-info): Refill docstring. (map-contains-key): Fix typo. (map-every-p): Doc fix.
* Fix an error with remote file name in compile.elMichael Albinus2019-12-181-11/+5
| | | | | * lisp/progmodes/compile.el (compilation-get-file-structure): Compute proper remote file name. (Bug#38648)
* Compilation Mode: Fix arrow handling when compilation-context-lines is tAlan Mackenzie2019-11-171-16/+29
| | | | | | | | | | | | | | | | | | In particular, fix some exception occurrences, fix handling of a Compilation Mode buffer being displayed in several windows, and fix the margin when temporarily displaying a different buffer in a window, then returning to the compilation mode buffer. The fix is relevant for frames without fringes, e.g. tty frames. * lisp/progmodes/compile.el: (compilation-set-window): Always set point to (parameter) MK. (compilation--set-up-margin, compilation--tear-down-margin): New functions. (compilation--set-up-arrow-spec-in-margins) (compilation--tear-down-arrow-spec-in-margins): Renamed by introducing -- and pluralising margin to margins. Handle the margins in _all_ windows displaying the pertinent buffer by using get-buffer-window-list. In ...--set-up-... add compilation--set-up-margin to window-buffer-change-functions. In ...--tear-down-... remove the hook functions added in ...--set-up-....
* Fix a few more minor quoting problems.Paul Eggert2019-11-111-1/+1
|
* Make ant regexp in compilation-error-regexp-alist-alist more laxFilipp Gunbin2019-11-011-2/+5
| | | | | | | * lisp/progmodes/compile.el: Make ant regexp accept filenames that may occur on Cygwin (like c:/test) and optional additional severity level after task name. * etc/compilation.txt: Add sample.
* Add gradle-kotlin to compilation-error-regexp-alist-alistFilipp Gunbin2019-10-291-0/+10
| | | | | | * lisp/progmodes/compile.el: Add gradle-kotlin to compilation-error-regexp-alist-alist. * etc/compilation.txt: Add samples for it.
* Fix hitting RET on some text in compilation-modeLars Ingebrigtsen2019-10-131-3/+9
| | | | | | | * lisp/progmodes/compile.el (compilation-next-error-function): Don't bug out with an incomprehensible error message on "make[2]:" texts (bug#5316). (compilation-find-file): Protect against there being no file name.
* In compilation-tear-down-arrow-spec-in-margin, test compilation-arrow-overlayAlan Mackenzie2019-10-131-4/+5
| | | | | | * lisp/progmodes/compile.el (compilation-tear-down-arrow-spec-in-margin): Make sure compilation-arrow-overlay is an overlay before performing overlay operations on it. This fixes bug #37733.
* Fix compilation-transform-file-match-alist failureLars Ingebrigtsen2019-10-121-12/+13
| | | | | | * lisp/progmodes/compile.el (compilation-error-properties): Fix thinko in compilation-transform-file-match-alist feature -- `file' isn't a list of files after all.
* * lisp/progmodes/compile.elAndreas Schwab2019-10-101-2/+1
| | | | (compilation-transform-file-match-alist): Remove bogus Makefile match.
* Allow filtering out warnings/errors from compile.el detectionLars Ingebrigtsen2019-10-101-12/+44
| | | | | | | | * lisp/progmodes/compile.el (compilation-transform-file-match-alist): New variable (bug#32968). (compilation-error-properties): Use it to remove known false positives. (compilation-error-regexp-alist): Mention it in this doc string.
* Support GNU make error messages in compile mode.Paul Smith2019-10-051-0/+6
| | | | | | | | * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Match GNU make error messages. * test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data): Test GNU make error message matching. (compile-test-error-regexps): Update count of infos found.
* Fix error in gnu compilation-mode regexp (bug#37582)Mattias Engdegård2019-10-041-1/+1
| | | | | | | | * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Fix a mistake introduced when the regexp was translated to rx. * test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data) (compile-test-error-regexps): Add test case. * etc/compilation.txt: Add example.
* Remove the compilation-arrow-overlay on a major mode change/reinitializationAlan Mackenzie2019-09-291-1/+4
| | | | | | | At the same time, remove the 2-character left margin. * lisp/progmodes/compile.el (compilation-set-up-arrow-spec-in-margin): put compilation-tear-down-arrow-spec-in-margin onto change-major-mode-hook.
* Fix untidinesses in compile.el.Alan Mackenzie2019-09-081-7/+4
| | | | | | * lisp/progmodes/compile.el (compilation--margin-string): Renamed from compilation-margin-string. Use defconst rather than defvar. Use propertize rather than a separate put-text-property. Trim the doc string.
* Repair change to compilation-context-lines (bug#36832)Mattias Engdegård2019-09-041-1/+2
| | | | | | * lisp/progmodes/compile.el (compilation-set-window): Restore proper behaviour when compilation-context-lines is nil, which is the default.
* Use left margin to hold "=>" to indicate current error in fringeless windowsAlan Mackenzie2019-09-031-26/+49
| | | | | | | | | | | This applies to compilation-mode. It amends the fix for bug #36832. * lisp/progmodes/compile.el (compilation-arrow-overlay): renamed from overlay-arrow-overlay. (compilation-margin-string, compilation--dummy-string): New variables. (compilation-set-up-arrow-spec-in-margin) (compilation-tear-down-arrow-spec-in-margin): New functions. (compilation-set-overlay-arrow): Rewritten to use the new variables/functions.
* Introduce new value t for compilation-context-lines to eliminate scrollingAlan Mackenzie2019-08-251-22/+68
| | | | | | | | | | | | | | | | | | | | In particular, to prevent scrolling in a window lacking a left fringe. Instead, a visible arrow "=>" is inserted before column zero. This fixes bug #36832. * lisp/progmodes/compile.el (compilation-context-lines): Add the new value t. (compilation-set-window): Amend to handle compilation-context-lines being t. (overlay-arrow-overlay): New variable holding an overlay with before-string property "=>". (compilation-set-overlay-arrow): New function which manipulates overlay-arrow-overlay. (compilation-goto-locus, compilation-find-file): In addition to calling compilation-set-window, also call compilation-set-overlay-arrow. * doc/emacs/building.texi (Compilation Mode): Document the new value t which compilation-context-lines can take. * etc/NEWS: Add an entry for this change.
* Merge commit '9b480db6732c6d2e886838f112d9bd46fc8989bf'Stephen Leake2019-07-301-6/+36
|\
| * * lisp/progmodes/compile.el: Fix bug#36803.Stefan Monnier2019-07-271-3/+9
| | | | | | | | | | | | | | | | Make sure all mode-lines are updated when compilation-in-progress is changed since it's visible globally. (compilation--update-in-progress-mode-line): New function. (compilation-start, compilation-sentinel): Use it.
| * Fix many-compilations case of compilation-goto-in-progress-bufferLars Ingebrigtsen2019-07-251-1/+4
| | | | | | | | | | | | * lisp/progmodes/compile.el (compilation-goto-in-progress-buffer): Fix thinko in initial version of the function in the many-compilations case.
| * Make "Compiling" in the mode line a clickable commandLars Ingebrigtsen2019-07-231-3/+24
| | | | | | | | | | | | | | | | | | * lisp/progmodes/compile.el (compilation-goto-in-progress-buffer): New command. (compilation-in-progress): Don't put the in-progress mode-line marker among the minor modes (because it's not a minor mode), and add a command that allows you to switch to the in-progress compilation buffer (bug#27252).