Commit graph

8138 commits

Author SHA1 Message Date
Glenn Morris
013ddd1e5d Merge from origin/emacs-27
cf0ee6f49b ; spelling fixes
16f4f26632 Fix startup working dir bug on NeXTSTEP
2020-08-18 07:51:05 -07:00
Lars Ingebrigtsen
033f98efc3 Remove some compat code from python.el
* lisp/progmodes/python.el: Remove some compat function definitions.
2020-08-18 12:02:58 +02:00
Lars Ingebrigtsen
8d7a7c16a8 Remove XEmacs compat code from idlwave.el
idlwave.el: (idlwave-comment-line-start-skip, idlwave-mode-map)
(idlwave-mode, idlwave-get-buffer-visiting)
(idlwave-find-file-noselect, idlwave-complete-in-buffer)
(idlwave-attach-classes, idlwave-popup-select)
(idlwave-split-menu-emacs, idlwave-display-completion-list)
(idlwave-default-choose-completion)
(idlwave-display-completion-list-emacs)
(idlwave-display-completion-list-1)
(idlwave-make-modified-completion-map-emacs)
(idlwave-class-file-or-buffer, idlwave-rinfo-mouse-map)
(idlwave-display-calling-sequence)
(idlwave-insert-source-location)
(idlwave-list-load-path-shadows, idlwave-edit-in-idlde): Remove
XEmacs compat code.
2020-08-18 11:53:21 +02:00
Lars Ingebrigtsen
fdd388d311 Remove some compat code from idlwave.el
* lisp/progmodes/idlwave.el (idlwave-one-key-select): Remove check
from fit-window-to-buffer, which always exists.
2020-08-18 11:27:17 +02:00
João Távora
df2ae3f9c1 Don't let docless variables hide function signature
In Elisp mode, ElDoc will try the variable's docstring first, then the
function signature.  If the former doesn't have one, don't hide the
latter.

