1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-23 18:47:57 +00:00
Commit Graph

470 Commits

Author SHA1 Message Date
Stefan Monnier
2473256d7b Only handle ".." and '..' quoting in shell-mode.
* lisp/shell.el (shell--unquote&requote-argument, shell--unquote-argument)
(shell--requote-argument): New functions.
(shell-completion-vars): Use them.
(shell--parse-pcomplete-arguments): Rename from
shell-parse-pcomplete-arguments.
* lisp/comint.el (comint-word): Obey comint-file-name-quote-list.  Simplify.
(comint--unquote&requote-argument): Don't handle ".." and '..' quoting.
Obey comint-file-name-quote-list.

Fixes: debbugs:11466
2012-05-15 12:58:35 -04:00
Stefan Monnier
71873e2b33 Add new error and function `user-error'.
* lisp/subr.el (user-error): New function.
* lisp/window.el (switch-to-buffer):
* lisp/vc/smerge-mode.el (smerge-resolve-function, smerge-resolve)
(smerge-match-conflict):
* lisp/simple.el (previous-matching-history-element)
(next-matching-history-element, goto-history-element, undo-more)
(undo-start):
* lisp/progmodes/etags.el (visit-tags-table-buffer, find-tag-tag)
(find-tag-noselect, find-tag-in-order, etags-goto-tag-location)
(next-file, tags-loop-scan, list-tags, complete-tag):
* lisp/progmodes/compile.el (compilation-loop):
* lisp/mouse.el (mouse-minibuffer-check):
* lisp/man.el (Man-bgproc-sentinel, Man-goto-page):
* lisp/info.el (Info-find-node-2, Info-extract-pointer, Info-history-back)
(Info-history-forward, Info-follow-reference, Info-menu)
(Info-extract-menu-item, Info-extract-menu-counting)
(Info-forward-node, Info-backward-node, Info-next-menu-item)
(Info-last-menu-item, Info-next-preorder, Info-last-preorder)
(Info-next-reference, Info-prev-reference, Info-index)
(Info-index-next, Info-follow-nearest-node)
(Info-copy-current-node-name):
* lisp/imenu.el (imenu--make-index-alist)
(imenu-default-create-index-function, imenu-add-to-menubar):
* lisp/files.el (basic-save-buffer, recover-file):
* lisp/emacs-lisp/easy-mmode.el (easy-mmode-define-navigation):
* lisp/emacs-lisp/checkdoc.el (checkdoc-continue, checkdoc-comments)
(checkdoc-message-text, checkdoc-defun):
* lisp/dabbrev.el (dabbrev-completion, dabbrev--abbrev-at-point):
* lisp/cus-edit.el (customize-changed-options, customize-rogue)
(customize-saved, custom-variable-set, custom-variable-mark-to-save)
(custom-variable-mark-to-reset-standard)
(custom-variable-reset-backup, custom-face-mark-to-reset-standard)
(custom-file):
* lisp/completion.el (check-completion-length):
* lisp/comint.el (comint-search-arg)
(comint-previous-matching-input-string-position)
(comint-previous-matching-input)
(comint-replace-by-expanded-history-before-point, comint-send-input)
(comint-copy-old-input, comint-backward-matching-input)
(comint-goto-process-mark, comint-set-process-mark):
* lisp/calendar/calendar.el (calendar-cursor-to-date): Use it.
* lisp/bindings.el (debug-ignored-errors): Remove regexps, add `user-error'.
* src/data.c (PUT_ERROR): New macro.
(syms_of_data): Use it.  Add new error type `user-error'.
* src/undo.c (user_error): New function.
(Fprimitive_undo): Use it.
* src/print.c (print_error_message): Adjust print style for `user-error'.
* src/keyboard.c (user_error): New function.
(Fexit_recursive_edit, Fabort_recursive_edit): Use it.
2012-05-04 19:16:47 -04:00
Chong Yidong
782fbf2a33 * lisp/follow.el: Rework, eliminating reliance on advice.
(set-process-filter, process-filter, sit-for): Advice deleted.
(follow-mode-off-hook): Obsolete hook removed.
(follow-avoid-tail-recenter-p, follow-process-filter-alist): Vars
deleted.
(follow-auto): Use a :set function.
(follow-mode): Rewritten.  Don't advise process filters.
(follow-switch-to-current-buffer-all, follow-scroll-up)
(follow-scroll-down): Assume follow-mode is bound.
(follow-comint-scroll-to-bottom)
(follow-align-compilation-windows): New functions.
(follow--window-sorter): New function.
(follow-all-followers): Use it to explicitly sort windows by their
positions; don't make assumptions about next-window order.
(follow-windows-start-end, follow-delete-other-windows-and-split)
(follow-calc-win-start): Doc fix.
(follow-windows-aligned-p, follow-select-if-visible): Don't call
vertical-motion unnecessarily.
(follow-adjust-window): New function.
(follow-post-command-hook): Use it.
(follow-call-set-process-filter, follow-call-process-filter)
(follow-intercept-process-output, follow-tidy-process-filter-alist)
(follow-stop-intercept-process-output, follow-generic-filter):
Functions deleted.
(follow-scroll-bar-toolkit-scroll, follow-scroll-bar-drag)
(follow-scroll-bar-scroll-up, follow-scroll-bar-scroll-down): New
functions, replacing advice on scroll-bar-* commands.

