1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-20 12:40:56 -08:00
Commit graph

1642 commits

Author SHA1 Message Date
Juri Linkov
43bb0be61a * lisp/simple.el (transpose-chars): Don't move point into read-only area.
Fixes: debbugs:17829
2014-07-08 11:27:46 +03:00
Stefan Monnier
6372fc12fe * lisp/simple.el (deactivate-mark, set-mark-command, handle-shift-selection):
Don't keep transient-mark-mode buffer-local when not needed.

Fixes: debbugs:6316
2014-07-01 14:13:28 -04:00
Sam Steingold
2fde356acb Optionally, undo several consequential deletion in one step.
* lisp/simple.el (kill-append): Remove undo boundary depending on ...
(kill-append-merge-undo): New user option.
2014-06-23 16:23:33 -04:00
Stefan Monnier
5d2638bd31 * lisp/simple.el (handle-shift-selection, exchange-point-and-mark)
(activate-mark): Set transient-mark-mode buffer-locally.
(transient-mark-mode): Use&set the global value.
* lisp/mouse.el (mouse-set-region-1, mouse-drag-track): Idem.
* lisp/org/org-compat.el (activate-mark): Idem.
* lisp/emulation/edt.el (edt-emulation-off): Save&restore the global
transient-mark-mode setting.
* lisp/obsolete/pc-select.el (pc-selection-mode): Use the
transient-mark-mode function.

Fixes: debbugs:6316
2014-06-23 11:32:24 -04:00
Glenn Morris
c400516ab1 Merge from emacs-24; up to 2014-06-06T02:22:40Z!monnier@iro.umontreal.ca 2014-06-21 12:45:59 -07:00
Leo Liu
2c25d5e621 * simple.el (read-quoted-char): Don't let help chars pop up help
buffer.

Fixes: debbugs:16617
2014-06-20 08:14:43 +08:00
Matthias Meulien
99961a049f * lisp/simple.el (completion-list-mode-map): Navigate with tab and backtab.
Fixes: debbugs:17767
2014-06-13 11:50:38 -04:00
Glenn Morris
953e106ac8 Merge from emacs-24; up to 2014-05-29T17:16:00Z!dmantipov@yandex.ru 2014-06-01 17:18:22 -07:00
Eli Zaretskii
082c97e81f Fix bug #17615 with C-g during macro definition.
lisp/simple.el (keyboard-quit): Force update of mode lines, to remove
 the "Def" indicator, if we were defining a macro.
2014-06-01 18:19:14 +03:00
Stefan Monnier
0e4857b7d8 * src/callint.c (Ffuncall_interactively): New function.
(Qfuncall_interactively): New var.
(Qcall_interactively): Remove.
(Fcall_interactively): Use it.
(syms_of_callint): Defsubr it.
* lisp/subr.el (internal--funcall-interactively): New.
(internal--call-interactively): Remove.
(called-interactively-p): Detect funcall-interactively instead of
call-interactively.
* lisp/simple.el (repeat-complex-command): Use funcall-interactively.
(repeat-complex-command--called-interactively-skip): Remove.
2014-05-27 20:09:14 -04:00
Stefan Monnier
9828d52319 * lisp/simple.el (deactivate-mark): Set mark-active to nil even if deactivation
is done via setting transient-mark-mode to nil, since one is
buffer-local and the other is global.
2014-05-27 10:59:08 -04:00
Glenn Morris
e9e341bb4b Doc updates re filter-buffer-substring
* lisp/simple.el (filter-buffer-substring-functions)
(filter-buffer-substring-function, buffer-substring-filters)
(filter-buffer-substring, buffer-substring--filter): Doc fixes.

* doc/lispref/text.texi (Buffer Contents):
Update for filter-buffer-substring changes.

* doc/lispref/hooks.texi: Remove old comment.

* etc/NEWS: Related markup.
2014-05-26 18:53:45 -07:00
Glenn Morris
015936fba1 Merge from emacs-24; up to 2014-05-26T10:21:18Z!rgm@gnu.org 2014-05-25 19:28:09 -07:00
Eli Zaretskii
2f82660963 lisp/simple.el (line-move-ignore-invisible): Fix last commit. 2014-05-17 19:06:02 +03:00
Eli Zaretskii
1e046d37a4 Fix bug #17511 with unclear documentation of line-move-ignore-invisible.
lisp/simple.el (line-move-ignore-invisible): Doc fix.

 doc/lispref/display.texi (Invisible Text): Clarify the description of
 line-move-ignore-invisible.
