1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-22 05:31:01 -08:00
Commit graph

5942 commits

Author SHA1 Message Date
Alan Mackenzie
a2634462b8 Backport fix to bug #18749 to Emacs-24 branch. 2014-11-05 18:38:51 +00:00
Alan Mackenzie
ceb7a7dfb8 Fix wrong bound to c-font-lock-declarators. Fixes bug #18948.
progmodes/cc-fonts.el (c-font-lock-declarations): Pass "(point-max)" as
bound to c-font-lock-declarators, not "limit", as the buffer is sometimes
narrowed to less than "limit" (e.g., in the presence of macros).
2014-11-05 17:57:50 +00:00
Eli Zaretskii
85f20e489e Fix bug #18856 with failure to fontify compilation buffers.
lisp/progmodes/compile.el (compilation-mode): Turn off deferred
 fontifications locally.
2014-11-01 16:16:53 +02:00
Glenn Morris
792faabe7a * lisp/progmodes/vhdl-mode.el: Doc grammar fixes. 2014-10-30 21:14:27 -07:00
Stefan Monnier
237bf45a48 * lisp/progmodes/cc-defs.el (c--macroexpand-all): New function.
(c-lang-defconst):
* lisp/progmodes/cc-langs.el (c-make-init-lang-vars-fun): Use it.

Fixes: debbugs:18845
2014-10-29 23:50:15 -04:00
Eli Zaretskii
091d3228b7 Fix bug #18874 with rgrep not obeying grep-scroll-output.
lisp/progmodes/compile.el (compilation-start): If
 compilation-scroll-output is non-nil, don't force window-start of
 the compilation buffer to be at beginning of buffer.
2014-10-29 17:17:18 +02:00
Stefan Monnier
c9f7e33c60 * lisp/progmodes/python.el (inferior-python-mode): Use add-hook. 2014-10-20 18:37:04 -04:00
Stefan Monnier
1fc82d89a8 * lisp/obsolete/cc-compat.el: Make obsolete.
Fixes: debbugs:18561
2014-10-20 17:55:12 -04:00
Fabián Ezequiel Gallina
b1be0eda33 Fix import completion.
* lisp/progmodes/python.el (python-shell-completion-get-completions):
Fix import case regexp.

Fixes: debbugs:18582
2014-10-12 12:12:04 -03:00
Stefan Monnier
4b9d951ee1 * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Fix \\<_ typo.
Reported by Arni Magnusson <arnima@hafro.is>.
* lisp/progmodes/prolog.el (prolog-electric--underscore): Same.

Fixes: debbugs:18622
2014-10-10 00:03:27 -04:00
Stefan Monnier
85ee81a08f * lisp/progmodes/python.el (python-shell-completion-get-completions):
Use python-shell--prompt-calculated-input-regexp from the
process buffer.
Don't assume that `line' comes from the process buffer.

Fixes: debbugs:18582
2014-09-30 20:41:51 -04:00
Leonardo Nobrega
d3b7a90bc2 * lisp/progmodes/python.el (python-fill-paren): Don't inf-loop at EOB.
Fixes: debbugs:18462
2014-09-30 19:00:57 -04:00
Stefan Monnier
9de3064db6 * lisp/progmodes/gud.el (gud-gdb-completion-at-point): Add hack.
(gud-gdb-completions): Remove obsolete workaround.

Fixes: debbugs:18282
2014-09-02 14:16:32 -04:00
Fabián Ezequiel Gallina
0e4c8f1856 * lisp/progmodes/python.el (python-indent-post-self-insert-function):
Avoid electric colon at beginning-of-defun. 