* lisp/comint.el (comint-adjust-point): New function.
(comint-postoutput-scroll-to-bottom): Use it.  Call
follow-comint-scroll-to-bottom for Follow mode buffers.
2012-05-01 21:37:56 +08:00
Stefan Monnier
b4ff4f1fcb Use completion-table-with-quoting for comint and pcomplete.
* lisp/comint.el (comint--unquote&requote-argument)
(comint--unquote-argument, comint--requote-argument): New functions.
(comint--unquote&expand-filename, comint-unquote-filename): Obsolete.
(comint-quote-filename): Use regexp-opt-charset.
(comint--common-suffix, comint--common-quoted-suffix)
(comint--table-subvert): Remove.
(comint-unquote-function, comint-requote-function): New vars.
(comint--complete-file-name-data): Use them with
completion-table-with-quoting.
* lisp/pcmpl-unix.el (pcomplete/scp): Use completion-table-subvert.
* lisp/pcomplete.el (pcomplete-arg-quote-list)
(pcomplete-quote-arg-hook, pcomplete-quote-argument): Obsolete.
(pcomplete-unquote-argument-function): Default to non-nil.
(pcomplete-unquote-argument): Simplify.
(pcomplete--common-quoted-suffix): Remove.
(pcomplete-requote-argument-function): New var.
(pcomplete--common-suffix): New function.
(pcomplete-completions-at-point): Use completion-table-with-quoting
and completion-table-subvert.
2012-04-25 14:53:57 -04:00
Chong Yidong
b668fa6eb0 Delete the gdb-inferior pty when the gdb process exits.
* lisp/progmodes/gdb-mi.el (gdb-inferior-io--maybe-delete-pty): New
function to call delete-process on the gdb-inferior buffer's pty.
(gdb-reset): Use it, instead of relying on kill-buffer to kill the
pty process.
(gdb-update): New arg to suppress talking to the gdb process.
(gdb-done-or-error): Use it.
(gdb-stopped-functions): Rename from gdb-stopped-hooks.
(gdb): Call gdb-inferior-io--maybe-delete-pty as a workaround for
sentinel not being called.

* lisp/comint.el (make-comint-in-buffer, comint-exec): Doc fix.

Fixes: debbugs:11273
2012-04-19 16:09:30 +08:00
Stefan Monnier
305d9f44b0 * lisp/comint.el (comint--common-quoted-suffix): Check string boundary
before comparing.
* lisp/pcomplete.el (pcomplete--common-quoted-suffix): Idem.

Fixes: debbugs:11158
2012-04-04 12:06:59 -04:00
Chong Yidong
3f2eafd1fb Fix ring extension code in ring.el, and tweak comint-input-ring handling.
* lisp/emacs-lisp/ring.el (ring-extend): New function.
(ring-insert+extend): Extend the ring correctly.