2014-05-17 11:58:17 +03:00
Stefan Monnier
27a69ff0e8 * lisp/simple.el (undo-make-selective-list): Obey undo-no-redo. 2014-05-13 16:34:12 -04:00
Barry O'Reilly
4807c7eb90 Change algorithm used to adjust positions for undo in region
* simple.el (undo-make-selective-list): New algorithm fixes
incorrectness of position adjustments when undoing in region.
(Bug#17235)
(undo-elt-crosses-region): Make obsolete.
(undo-adjust-elt, undo-adjust-beg-end, undo-adjust-pos): New
functions to adjust positions using undo-deltas.
* automated/undo-tests.el (undo-test-region-deletion): New test to
demonstrate bug#17235.
(undo-test-region-example): New test to verify example given in
comments for undo-make-selective-list.

Fixes: debbugs:17325
2014-05-01 19:25:28 -04:00
Stefan Monnier
9b7b020dde * lisp/progmodes/ps-mode.el: Use SMIE. Move string and comment recognition
to syntax-propertize.
(ps-mode-auto-indent): Mark as obsolete.
(ps-mode-font-lock-keywords-1): Remove string-or-comment handling.
(ps-mode-font-lock-keywords-3): Use symbol regexp operators instead of
word regexp operators.
(ps-mode-map): Move initialization into declaration.  Remove binding
for TAB, RET, >, ], and }.
(ps-mode-syntax-table): Move initialization into declaration.
Don't give word syntax to non-word chars.
(ps-run-mode-map): Move initialization into declaration.
(ps-mode-menu-main): Remove auto-indent entry.
(ps-mode-smie-rules): New function.
(ps-mode): Setup smie, syntax-propertize, and electric-indent-mode.
(ps-mode-looking-at-nested, ps-mode-match-string-or-comment): Remove.
(ps-mode--string-syntax-table): New const.
(ps-mode--syntax-propertize-special, ps-mode-syntax-propertize):
New functions.
(ps-mode-newline, ps-mode-tabkey, ps-mode-r-brace, ps-mode-r-angle)
(ps-mode-r-gt, ps-mode-r-balance): Remove functions.
2014-04-28 00:40:41 -04:00
Juanma Barranquero
dff4a9f6a4 Merge from emacs-24; up to 2014-04-25T10:35:01Z!michael.albinus@gmx.de 2014-04-25 18:11:07 +02:00
Stefan Monnier
05452dc497 * lisp/simple.el (region-active-p): Check there's a mark.
Fixes: debbugs:17324
2014-04-23 08:52:22 -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
Paul Eggert
290d7ac277 Merge from emacs-24; up to 2014-04-16T15:28:26Z!monnier@iro.umontreal.ca 2014-04-16 12:43:46 -07:00
Barry O'Reilly
175a3a5144 * simple.el (undo): Prevent insertion of identity mapping into
undo-equiv-table so as undo-only does not inf loop in the presence
of consecutive nils in undo list.

Fixes: debbugs:17236
2014-04-12 15:20:44 -04:00
Juanma Barranquero
09aba8153a Merge from emacs-24; up to 2014-03-28T01:39:30Z!rgm@gnu.org 2014-04-02 17:14:50 +02:00
Glenn Morris
c7510f6e94 * lisp/simple.el (command-execute): Respect nil disabled-command-function. 2014-04-01 23:53:10 -07:00
Nicolas Richard
6116a72722 Fix for command-execute handling of disabled commands
* lisp/simple.el (command-execute): Do not execute the command when it
is disabled; fixes thinko in 2013-02-20 conversion from C.

Fixes: debbugs:17151
2014-04-01 23:51:59 -07:00
Glenn Morris
4f3a895b33 * lisp/simple.el (cycle-spacing--context, cycle-spacing): Doc tweaks.
Include restoring manual line-breaks to state before 2014-03-28T16:26:15Z!mina86@mina86.com.
2014-03-30 17:35:12 -07:00
Daniel Colascione
1861d5a712 completion-in-region-mode improvements 2014-03-30 12:12:57 -07:00
Michal Nazarewicz
687e0e19ae Make cycle-spacing' behave more like just-one-space' if colled once.
* simple.el (cycle-spacing): Never delete spaces on first run by
default, but do so in a new 'fast mode and if there are already
N spaces (the previous behaviour).