* lisp/progmodes/elisp-mode.el (elisp-eldoc-var-docstring): If no
symbol docstring, don't declare any.
2020-08-16 19:05:05 +01:00
Stefan Kangas
76514dcb6d Comment to postpone deletion of c-subword-mode
* lisp/progmodes/subword.el (c-subword-mode): Clarify that this
obsolete function alias should not be removed just yet.  There is a
copy of this definition in cc-cmds.el, obsolete since 24.3, and it is
better to delete both at the same time.
2020-08-14 17:03:13 +02:00
Stefan Monnier
7a7847d7ad * lisp/progmodes/perl-mode.el (perl--syntax-exp-intro-regexp): Bug#42168
* test/lisp/progmodes/cperl-mode-tests.el: Adjust for `perl-mode`.
(cperl-test-ppss): Rename from `cperl-test-face` and change return value.
(cperl-mode-test-bug-42168): Test the `syntax-ppss` state rather than
the font-lock faces, so it works for both `perl-mode` and `cperl-mode`.
2020-08-14 10:58:00 -04:00
Jonas Bernoulli
93136b980a Parse the whole buffer at once in compile.el
* 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.
2020-08-14 16:23:16 +02:00
Dmitry Gutov
319463920c Unbreak project-find-regexp in Emacs 26.3 (bug#42765)
* lisp/progmodes/project.el: Depend on xref.  Bump the version.

* lisp/progmodes/xref.el: Remove 'project' from the list of
dependencies.  Depending on Emacs 26.3 already ensures that some
version is available.  Bump the version.
(xref--process-file-region): Move from project.el with a rename.
Update the sole caller.
(xref-backend-references): Make compatible with old project.el.
Update the docstring.
2020-08-14 17:21:55 +03:00
Harald Jörg
f3ff51288f cperl-mode: Highlight '{$a++ / $b}' correctly
* lisp/progmodes/cperl-mode.el (cperl-find-pods-heres):
Recognize {$a++ / $b} correctly as division.  (Bug#42168)
* test/lisp/progmodes/cperl-mode-tests.el: New file with test
verifying the fix.
2020-08-14 11:03:47 +02:00
Paul Eggert
cf0ee6f49b ; spelling fixes 2020-08-13 16:48:16 -07:00
Dima Kogan
53720a9bde gcc-include compilation lines are now INFO, instead of WARNING
* 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).
2020-08-13 12:20:53 +02:00
Jonas Bernoulli
aaa69dc923 * lisp/progmodes/compile.el: Remove unnecessary comments.
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.
2020-08-13 11:30:16 +02:00
Lars Ingebrigtsen
77907b29e0 Remove some compat code from prolog.el
* lisp/progmodes/prolog.el (match-string): Remove alias to
function that always exists.
2020-08-12 18:31:50 +02:00
Lars Ingebrigtsen
a459e5256c Remove some compat code from idlwave.el
* lisp/progmodes/idlwave.el: Remove some checks for functions that
always exist.
2020-08-12 18:29:05 +02:00
Lars Ingebrigtsen
7bbfdcec64 Remove compat code in prolog.el
* lisp/progmodes/prolog.el (use-region-p): Remove compat code.
2020-08-11 21:04:12 +02:00
Lars Ingebrigtsen
a19e9ab834 Minor idlwave clean up
* lisp/progmodes/idlw-shell.el (idlwave-shell-mouse-examine)
(idlwave-shell-print): Adjust callers.

* lisp/progmodes/idlwave.el (idlwave-region-active-p): Make into
obsolete alias.
2020-08-11 21:04:12 +02:00
Lars Ingebrigtsen
70825a4d31 Fix problem with /- incorrectly starting a comment in SQL mode
* lisp/progmodes/sql.el (sql-mode): Move all the syntax setup
stuff here (bug#35646).  Add handling of -* and /- from Kristian
Hole <kristian@hole.priv.no>.
2020-08-10 15:18:19 +02:00
Lars Ingebrigtsen
f1e2d366e5 Revert "Indent python multiline strings to start and previous levels"
This reverts commit b78583cde7.

The multi-line string indentation was incorrect after applying this patch.
2020-08-09 23:51:24 +02:00
Kristian Hole
8b4e022c5e Adds backslash as escape character to mysql syntax-alist
* lisp/progmodes/sql.el (sql-product-alist): The \ character is an
escape character in mysql (bug#37459).
(sql-mode): Changes the example from the incorrect use of
punctuation rule, to the escape character rule.

Copyright-paperwork-exempt: yes
2020-08-09 20:55:52 +02:00
Carlos Pita
b78583cde7 Indent python multiline strings to start and previous levels
* progmodes/python.el (python-indent--calculate-indentation): Add an
additional indentation point to match indentation of previous line in
a multiline string.  Then Tab iterates between 0, the start indentation
level and the previous line level (bug#37726).
2020-08-09 20:44:55 +02:00
Lars Ingebrigtsen
f3e0da29a2 Remove superfluous code from the previous '' sql string fix
* lisp/progmodes/sql.el (sql-mode): Remove setting that's now
superfluous from previous check-in.
2020-08-09 10:41:59 +02:00
Florian v. Savigny
289d6b2265 Handle '' in strings in SQL Mode
* lisp/progmodes/sql.el
(sql--syntax-propertize-escaped-apostrophe): Handle '' in strings
(bug#40231).
(sql-mode): Use it.
2020-08-08 15:33:58 +02:00
Lars Ingebrigtsen
d0ad630672 Fix fontification of %d in strings in cperl-mode
* lisp/progmodes/cperl-mode.el (cperl-init-faces): Don't fontify
directives like %d in strings as hashes (bug#22867).
2020-08-07 14:07:20 +02:00
Philip K
cc365ca6d8 Remove usages of assoc-delete-all in project.el
assoc-delete-all is not available for users who have installed
project.el via ELPA on older Emacs versions (bug#42668).

* lisp/progmodes/project.el
(project-remember-project, project--remove-from-project-list):
Replace assoc-delete-all with equivalent alternatives.
2020-08-06 17:49:53 +03:00
Harald Jörg
283fce4c3c cperl-mode.el: Correctly terminate HERE-docs
* lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): cperl-mode
in the master branch wrongly uses the first occurrence of "HERE"
to terminate the string, resulting in badly fontified / indented
code which follows (bug#42251).
2020-08-05 17:19:06 +02:00
Harald Jörg
7389a9ef09 cperl-mode: Fix bad parameter construction in cperl-etags
* lisp/progmodes/cperl-mode.el (cperl-etags): This fails with
(wrong-type-argument stringp cperl-sub-regexp). The error came
with incorporating Jonathan Rockway's work (bug#42355).

Copyright-paperwork-exempt: yes
2020-08-05 15:55:00 +02:00
Harald Jörg
9d409746df cperl-mode: Workaround for failure of cperl-write-tags
* lisp/progmodes/cperl-mode.el (cperl-mode): Accomodate recent
changes in etags (bug#42356).
2020-08-05 15:37:13 +02:00
Lars Ingebrigtsen
c9d550a301 Fontize $(...) slightly better in bash mode
* lisp/progmodes/sh-script.el (sh-font-lock-keywords-var): Fontize
$(...) slightly better (bug#42417).  Instead of just fontizing the
first word in the expression, fontize until the closing
parenthesis.  This doesn't work well if you have nested $(...)
expressions.
2020-08-05 11:34:56 +02:00
Philip K
2ab66c9f9b Replace project-kill-buffers-ignores with project-kill-buffer-conditions
* lisp/progmodes/project.el (project-kill-buffer-conditions):
Replace the project-kill-buffers-ignores user option.
(project--kill-buffer-check): New function.
(project--buffers-to-kill): New function.
(project-kill-buffers): Use them.  Add the NO-CONFIRM argument.
2020-07-29 01:21:56 +03:00
Dmitry Gutov
4d195bb7d0 Fix argument reference
* lisp/progmodes/project.el
(project-display-buffer-other-frame): Fix argument reference.
2020-07-27 03:05:16 +03:00
Dmitry Gutov
33667e02e6 Move project--value-in-dir to a different section
* lisp/progmodes/project.el (project--value-in-dir):
Move closer to its uses.
2020-07-27 03:04:09 +03:00
Dmitry Gutov
7551aff22c Bind switch-to-buffer-obey-display-actions to t
* lisp/progmodes/project.el (project--other-place-command):
Bind switch-to-buffer-obey-display-actions to t, so that
project-other-window-command and friends can affect
project-switch-to-buffer.
2020-07-27 02:57:06 +03:00
Sean Whitton
b63c5a7efc Add project other place commands
* lisp/progmodes/project.el (project-other-window-map,
project-other-frame-map, project--other-place-command,
project-other-window-command, project-other-frame-command,
project-other-tab-command): Add these functions and maps.
* lisp/progmodes/project.el: Bind project-other-window-command to C-x
4 p, project-other-frame-command to C-x 5 p and
project-other-tab-command to C-x t p (bug#42210).
2020-07-27 02:56:50 +03:00
Sean Whitton
e3614fcc62 Add project-display-buffer and project-display-buffer-other-frame
* lisp/progmodes/project.el (project-display-buffer,
project-display-buffer-other-frame): Add commands.
2020-07-27 02:52:10 +03:00
Sean Whitton
7479c11b4e Factor out project--read-project-buffer from project-switch-buffer
* lisp/progmodes/project.el (project--read-project-buffer): New
function extracted from project-switch-buffer.
* lisp/progmodes/project.el (project-switch-buffer): Instead of
unconditionally reading a project buffer from the user, add
buffer-or-name argument, and populate it using
project--read-project-buffer when called interactively.  Update
docstring.
2020-07-27 02:52:10 +03:00
João Távora
dae97708ea Correct order or eldoc-documentation-functions in Elisp mode
Fixes: bug#42531

* lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Reverse order of
eldoc-documentation-functions.
2020-07-26 10:54:24 +01:00
Dmitry Gutov
19064761ad project-remember-project: New public function
* lisp/progmodes/project.el (project-remember-project):
Rename from project--add-to-project-list-front (bug#42332).
And autoload it.
2020-07-25 03:17:47 +03:00
Tassilo Horn
0d7d422b76 bug-reference auto-setup for IRC, implementation for ERC
* lisp/progmodes/bug-reference.el (bug-reference-setup-from-irc-alist):
Change SERVER-REGEXP to NETWORK-REGEXP in docstring.
* lisp/progmodes/bug-reference.el (bug-reference--maybe-setup-from-irc):
Change semantics from requiring a match of channel OR server to
requiring a match of both (if both are configured).
* lisp/progmodes/bug-reference.el (bug-reference-try-setup-from-erc):
New defun doing the auto-setup for ERC.
(bug-reference--run-auto-setup): Run bug-reference-try-setup-from-erc.
* etc/NEWS: Extend entry describing bug-reference auto-setup.
2020-07-23 19:03:25 +02:00
Dmitry Gutov
4c08c2f45b ; project.el: Talk about equality 2020-07-20 04:07:11 +03:00
Dmitry Gutov
7259377d70 project.el: Add more docs and two new key bindings
* lisp/progmodes/project.el:
Add a longer description of the package and how to use it.
(project-prefix-map): Add entries for
'project-or-external-find-file' and
'project-or-external-find-regexp'.
2020-07-20 03:58:08 +03:00
Alan Mackenzie
1fc9d0a790 Remove redundant code from c-font-lock-fontify-region
* lisp/progmodes/cc-mode.el (c-font-lock-fontify-region): Remove variables
string-fence-beg and lim, and the code used to calculate them.
2020-07-19 10:55:48 +00:00
Philipp Stephani
f700fc1482 Add missing 'require'.
* lisp/progmodes/project.el: Require seq.el explicitly as
'seq-every-p' isn't autoloaded in Emacs 26.3.
2020-07-19 10:32:51 +02:00
Tassilo Horn
1cb14d0ce4 ; Add defvars for rcirc vars in order to silence the byte-compiler
* lisp/progmodes/bug-reference.el: Add rcirc defvars for silencing the
byte-compiler.
2020-07-17 21:05:32 +02:00
Tassilo Horn
beaad910c2 bug-reference auto-setup for IRC, implementation for rcirc
* lisp/progmodes/bug-reference.el (bug-reference-setup-from-irc-alist):
New defvar for configuring bug regexp and URL based on IRC channel and
server names.
(bug-reference--maybe-setup-from-irc): New defun doing the setup given
channel and server.
(bug-reference-try-setup-from-rcirc): New defun calling the above for
rcirc buffers.
(bug-reference--run-auto-setup): Enable the auto-setup for rcirc.
* etc/NEWS: Extend entry describing bug-reference auto-setup.
2020-07-17 20:59:04 +02:00
Tassilo Horn
a2a4588110 Add tramp and orgmode to bug-reference-setup-from-mail-alist.
Also add a TODO that I should implement something similar for
IRC (rcirc/ERC).

* lisp/progmodes/bug-reference.el (bug-reference-setup-from-mail-alist):
Auto-setup also with groups matching orgmode and tramp.
2020-07-16 18:38:59 +02:00
Eli Zaretskii
0339325d53 ;* lisp/progmodes/project.el (project-current): Doc fix. 2020-07-12 21:48:39 +03:00
Dmitry Gutov
96173fbfab ; Roll back certain doc changes; clarify what "transient" is 2020-07-12 20:55:23 +03:00
Eli Zaretskii
f5bc508be5 Fix last doc changes in project.el
* lisp/progmodes/project.el (project-find-functions)
(project-current): Add back information which was recently
removed.
2020-07-12 16:57:40 +03:00
Dmitry Gutov
4a467f7591 project-kill-buffers: Update the docstring too
* lisp/progmodes/project.el (project-kill-buffers):
Copy a sentence over from project-switch-to-buffer.
2020-07-12 03:46:37 +03:00