* lisp/comint.el (comint-read-input-ring)
(comint-add-to-input-history): Grow comint-input-ring lazily.

Fixes: debbugs:11019
2012-03-15 16:00:43 +08:00
Chong Yidong
0fd40f8951 Use text properties for color escape highlighting in Shell mode.
* ansi-color.el: Don't set comint-output-filter-functions; it is
now in the initial value defined in comint.el.
(ansi-color-apply-face-function): New variable.
(ansi-color-apply-on-region): Use it.
(ansi-color-apply-overlay-face): New function.

* comint.el: Require ansi-color.
(comint-output-filter-functions): Add ansi-color-process-output.

* shell.el (shell): No need to require ansi-color.
(shell-mode): Use ansi-color-apply-face-function to highlight
color escapes using font-lock-face property.

Fixes: debbugs:10835
2012-02-19 21:59:42 +08:00
Chong Yidong
171e9b6ee9 Minor fix for next-single-char-property-change usage.
* lisp/comint.el (comint-next-prompt): next-single-char-property-change
and prev-single-char-property-change never return nil.

Fixes: debbugs:8657
2012-02-06 21:56:40 +08:00
Glenn Morris
acaf905b11 Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
Paul Eggert
333f9019e2 Spelling fixes. 2011-12-11 21:32:49 -08:00
Paul Eggert
40ba43b4b7 Spelling fixes. 2011-11-19 23:30:16 -08:00
Paul Eggert
e1dbe924b5 Spelling fixes. 2011-11-19 18:29:42 -08:00
Paul Eggert
91af3942e9 Spelling fixes. 2011-11-14 15:59:56 -08:00
Stefan Monnier
81a0a2681d * comint.el (comint-get-old-input-default): Fix thinko in last change.
Fixes: debbugs:9865
2011-10-25 08:33:31 -04:00
Stefan Monnier
410488d3ae * lisp/comint.el (comint-get-old-input-default): Fix use-prompt-regexp case.
Fixes: debbugs:9865
2011-10-24 22:19:17 -04:00
Stefan Monnier
fa92a650fd * lisp/comint.el (comint-insert-input): Fix last change. 2011-10-17 13:14:04 -04:00
Stefan Monnier
5a7c536b92 comint.el: Don't let insert' break an input' field into two.
* lisp/comint.el (comint-insert-input, comint-send-input)
(comint-get-old-input-default, comint-backward-matching-input)
(comint-next-prompt): Use nil instead of `input' for field property of
past user input (bug#114).

Fixes: debbugs:9160
2011-10-17 12:33:23 -04:00
Stefan Monnier
8b79f3e0ed * lisp/comint.el (comint--table-subvert): Quote the all-completions output.
Fixes: debbugs:9160
2011-10-17 09:43:40 -04:00
Stefan Monnier
915a9b6440 * lisp/pcmpl-unix.el (pcomplete/scp): Don't assume pcomplete-all-entries
returns a list.  Add remote file name completion.
* lisp/comint.el (comint--table-subvert): Curry and get quote&unquote
functions as arguments.
(comint--complete-file-name-data): Adjust call accordingly.
* lisp/pcomplete.el (pcomplete--table-subvert): Remove.
(pcomplete-completions-at-point): Use comint--table-subvert instead.

Fixes: debbugs:9554
2011-10-03 12:49:56 -04:00
Stefan Monnier
32c1fffd72 * lisp/pcomplete.el: Require comint.
(pcomplete--common-suffix): Remove.
(pcomplete--common-quoted-suffix): Use comint--common-suffix instead.
(pcomplete--table-subvert): Sync with comint--table-subvert.
(pcomplete--entries): Use comint-completion-file-name-table.
* lisp/comint.el (comint-unquote-filename): Simplify.
(comint-completion-file-name-table): New function.
(comint--complete-file-name-data): Use it.
* src/dired.c (file_name_completion): Don't expand file name.
(Ffile_name_completion, Ffile_name_all_completions): Expand file name
before checking file name handler.

Fixes: debbugs:9616
2011-10-02 00:08:50 -04:00
Lars Magne Ingebrigtsen
fd4983f28a * comint.el (comint-password-prompt-regexp): Accept "Response" as
a password-like phrase.

This fixes the

[larsi@quimbies ~/]$ ssh root@quimby
Password: 
Response: 

case.
2011-07-01 01:11:36 +02:00
Andreas Schwab
e71564921e * lisp/comint.el (comint-dynamic-complete-as-filename)
(comint-dynamic-complete-filename): Correctly call
completion-in-region.
2011-06-06 01:20:16 +02:00
Stefan Monnier
a2a25d2435 Add an :exit-function for completion-at-point.
* lisp/minibuffer.el (completion--done): New fun.
(completion--do-completion): Use it.  New arg `expect-exact'.
(minibuffer-complete, minibuffer-complete-word): Don't output message,
since completion--do-completion does it for us now.
(minibuffer-force-complete): Use completion--done and
completion--replace.  Handle sole-completion case with more care.
(minibuffer-complete-and-exit): Use new `expect-exact' arg.
(completion-extra-properties): New var.
(completion-annotate-function): Make obsolete.
(minibuffer-completion-help): Adjust accordingly.
Use completion-list-insert-choice-function.
(completion-at-point, completion-help-at-point):
Bind completion-extra-properties.
(completion-pcm-word-delimiters): Add | (for uniquify, for example).
* lisp/simple.el (completion-list-insert-choice-function): New var.
(completion-setup-function): Preserve it.
(choose-completion): Pay attention to it, shuffle the code a bit.
(choose-completion-string): New arg `insert-function'.