Compare N with its value in previous invocation so that changing
prefix argument restarts `cycle-spacing' sequence.

The idea is that with this change, binding M-SPC to
`cycle-spacing' should not introduce any changes in behaviour of
the binding so long as users do not type M-SPC twice in a raw with
the same prefix argument or lack thereof.
2014-03-28 17:26:15 +01:00
Glenn Morris
6730259fea Allow selective autoloading from lisp/obsolete directory
* lisp/Makefile.in (obsolete-autoloads): New rule.
(autoloads): Run obsolete-autoloads.

* lisp/obsolete/iswitchb.el (iswitchb-mode): Use obsolete-autoload.

* lisp/simple.el (iswitchb-mode): Remove hand-written autoloads.
2014-03-27 15:00:49 -04:00
Daniel Colascione
8ab9876a81 Provide command for deleting processes from list-processes buffer 2014-03-26 14:01:47 -07:00
Juanma Barranquero
16adf2e6eb Merge from emacs-24; up to 2014-03-23T23:14:52Z!yamaoka@jpl.org 2014-03-26 16:57:13 +01:00
Barry O'Reilly
657e54f709 Addendum to: Undo in region after markers in undo history relocated
* simple.el (primitive-undo): Correction to 2014-03-24 change.

Fixes: debbugs:16818
2014-03-25 19:30:08 -04:00
Barry O'Reilly
37ea8275f7 Undo in region after markers in undo history relocated
* simple.el (primitive-undo): Only process marker adjustments
validated against their corresponding (TEXT . POS).  Issue warning
for lone marker adjustments in undo history.  (Bug#16818)
(undo-make-selective-list): Add marker adjustments to selective
undo list based on whether their corresponding (TEXT . POS) is in
the region.  Remove variable adjusted-markers, which was unused
and only non nil during undo-make-selective-list.
(undo-elt-in-region): Return nil when passed a marker adjustment
and explain in function doc.

Have (MARKER . ADJUSTMENT) undo records always be immediately
after their corresponding (TEXT . POS) record in undo list.
(Bug#16818)
* lisp.h (record-delete): New arg record_markers.
(record_marker_adjustment): No longer needed outside undo.c.
* insdel.c (adjust_markers_for_delete): Move calculation of marker
adjustments to undo.c's record_marker_adjustments.  Note that
fileio.c's decide_coding_unwind is another caller to
adjust_markers_for_delete.  Because it has undo list bound to t,
it does not rely on adjust_markers_for_delete to record marker
adjustments.
(del_range_2): Swap call to record_delete and
adjust_markers_for_delete so as undo marker adjustments are
recorded before current deletion's adjustments, as before.
(adjust_after_replace):
(replace_range): Pass value for new record_markers arg to
delete_record.
* undo.c (record_marker_adjustment): Renamed to
record_marker_adjustments and made static.
(record_delete): Check record_markers arg and call
record_marker_adjustments.
(record_change): Pass value for new record_markers arg to
delete_record.
(record_point): at_boundary calculation no longer needs to account
for marker adjustments.

* undo-tests.el (undo-test-marker-adjustment-nominal):
(undo-test-region-t-marker): New tests of marker adjustments.
(undo-test-marker-adjustment-moved):
(undo-test-region-mark-adjustment): New tests to demonstrate
bug#16818, which fail without the fix.

* markers.texi (Moving Marker Positions): The 2014-03-02 doc
change mentioning undo's inability to handle relocated markers no
longer applies.  See bug#16818.
* text.texi (Undo): Expand documentation of (TEXT . POS) and
(MARKER . ADJUSTMENT) undo elements.
2014-03-24 22:47:39 -04:00
Stefan Monnier
f6614a4770 * lisp/simple.el (redisplay-highlight-region-function): Increase priority of
overlay to make sure boundaries are visible.
* src/buffer.c (struct sortvec): Add field `spriority'.
(compare_overlays): Use it.
(sort_overlays): Set it.

Fixes: debbugs:15899
2014-03-23 18:30:47 -04:00
Glenn Morris
f9c81e7b48 Include interactive-only information in describe-function output
* lisp/help-fns.el (help-fns--interactive-only): New function.
(help-fns-describe-function-functions): Add the above function.

* lisp/simple.el (beginning-of-buffer, end-of-buffer, insert-buffer)
(next-line, previous-line): Remove hand-written interactive-only
information from doc strings, it is auto-generated now.

* lisp/bookmark.el (bookmark-write):
* lisp/epa-mail.el (epa-mail-decrypt, epa-mail-verify, epa-mail-sign)
(epa-mail-import-keys): Mark interactive-only,
and remove hand-written interactive-only information from doc strings.

* lisp/epa.el (epa-decrypt-armor-in-region, epa-verify-region)
(epa-verify-cleartext-in-region, epa-sign-region, epa-encrypt-region):
* lisp/files.el (not-modified):
* lisp/simple.el (mark-whole-buffer): Mark interactive-only.

* doc/lispref/commands.texi (Defining Commands):
Mention that interactive-only also affects describe-function.

* etc/NEWS: Mention this.
2014-03-22 15:36:29 -07:00
Glenn Morris
5076d27513 Allow `declare' to set the interactive-only property
* lisp/emacs-lisp/byte-run.el (defun-declarations-alist):
Add interactive-only.  Doc tweak.
(macro-declarations-alist): Doc tweak.

* lisp/subr.el (declare): Doc tweak (add xref to manual).

* lisp/comint.el (comint-run):
* lisp/files.el (insert-file-literally, insert-file):
* lisp/replace.el (replace-string, replace-regexp):
* lisp/simple.el (beginning-of-buffer, end-of-buffer, delete-backward-char)
(delete-forward-char, goto-line, insert-buffer, next-line)
(previous-line): Set interactive-only via declare.

* doc/lispref/functions.texi (Declare Form): Add interactive-only.

* doc/lispref/commands.texi (Defining Commands) Mention declare.

* etc/NEWS: Mention this.
2014-03-22 15:12:52 -07:00
Stefan-W. Hahn
6a72e40553 * lisp/ps-print.el (ps-generate-postscript-with-faces):
Explicitly deactivate the mark.
* lisp/simple.el (deactivate-mark): Update region highlight.

Fixes: debbugs:16866
2014-03-19 15:12:50 -04:00
Stefan Monnier
ac9b4703e1 * lisp/simple.el (newline-and-indent): Do autofill.
Fixes: debbugs:17031
2014-03-18 16:49:24 -04:00
Dmitry Gutov
50d434d198 Support the old `blink-matching-paren' behavior
* lisp/simple.el (blink-matching-paren): Describe the new value,
`jump', enabling the old behavior.
(blink-matching-open): Use that value.

Fixes: debbugs:17008
2014-03-14 20:01:39 +02:00
Stefan Monnier
536a17e3c6 * lisp/simple.el (set-mark): Ensure mark-active is nil if the mark is nil.
Deactivate the mark before setting it to nil.
(activate-mark): Do nothing if region is already active.

Fixes: debbugs:16975
2014-03-11 13:10:07 -04:00
Glenn Morris
03bc753ef6 * lisp/simple.el (newline): Doc tweak.
* etc/NEWS: Related edit.
2014-03-05 20:11:08 -08:00
Michal Nazarewicz
5b87d0d9cd * binding.el: Add comment describing why C-d binds to `delete-char'.
* lisp/simple.el (delete-forward-char): Mark as interactive-only.
* src/cmds.c (delete-char): Update docstring pointing out that the
function ignores `delete-active-region' and `overwrite-mode'.
2014-03-03 22:14:11 -05:00
Barry O'Reilly
e3d090b4c5 * simple.el (undo-elt-in-region): Fix buffer corruption for edge
case of undo in region.
* automated/undo-tests.el (undo-test-in-region-not-most-recent):
Add new test of undo in region.
(undo-test-in-region-eob): Add test case described at
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16411#41
2014-03-02 12:37:32 -05:00
Glenn Morris
84fc911dcc * lisp/subr.el (with-wrapper-hook): Tweak obsolescence message.
* lisp/simple.el: Remove mistaken FIXME comment.

* etc/NEWS: Markup.
2014-02-28 19:54:47 -08:00
Juanma Barranquero
bed5126f52 lisp/simple.el (choose-completion): Fix docstring typo.
(read-quoted-char-radix): Remove unneeded * in docstring.
(process-file, kill-whole-line, pop-to-mark-command, set-mark-command):
Don't escape parentheses unnecessarily in docstrings.
2014-02-21 14:22:14 +01:00
Lars Ingebrigtsen
e3692ee034 * simple.el (choose-completion): Doc fix.
Fixes: debbugs:14160
2014-02-09 22:58:34 -08:00
Glenn Morris
34dc21db6e Replace "Maintainer: FSF" with the emacs-devel mailing address 2014-02-09 17:34:22 -08:00
Lars Ingebrigtsen
54dd147ac3 (execute-extended-command): Clarify doc string (bug#13373). 2014-02-08 05:13:46 -08:00
Lars Ingebrigtsen
18c6aa8c86 * simple.el (choose-completion-string-functions): Document fix.
New calling convention.

Fixes: debbugs:14153
2014-02-08 04:46:09 -08:00