* test/automated/python-tests.el:
(python-indent-electric-colon-1): New test.  (Bug#18228)
2014-09-01 19:51:46 -03:00
Stefan Monnier
5d3c0a067f * lisp/progmodes/python.el (python-shell-prompt-detect): Remove redundant
executable-find.

Fixes: debbugs:18244
2014-08-18 12:11:43 -04:00
Fabián Ezequiel Gallina
85bc77b270 * lisp/progmodes/python.el (inferior-python-mode): Doc fix. 2014-07-26 22:36:48 -03:00
Glenn Morris
25aa0da588 prolog.el: Fix for missing `switch-to-prolog'
Ref: http://lists.gnu.org/archive/html/emacs-devel/2014-07/msg00228.html

* lisp/progmodes/prolog.el (prolog-mode-keybindings-edit):
Replace missing `switch-to-prolog' with `run-prolog'.
(switch-to-prolog): Define as (obsolete) alias, as in 23.4.
2014-07-25 04:24:00 -04:00
Paul Eggert
ad4c5263f5 Spelling fixes. 2014-07-21 07:41:19 -07:00
Glenn Morris
f6c951e5d2 Small fixes re toggle-read-only, mainly doc
* progmodes/hideif.el (hide-ifdef-mode-submap): Also substitute read-only-mode.

* bindings.el (mode-line-toggle-read-only):
* bs.el (bs-toggle-readonly):
* buff-menu.el (Buffer-menu-toggle-read-only):
* dired.el (dired-toggle-read-only):
* files.el (view-read-only, find-file-read-only)
(find-file-read-only-other-window)
(find-file-read-only-other-frame):
* progmodes/hideif.el (hide-ifdef-toggle-outside-read-only):
Doc fixes re toggle-read-only.

* view.el: Comment updates.
2014-07-21 01:38:17 -04:00
Fabián Ezequiel Gallina
1651cf2ed5 * lisp/progmodes/python.el: Add comment about pipe buffering and
solutions for missing/delayed output in inferior Python shells.

Fixes: debbugs:17304
2014-07-20 16:51:16 -03:00
Fabián Ezequiel Gallina
f72d7fa132 * lisp/progmodes/python.el (python-mode): Don't set
mode-require-final-newline.

Fixes: debbugs:17990
2014-07-20 15:28:50 -03:00
Fabián Ezequiel Gallina
b06a0dff84 Make python.el work with IPython automatically.
* lisp/progmodes/python.el:
(python-shell-completion-setup-code): New value supporting iPython.
(python-shell-completion-string-code): New value supporting iPython.
(python-shell-completion-get-completions): Use them.
(python-shell-completion-module-string-code): Make obsolete.
(python-shell-prompt-input-regexps)
(python-shell-prompt-output-regexps): Add safeguard for ipdb.
(python-shell-output-filter): Fix comment typo.

* test/automated/python-tests.el:
(python-util-clone-local-variables-1): Fix test.

Fixes: debbugs:15510
2014-07-20 15:12:30 -03:00
Fabián Ezequiel Gallina
eb8cb39e89 Fix Python shell prompts detection for remote hosts.
* lisp/progmodes/python.el (python-shell-prompt-detect): Replace
call-process with process-file and make it more robust.
2014-07-19 16:19:47 -03:00
Fabián Ezequiel Gallina
d949ade3c1 Autodetect Python shell prompts.
* lisp/progmodes/python.el:
(python-shell-interpreter-interactive-arg)
(python-shell-prompt-detect-enabled)
(python-shell-prompt-detect-failure-warning)
(python-shell-prompt-input-regexps)
(python-shell-prompt-output-regexps): New vars.
(python-shell-prompt-calculated-input-regexp)
(python-shell-prompt-calculated-output-regexp): New vars.
(python-shell-get-process-name)
(python-shell-internal-get-process-name)
(python-shell-output-filter)
(python-shell-completion-get-completions): Use them.
(python-shell-prompt-detect)
(python-shell-prompt-validate-regexps): New functions.
(python-shell-prompt-set-calculated-regexps): New function.
(inferior-python-mode): Use it.  Also honor overriden
python-shell-interpreter and python-shell-interpreter-args.
(python-shell-make-comint): Honor overriden
python-shell-interpreter and python-shell-interpreter-args.
(python-shell-get-or-create-process): Make it testable by allowing
to call run-python non-interactively.
(python-util-valid-regexp-p): New function.
(python-shell-prompt-regexp, python-shell-prompt-block-regexp)
(python-shell-prompt-output-regexp)
(python-shell-prompt-pdb-regexp): Use it as defcustom :safe.

* test/automated/python-tests.el (python-shell-make-comint-1):
(python-shell-make-comint-2): Fix indentation.
(python-shell-make-comint-3)
(python-shell-make-comint-4): New tests.
(python-shell-get-or-create-process-1): Fix test.
(python-shell-get-or-create-process-2)
(python-shell-get-or-create-process-3): New tests.
(python-shell-internal-get-or-create-process-1): Fix test.
(python-shell-prompt-detect-1): New test.
(python-shell-prompt-detect-2): New test.  (Bug#17370)
(python-shell-prompt-detect-3)
(python-shell-prompt-detect-4)
(python-shell-prompt-detect-5)
(python-shell-prompt-detect-6)
(python-shell-prompt-validate-regexps-1)
(python-shell-prompt-validate-regexps-2)
(python-shell-prompt-validate-regexps-3)
(python-shell-prompt-validate-regexps-4)
(python-shell-prompt-validate-regexps-5)
(python-shell-prompt-validate-regexps-6)
(python-shell-prompt-validate-regexps-7)
(python-shell-prompt-set-calculated-regexps-1)
(python-shell-prompt-set-calculated-regexps-2)
(python-shell-prompt-set-calculated-regexps-3)
(python-shell-prompt-set-calculated-regexps-4)
(python-shell-prompt-set-calculated-regexps-5)
(python-shell-prompt-set-calculated-regexps-6)
(python-util-valid-regexp-p-1): New tests.
2014-07-19 10:13:07 -03:00
Fabián Ezequiel Gallina
fded0b4a15 Fix dedenters and electric colon handling.
* lisp/progmodes/python.el
(python-rx-constituents): Add dedenter and block-ender.
(python-indent-dedenters, python-indent-block-enders): Delete.
(python-indent-context): Return new case for dedenter-statement.
(python-indent-calculate-indentation): Handle new case.
(python-indent-calculate-levels): Fix levels calculation for
dedenter statements.
(python-indent-post-self-insert-function): Fix colon handling.
(python-info-dedenter-opening-block-message): New function.
(python-indent-line): Use it.
(python-info-closing-block)
(python-info-closing-block-message): Remove.
(python-info-dedenter-opening-block-position)
(python-info-dedenter-opening-block-positions)
(python-info-dedenter-statement-p): New functions.

* test/automated/python-tests.el
(python-indent-block-enders-1)
(python-indent-block-enders-2): Fix tests.
(python-indent-block-enders-3)
(python-indent-block-enders-4)
(python-indent-block-enders-5)
(python-indent-dedenters-1)
(python-indent-dedenters-2): Remove tests.
(python-indent-dedenters-1)
(python-indent-dedenters-2)
(python-indent-dedenters-3)
(python-indent-dedenters-4)
(python-indent-dedenters-5)
(python-indent-dedenters-6)
(python-indent-dedenters-7)
(python-info-dedenter-opening-block-position-1)
(python-info-dedenter-opening-block-position-2)
(python-info-dedenter-opening-block-position-3)
(python-info-dedenter-opening-block-positions-1)
(python-info-dedenter-opening-block-positions-2)
(python-info-dedenter-opening-block-positions-3)
(python-info-dedenter-opening-block-positions-4)
(python-info-dedenter-opening-block-positions-5)
(python-info-dedenter-opening-block-message-1)
(python-info-dedenter-opening-block-message-2)
(python-info-dedenter-opening-block-message-3)
(python-info-dedenter-opening-block-message-4)
(python-info-dedenter-opening-block-message-5)
(python-info-dedenter-statement-p-1)
(python-info-dedenter-statement-p-2)
(python-info-dedenter-statement-p-3)
(python-info-dedenter-statement-p-4)
(python-info-dedenter-statement-p-5): New tests.

Fixes: debbugs:15163
2014-07-09 00:55:53 -03:00
Stefan Monnier
d8899d09b9 * lisp/progmodes/sh-script.el (sh-smie-sh-rules): Don't align with a && in
the middle of a line.

Fixes: debbugs:17896
2014-07-08 14:38:07 -04:00
Stefan Monnier
d66146bf18 * lisp/progmodes/ruby-mode.el (ruby-mode-variables): Don't meddle with
require-final-newline since prog-mode already took care of it.

Fixes: debbugs:17947
2014-07-05 14:37:45 -04:00
Stefan Monnier
7fe2ae6720 * lisp/progmodes/octave.el (inferior-octave-mode):
Set comint-input-ring-size to a number.

Fixes: debbugs:17912
2014-07-03 21:35:23 -04:00
Fabián Ezequiel Gallina
3acd6262d9 * lisp/progmodes/python.el (python-indent-post-self-insert-function):
Enhancements to electric indentation behavior inside
parens.

* test/automated/python-tests.el
(python-tests-self-insert): New function.
(python-triple-quote-pairing): Use it.
(python-util-forward-comment-1): New test. (Bug#17658)
2014-07-01 00:54:11 -03:00
Glenn Morris
a27e8c78c0 Doc and comment fixes re "online" help
* doc/emacs/help.texi (Misc Help):
* doc/emacs/trouble.texi (Checklist):
* doc/lispintro/emacs-lisp-intro.texi (Note for Novices, Finding More)
(Conclusion):
* doc/lispref/help.texi (Help Functions):
* doc/misc/info.texi, doc/misc/mh-e.texi:
* etc/refcards/calccard.tex (section{Getting Help}):
* lisp/cus-edit.el (help):
* lisp/finder.el (finder-known-keywords):
* lisp/help.el (help-for-help-internal):
* lisp/vc/ediff-mult.el (ediff-meta-buffer-verbose-message)
(ediff-redraw-registry-buffer):
* lisp/vc/ediff-ptch.el (ediff-patch-file-internal):
Doc fixes re "online" help.

Fixes: debbugs:17803
2014-06-28 19:33:50 -07:00
Glenn Morris
64de2916ca Update idlwave url
* doc/misc/idlwave.texi (Introduction): Comment out dead http screenshot links.

* lisp/progmodes/idlwave.el (idlwave): Update url-link for custom group.
(idlwave-mode): Doc URL update.
2014-06-28 19:17:17 -07:00
Stefan Monnier
7d1fd42bd6 * lisp/progmodes/hideif.el: Undo last change which should only go to trunk
(do not merge).
2014-06-26 09:40:49 -04:00
Luke Lee
c269730462 HideIfDef mode bug fixes and enhancements. This is #2 of 3 patches based
on the completed work posted on http://www.emacswiki.org/emacs/HideIfDef.

- Supporting argumented macro expansion.
- Stringification, tokenization and concatenation of strings and tokens.
- Add functions to find defines and parse argumented macros into a macro
  tree containing macro name, formal parameters and macro body.
- On macro evaluation, macros will be applied with actual parameters and
  then got expanded recursively.
- Merge main trunk changes

* lisp/progmodes/hideif.el (hif-string-to-number): Merge changes from
main trunk.
(hif-simple-token-only, hif-tokenize): Commentted in detail mainly for
performance enhancements.
(hif-parse-if-exp): Rename to `hif-parse-exp'. Enhanced for macro
expansion.
(hif-factor, hif-string-concatenation, intern-safe): Support string
concatenation and argumented macro expansion.
(hif-if-valid-identifier-p, hif-define-operator, hif-flatten)
(hif-expand-token-list, hif-get-argument-list, hif-define-macro)
(hif-delimit, hif-macro-supply-arguments, hif-invoke, hif-canonicalize)
(hif-canonicalize-tokens, hif-looking-at-elif, hif-place-macro-invocation)
(hif-parse-macro-arglist): Mostly new functions for supporting argumented
macro expansion.
(hif-string-concatenation, hif-stringify, hif-token-concat)
(hif-token-stringification, hif-token-concatenation): Stringify and
concatentation.
(hif-find-next-relevant): Fix comments
(hif-ifdef-to-endif, hif-looking-at-elif, hif-hide-line): Bug fix for
some cases involving #elif.
(hif-find-define, hif-add-new-defines): New functions for automatically
scanning of defined symbols.
(hide-ifdef-guts): Fix for auto defined symbol scanning.
(hide-ifdef-undef): Fix behavior to match CPP.
2014-06-26 13:47:33 +08:00
Leo Liu
83d208a5dd Fix a few packages to work with nil tab-stop-list
* indent.el (indent-accumulate-tab-stops): New function.

* textmodes/picture.el (picture-set-tab-stops):
* ruler-mode.el (ruler-mode-mouse-add-tab-stop)
(ruler-mode-ruler): Fix to work with nil tab-stop-list.

* progmodes/asm-mode.el (asm-calculate-indentation): Use
indent-next-tab-stop.
2014-06-26 07:53:37 +08:00
Stefan Monnier
370ceb2210 Fix some indentation problem with \; and pipes.
* lisp/progmodes/sh-script.el (sh-mode-syntax-table): Set syntax of ;|&.
(sh-smie--default-forward-token, sh-smie--default-backward-token):
New functions.
(sh-smie-sh-forward-token, sh-smie-sh-backward-token)
(sh-smie-rc-forward-token, sh-smie-rc-backward-token): Use them.
(sh-smie-sh-rules): Fix indentation of a pipe at BOL.

Fixes: debbugs:17842
2014-06-24 16:16:10 -04:00
Fabián Ezequiel Gallina
656f99beeb Fix completion retrieval parsing.
* progmodes/python.el (python-mode):
(python-util-strip-string): New function.
(python-shell-completion-get-completions): Use it.

* automated/python-tests.el (python-util-strip-string-1): New test.

Fixes: debbugs:17209
2014-06-21 11:14:54 -03:00
Fabián Ezequiel Gallina
3114d9e702 Enhancements for outline integration.
* lisp/progmodes/python.el (python-mode): Properly set
outline-heading-end-regexp so that comments after colons for
defuns are supported.

Fixes: debbugs:17796
2014-06-21 08:26:43 -03:00
Stefan Monnier
9e248ebdc7 * lisp/progmodes/sh-script.el (sh-smie-sh-rules): For { after &&, don't
align with the surrounding parent.

Fixes: debbugs:17721
2014-06-20 10:23:30 -04:00
Stefan Monnier
500dce5f4d * lisp/emacs-lisp/smie.el (smie--hanging-eolp-function): New var.
(smie-indent--hanging-p): Use it.
* lisp/progmodes/sh-script.el (sh-set-shell): Set it.

Fixes: debbugs:17621
2014-06-19 21:05:40 -04:00
Stefan Monnier
e9638b49e5 * lisp/progmodes/sh-script.el (sh-smie-sh-rules): Use same rule for && as
for |.

Fixes: debbugs:17621
2014-06-19 18:52:12 -04:00
Dmitry Gutov
6a7faa1664 Fix bug#17732
* lisp/progmodes/ruby-mode.el (ruby-font-lock-keywords): Don't fontify
`!' in `!~' with `font-lock-negation-char-face'.
2014-06-16 06:33:29 +03:00
Glenn Morris
cd7d4e9b38 Stop cc-mode loading cl at runtime
* lisp/progmodes/cc-langs.el: Require cl-lib. 
Replace delete-duplicates and mapcan by cl- versions throughout.
And cl-macroexpand-all by macroexpand-all.
(delete-duplicates, mapcan, cl-macroexpand-all): No need to declare.

Fixes: debbugs:17463
2014-06-14 16:54:39 -07:00
Stefan Monnier
ffa8a2db08 * lisp/progmodes/js.el (js-indent-line): Don't mix columns and chars.
Fixes: debbugs:17619
2014-05-31 21:53:04 -04:00
Stefan Monnier
0a5cfeeecb * lisp/progmodes/scheme.el (scheme-mode-syntax-table): Remove hack for
#; comments.
(scheme-syntax-propertize, scheme-syntax-propertize-sexp-comment):
New functions.
(scheme-mode-variables): Set syntax-propertize-function instead of
font-lock-syntactic-face-function.
(scheme-font-lock-syntactic-face-function): Delete.
2014-05-20 16:12:30 -04:00
Glenn Morris
bb1f4b8f9a * compile.el (recompile): Handle C-u M-x recompile from non-compilation buffer
Fixes: debbugs:17444
2014-05-08 23:42:39 -07:00
Dmitry Gutov
4dd3c4d53a * lisp/progmodes/ruby-mode.el (ruby-syntax-propertize-function):
Backtrack one char if the global/char-literal var matcher hits
inside a string.  The next char could be the beginning of an
expression expansion.

* test/automated/ruby-mode-tests.el
(ruby-interpolation-after-dollar-sign): New test.
2014-05-06 03:18:18 +04:00
Glenn Morris
d136f18462 Doc fixes
* doc/misc/autotype.texi (Skeleton Language):
* doc/misc/message.texi (Header Commands):
* lisp/allout-widgets.el (allout-widgets-tally)
(allout-decorate-item-guides):
* lisp/menu-bar.el (menu-bar-positive-p):
* lisp/minibuffer.el (completion-pcm-complete-word-inserts-delimiters):
* lisp/cedet/ede.el (ede-project-directories, ede-check-project-directory):
* lisp/cedet/semantic/ia-sb.el (semantic-ia-sb-show-doc):
* lisp/cedet/semantic/tag.el (semantic-tag-in-buffer-p):
* lisp/cedet/semantic/bovine/c.el (semantic-tag-abstract-p):
* lisp/gnus/gnus-registry.el (gnus-registry-install-p): Doc fix.
* lisp/progmodes/gdb-mi.el (gdbmi-same-start, gdbmi-is-number):
* lisp/progmodes/js.el (js--inside-param-list-p)
(js--inside-dojo-class-list-p, js--forward-destructuring-spec):
* lisp/progmodes/prolog.el (region-exists-p):
* lisp/progmodes/verilog-mode.el (verilog-scan-cache-ok-p):
* lisp/textmodes/reftex-parse.el (reftex-using-biblatex-p):
* lisp/url/url-parse.el (url-generic-parse-url):
* src/floatfns.c (Fisnan):
* src/profiler.c (Fprofiler_cpu_running_p):
Doc fixes (replace `iff').

Fixes: debbugs:17309
2014-05-01 19:55:25 -04:00
Stefan Monnier
0e8a933149 * lisp/simple.el (completion-list-mode-map): Use choose-completion for the
mouse binding as well.
(completion-list-mode, completion-setup-function): Adjust docstring and
echo area message accordingly.
* lisp/progmodes/idlwave.el (idlwave-choose-completion): Adjust to new
calling convention of choose-completion.
* lisp/comint.el (comint-dynamic-list-completions):
* lisp/term.el (term-dynamic-list-completions): Accept choose-completion.

Fixes: debbugs:17302
2014-04-22 22:22:06 -04:00
Stefan Monnier
c08684513a * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function): Slash after
&, |, +, - and * can't be a division.

Fixes: debbugs:17317
2014-04-22 21:56:18 -04:00
Stefan Monnier
f0ffb9b767 * lisp/progmodes/prog-mode.el (prettify-symbols--compose-symbol):
Don't prettify a word within a symbol.
2014-04-21 16:31:22 -04:00