* lisp/textmodes/bibtex.el: Convert to lexical binding.
(bibtex-mode-map): Use completion-at-point.
(bibtex-mode): Use define-derived-mode&completion-at-point-functions.
(bibtex-completion-at-point-function): New fun, from bibtex-complete.
(bibtex-complete): Define as obsolete alias.
(bibtex-complete-internal): Remove.
(bibtex-format-entry): Remove unused sub-group in regexp.
* lisp/shell.el (shell--command-completion-data)
(shell-environment-variable-completion):
* lisp/pcomplete.el (pcomplete-completions-at-point):
* lisp/comint.el (comint--complete-file-name-data): Use :exit-function
instead of completion-table-with-terminator so it also works for
choose-completion.
2011-05-23 23:45:50 -03:00
Stefan Monnier
c0a193ea20 * lisp/shell.el: Use lexical-binding and std completion UI.
(shell-filter-ctrl-a-ctrl-b): Work as a preoutput filter.
(shell-mode): Put shell-filter-ctrl-a-ctrl-b on
comint-preoutput-filter-functions rather than on
comint-output-filter-functions.
(shell-command-completion, shell--command-completion-data)
(shell-filename-completion, shell-environment-variable-completion)
(shell-c-a-p-replace-by-expanded-directory): New functions.
(shell-dynamic-complete-functions, shell-dynamic-complete-command)
(shell-dynamic-complete-filename, shell-replace-by-expanded-directory)
(shell-dynamic-complete-environment-variable): Use them.
(shell-dynamic-complete-as-environment-variable)
(shell-dynamic-complete-as-command): Remove.
(shell-match-partial-variable): Match past point.
* lisp/comint.el: Clean up use of completion-at-point-functions.
(comint-completion-at-point): New function.
(comint-mode): Use it completion-at-point-functions.
(comint-dynamic-complete): Make it obsolete.
(comint-replace-by-expanded-history-before-point): Add dry-run arg.
(comint-c-a-p-replace-by-expanded-history): New function.
(comint-dynamic-complete-functions)
(comint-replace-by-expanded-history): Use it.
* lisp/minibuffer.el (completion-table-with-terminator): Allow dynamic
termination strings.  Try harder to avoid second try-completion.
(completion-in-region-mode-map): Disable bindings that don't work yet.
2011-04-20 19:31:06 -03:00
Stefan Monnier
2dbaa0806b * lisp/comint.el: Use lexical-binding. Use std completion UI. Require CL.
(comint-dynamic-complete-functions): Use comint-filename-completion.
(comint-completion-addsuffix): Tweak custom type.
(comint-filename-completion, comint--common-suffix)
(comint--common-quoted-suffix, comint--table-subvert)
(comint--complete-file-name-data): New functions.
(comint-dynamic-complete-as-filename, comint-dynamic-complete-filename)
(comint-dynamic-list-filename-completions): Use them.
(comint-dynamic-simple-complete): Make obsolete.
* lisp/minibuffer.el (completion-in-region-mode):
Keep completion-in-region-mode--predicate global.
(completion-in-region--postch):
Assume completion-in-region-mode--predicate is not null.
2011-04-20 16:05:50 -03:00
Juanma Barranquero
06b605171f lisp/*.el: Lexical-binding cleanup. 2011-04-19 15:44:55 +02:00
Stefan Monnier
d86d2721aa First step towards using standard completion in comint.
* lisp/minibuffer.el (completion--flush-all-sorted-completions):
Remove itself from hook.
(completion-at-point): Let the functions perform the completion
immediately and return nil or t.
* lisp/comint.el (comint-dynamic-complete-functions): Now identical to
completion-at-point-functions.
(comint-dynamic-list-input-ring): Remove unused var `index'.
(comint--match-partial-filename, comint--unquote&expand-filename):
New funs, split from comint-match-partial-filename.
(comint-dynamic-complete): Use completion-at-point.
(comint-dynamic-complete-filename): Use comint--match-partial-filename.
2011-03-24 18:05:01 -04:00
Glenn Morris
73b0cd5003 Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
Glenn Morris
06d8ace515 Merge from emacs-23.
Note setting of CANNOT_DUMP on ia64 hpux is still to be merged manually.
2011-01-24 19:47:47 -08:00
Glenn Morris
cc34e0254c * lisp/comint.el (comint-mode): Doc fix. (Bug#7897) 2011-01-24 18:56:03 -08:00
Glenn Morris
7c82f3e23e Merge from emacs-23 2011-01-22 11:36:45 -08:00
Roland McGrath
6e1dbaa90f * lisp/comint.el (comint-replace-by-expanded-history-before-point): Fix
expansion of !$ and !!:N syntax to pick the indicated word.

Fixes: debbugs:7883
2011-01-21 15:56:24 -05:00
Stefan Monnier
8dabbfd632 Don't mess with *temp*.
* lisp/obsolete/spell.el: Move from textmodes/spell.el.
(spell-string):
* lisp/term.el (term-read-input-ring):
* lisp/startup.el (display-startup-echo-area-message):
* lisp/progmodes/antlr-mode.el (antlr-directory-dependencies):
* lisp/gnus/message.el (message-mailer-swallows-blank-line):
* lisp/comint.el (comint-read-input-ring): Use with-temp-buffer.
* lisp/international/mule.el (ctext-pre-write-conversion):
Don't hardcode point-min==1.
* lisp/gnus/mm-util.el (mm-find-buffer-file-coding-system): Don't forget to
kill the temp buffer.
2011-01-20 17:36:12 -05:00
Glenn Morris
e9bffc61f2 Refill some copyright headers. 2011-01-15 18:21:30 -08:00
Stefan Monnier
77ab81d054 Merge from emacs-23 2011-01-14 12:18:41 -05:00
Chong Yidong
732eb50a1d * lisp/comint.el (comint-highlight-prompt): Inherit from minibuffer-prompt. 2011-01-09 16:07:30 -05:00
Glenn Morris
5df4f04cd3 Add 2011 to FSF/AIST copyright years. 2011-01-02 15:50:46 -08:00
Stefan Monnier
f49d1f52b2 Merge from emacs-23 2010-12-13 10:27:36 -05:00
Glenn Morris
ab540f5976 * lisp/comint.el (comint-input-ring-file-name): Doc fix. 2010-12-09 19:36:46 -08:00
Chong Yidong
637c2c4396 Doc fixes for comint functions (Bug#7499).
* lisp/comint.el (comint-dynamic-list-input-ring)
(comint-dynamic-complete-filename)
(comint-replace-by-expanded-filename)
(comint-dynamic-simple-complete)
(comint-dynamic-list-filename-completions)
(comint-dynamic-list-completions): Doc fix (Bug#7499).
2010-12-04 19:55:00 -05:00
Stefan Monnier
4a47c27573 Merge from emacs-23 2010-11-17 22:54:14 -05:00
Stefan Monnier
b916cbefa4 * comint.el (comint-kill-region): Fix last change. 2010-11-17 22:44:35 -05:00
Stefan Monnier
9fca7811a8 Make the yank-handler argument obsolete.
* simple.el (kill-new, kill-append, kill-region):
* comint.el (comint-kill-region): Make the yank-handler argument obsolete.
2010-11-17 21:09:41 -05:00
Glenn Morris
7aa93795cb * lisp/comint.el (comint-password-prompt-regexp): Make it less vague.
Bump custom version.

The initial regexp-opt was bracketed by \\( \\)?, so it might as well
have not been there at all.  This change makes it non-optional, and
adds back "^".  Hopefully the behaviour is now closer to that of emacs-23,
before it was re-written in http://debbugs.gnu.org/2817.
2010-10-23 12:56:57 -07:00
Glenn Morris
0d0d9424a2 Fix bug#7224.
* lisp/comint.el (comint-password-prompt-regexp): Match "enter the password".
2010-10-23 12:15:44 -07:00
Glenn Morris
3226d6cacf Remove some functions, variables and aliases obsolete since at least 21.1.
* doc/misc/misc.texi (Shell Mode): Remove reference to old function name.

* src/character.c (Fchar_bytes): Remove obsolete function.
(syms_of_character): Remove Schar_bytes.
* lisp/subr.el (char-bytes): Remove obsolete function.

* lisp/emacs-lisp/checkdoc.el (checkdoc-minor-keymap): Remove obsolete alias.

* lisp/isearch.el (isearch-return-char): Remove obsolete function.

* lisp/mouse.el: No longer provide mldrag.
(mldrag-drag-mode-line, mldrag-drag-vertical-line):
Remove obsolete aliases.

* lisp/comint.el (comint-kill-output): Remove obsolete alias.

* lisp/shell.el: Comment fix.

* lisp/composite.el (decompose-composite-char): Remove obsolete function.
* lisp/ps-def.el (decompose-composite-char): Remove unused function.

* lisp/iswitchb.el (iswitchb-default-keybindings): Remove obsolete function.

* lisp/outline.el (outline-visible): Remove obsolete function.

* lisp/term/pc-win.el (x-frob-font-slant, x-frob-font-weight):
* lisp/faces.el (internal-find-face, internal-get-face)
(frame-update-faces, frame-update-face-colors)
(x-frob-font-weight, x-frob-font-slant)
(internal-frob-font-weight, internal-frob-font-slant)
(x-make-font-bold, x-make-font-demibold, x-make-font-unbold)
(x-make-font-italic, x-make-font-oblique, x-make-font-unitalic)
(x-make-font-bold-italic): Remove functions and aliases, obsolete
since Emacs 21.1.
* lisp/emulation/viper-util.el (viper-get-face):
* lisp/obsolete/lucid.el (find-face, get-face): Use facep.
* lisp/vc/ediff-init.el (ediff-valid-color-p, ediff-get-face):
Remove unused functions.
* lisp/vc/ediff-util.el (ediff-submit-report): Doc fix.

* etc/NEWS: Mention above changes.
2010-10-01 19:46:13 -07:00
Glenn Morris
d97034985a Tiny comint.el change.
* lisp/comint.el (comint-use-prompt-regexp-instead-of-fields):
Move alias before definition, so it does not need autoloading.
2010-09-23 00:09:24 -07:00
Chong Yidong
bd78fa1d54 Add "Package:" file headers to denote built-in packages. 2010-08-29 12:17:13 -04:00
Michael Albinus
942415f397 * comint.el (comint-mode): Make directory tracking functions
functional on remote files.  (Bug#6764)
2010-08-06 15:53:59 +02:00