1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-14 10:00:25 -08:00
Commit graph

532 commits

Author SHA1 Message Date
Chong Yidong
9a93067632 Convert toggle-read-only calls to 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):
* ibuffer.el (ibuffer-do-toggle-read-only): Use read-only-mode.
2012-09-23 18:21:34 +08:00
Glenn Morris
2a1e24765b Replace version 24.2 with 24.3 where appropriate (hopefully) 2012-08-15 09:29:11 -07:00
Stefan Monnier
ba10c48cc6 * lisp/ibuffer.el (ibuffer-do-toggle-read-only):
* lisp/dired.el (dired-toggle-read-only):
* lisp/buff-menu.el (Buffer-menu-toggle-read-only):
* lisp/bindings.el (mode-line-toggle-read-only):
* lisp/bs.el (bs-toggle-readonly): Call toggle-read-only interactively.
2012-08-12 13:29:53 -04:00
Chong Yidong
e1293765d9 Bind M-= back to count-words-region, and let it accept a prefix arg.
* lisp/bindings.el: Bind M-= back to count-words-region.

* lisp/simple.el (count-words-region): Accept a prefix arg for acting
on the entire buffer.
(count-words--buffer-message): New helper function.
2012-08-11 00:02:48 +08:00
Chong Yidong
0fe776a1e4 * lisp/bindings.el: Bind M-= to count-words. 2012-07-18 22:17:49 +08:00
Reuben Thomas
be755c79bd * rect.el (copy-rectangle-as-kill): New command.
* lisp/rect.el, lisp/register.el: Move bindings to bindings.el.

* lisp/bindings.el: Consolidate ctl-x-r-map bindings.  Bind
copy-rectangle-as-kill to C-x r w.

Fixes: debbugs:739
2012-07-14 10:19:07 +08:00
Juanma Barranquero
80185fed36 lisp/bindings.el (top): Use mapc' instead of mapcar'. 2012-07-13 19:02:18 +02:00
Chong Yidong
dea31bd311 Give permanent-local property to per-buffer variables without defaults.
* doc/emacs/custom.texi (Examining): Update C-h v message.

* lisp/bindings.el: Assign a non-nil permanent-local property to
per-buffer variables which lack a default value.

* lisp/help-fns.el (describe-variable): In the "automatically becomes
local" notice, take note of permanent-local variables.

Fixes: debbugs:11930
2012-07-13 22:25:59 +08:00
Chong Yidong
b68b33375c Don't warn on toggle-read-only calls.
Clarify the documentation of toggle-read-only, and audit the code tree
for uses of toggle-read-only; where appropriate, switch to setting the
variable buffer-read-only or calling toggle-read-only with a (new)
second arg.

* lisp/files.el (toggle-read-only): Doc fix and code cleanup.  New arg
to allow printing the message when called from Lisp.

* lisp/emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions):
Remove toggle-read-only.

* lisp/bindings.el (mode-line-toggle-read-only):
* lisp/dired.el (dired-toggle-read-only):
* lisp/ibuffer.el (ibuffer-do-toggle-read-only): Call toggle-read-only
with non-nil second arg.

* lisp/bs.el (bs-toggle-readonly):
* lisp/buff-menu.el (Buffer-menu-toggle-read-only): Remove
with-no-warnings around toggle-read-only.

* lisp/ffap.el (ffap--toggle-read-only): Accept a list of buffers.
Remove with-no-warnings around toggle-read-only.
(ffap-read-only, ffap-read-only-other-window)
(ffap-read-only-other-frame): Callers changed.

* lisp/help-mode.el: Don't require view package.
(help-mode-finish): Set buffer-read-only instead of calling
toggle-read-only.

* lisp/emacs-lisp/eieio-custom.el (eieio-customize-object):
* lisp/vc/ediff.el (ediff-set-read-only-in-buf-A): Set buffer-read-only
directly.

* lisp/gnus/smime.el (smime-certificate-info): Set buffer-read-only directly,
instead of calling toggle-read-only with a (bogus) argument.

* doc/emacs/buffers.texi (Misc Buffer): Document view-read-only.

* doc/lispref/buffers.texi (Read Only Buffers): Document toggle-read-only
changes.  Reword to account for the fact that read-only is currently not
supported in overlay properties.
2012-07-13 15:06:09 +08:00
Stefan Monnier
1ec4b7b259 Get rid of all the manual purecopy calls in menu-bar definitions.
* lisp/loadup.el (purify-flag): Pre-grow the hash-table to reduce the
memory use.
* lisp/bindings.el (bindings--define-key): New function.
* lisp/vc/vc-hooks.el, lisp/replace.el, lisp/menu-bar.el:
* lisp/international/mule-cmds.el, lisp/emacs-lisp/lisp-mode.el:
* lisp/buff-menu.el, lisp/bookmark.el:
* bindings.el: Use it to purecopy define-key bindings.
* src/fns.c (maybe_resize_hash_table): Output message when growing the
purify-hashtable.
2012-06-27 17:15:13 -04:00
Sam Steingold
3d10db47a7 * lisp/bindings.el (global-map): Bind XF86Forward to next-buffer and
XF86Back to previous-buffer.
(minibuffer-local-map): Bind them to next-history-element and
previous-history-element respectively.
* lisp/help-mode.el (help-mode-map): Bind them to help-go-forward and
help-go-back respectively.
* lisp/info.el (Info-mode-map): Bind them to Info-history-forward and
Info-history-back respectively.
These are the keys next to Up on the ThinkPad keyboard.
2012-06-08 00:23:26 -04:00
Chong Yidong
cbe46e5fae Allow clicking mouse-3 on mode line to change coding system.
* lisp/bindings.el (mode-line-coding-system-map): Allow using mouse-3
to invoke set-buffer-file-coding-system.
(mode-line-mule-info-help-echo): Update help text.

Fixes: debbugs:289
2012-06-03 18:54:22 +08:00
Chong Yidong
383f7350f3 Make mode line help-echo visible for unibyte buffers.
* src/xdisp.c (decode_mode_spec_coding): Display a space for a unibyte
buffer.

* lisp/bindings.el (mode-line-mule-info-help-echo)
(mode-line-read-only-help-echo, mode-line-modified-help-echo):
New functions.
(mode-line-mule-info, mode-line-modified): Use them.
(mode-line-eol-desc, propertized-buffer-identification):
Consistency fixes for help text.

Fixes: debbugs:11226
2012-06-03 18:23:49 +08:00
Chong Yidong
5f2c76c6ce Implement default help-echo for mode line.
* lisp/bindings.el: Remove explicit help-echo from format-mode-line.
(mode-line-front-space, mode-line-end-spaces)
(mode-line-misc-info): New variables.
(mode-line-modes, mode-line-position): Move the default value to
the variable definition.
(mode-line-default-help-echo): New defcustom.

* src/buffer.c (buffer_local_value_1): New function, split from
Fbuffer_local_value; can return Qunbound.
(Fbuffer_local_value): Use it.
(Vmode_line_format): Docstring tweaks.

* src/xdisp.c (calc_pixel_width_or_height): Use Fbuffer_local_value.
(note_mode_line_or_margin_highlight): If there is no help echo,
use mode-line-default-help-echo.  Handle the case where the mouse
position is past the end of the mode line string.

* doc/lispref/modes.texi (Mode Line Data): Use "mode line construct"
terminology for consistency.
2012-06-03 17:03:23 +08:00
Chong Yidong
3cc99f68ad Some cleanups for the buffer menu and electric buffer menu.
* lisp/buff-menu.el (list-buffers): Move C-x C-b binding from
buff-menu.el to bindings.el.

* lisp/ebuff-menu.el (Electric-buffer-menu-undefined): Use the
:advertised-binding feature.
2012-05-06 16:43:46 +08: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
5dd1713eeb * bindings.el (goto-map): Bind goto-char to M-g c.
Fixes: debbugs:11240
2012-04-15 17:16:50 +08:00
Glenn Morris
acaf905b11 Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
Chong Yidong
b2b0776e50 Rework count-words-region. New command count-words.
See discussion at http://lists.gnu.org/archive/html/emacs-devel/2011-10/msg00193.html

* lisp/simple.el (count-words-region): Always count in the region.
Report the number of lines and characters too.
(count-words): New command, which counts in the buffer if the
region is inactive, as count-words-region used to.
(count-words--message): New function.  Handle plurals.
(count-lines-region): Make it an alias for count-words-region.

* lisp/bindings.el (esc-map): Replace count-lines-region with
count-words-region.

* doc/emacs/basic.texi (Position Info): Omit page commands.  Document
count-words-region and count-words.

* doc/emacs/text.texi (Pages): Move what-page documentation here.
2011-10-08 12:37:46 -04:00
Chong Yidong
c383327999 * bindings.el ([M-left],[M-right]): Bind to left-word and right-word respectively. 2011-10-07 12:05:10 -04:00
Glenn Morris
59ee05427d Update some tutorial key bindings; ref bug#8739.
* lisp/tutorial.el (tutorial--default-keys): Update some default bindings.

* etc/NEWS: delete-forward-char is not bound to C-d.

* lisp/bindings.el, lisp/windows.el: Comments.
2011-08-20 15:41:41 -07:00
Chong Yidong
27fa387ad1 * bindings.el: Add advertised binding for set-mark-command (Bug#5772). 2011-07-13 21:58:51 -04:00
Chong Yidong
8bdfa0649b Adapt 2011-07-05 switch-to-buffer changes to new switch-to-buffer
* lisp/bindings.el (mode-line-other-buffer):
* lisp/bookmark.el (bookmark-bmenu-2-window):
* lisp/bs.el (bs-cycle-next, bs-cycle-previous):
* lisp/net/tramp-cmds.el (tramp-append-tramp-buffers): Revert to using
switch-to-buffer.

* lisp/net/tramp-compat.el (tramp-compat-pop-to-buffer-same-window):
Deleted.
2011-07-13 21:40:30 -04:00
Juanma Barranquero
b6c78ef21f (completion-ignored-extensions): Add OpenMCL/Clozure binary endings.
Fixes: debbugs:4440
2011-07-13 15:39:23 +02:00
Chong Yidong
e14b388ad4 Error in next-buffer or previous-buffer if called from minibuffer.
* lisp/window.el (next-buffer, previous-buffer): Signal an error if
called from a minibuffer window.

* lisp/bindings.el: Revert 2011-07-04 change.
2011-07-06 21:46:59 -04:00
Stefan Monnier
2dcdbdd97d Fix some uses of switch-to-buffer.
* lisp/progmodes/compile.el (compilation-goto-locus):
* lisp/net/tramp-cmds.el (tramp-append-tramp-buffers):
* lisp/bs.el (bs-cycle-next, bs-cycle-previous):
* lisp/bookmark.el (bookmark-bmenu-list, bookmark-bmenu-2-window):
* lisp/bindings.el (mode-line-other-buffer):
* lisp/autoinsert.el (auto-insert):
* lisp/arc-mode.el (archive-extract):
* lisp/abbrev.el (edit-abbrevs): Fix some uses of switch-to-buffer.
2011-07-05 11:31:22 -04:00
Chong Yidong
d66fef2b45 * bindings.el: Ignore next-buffer and previous-buffer in minibuffer-local-map. 2011-07-04 16:45:22 -04:00
Martin Rudalics
9397e56f74 Move/add window-buffer-related functions to window.el.
* buffer.c: New Lisp objects Qbuffer_list_update_hook and
Qclone_number.  Remove external declaration of Qdelete_window.
(Fbuffer_list): Rewrite doc-string.  Minor restructuring of
code.
(Fget_buffer_create, Fmake_indirect_buffer, Frename_buffer): Run
Qbuffer_list_update_hook if allowed.
(Fother_buffer): Rewrite doc-string.  Major rewrite for new
buffer list implementation.
(other_buffer_safely): New function.
(Fkill_buffer): Replace call to replace_buffer_in_all_windows by
calls to replace_buffer_in_windows and
replace_buffer_in_windows_safely.  Run Qbuffer_list_update_hook
if allowed.
(record_buffer): Inhibit quitting and rewrite using quittable
functions.  Run Qbuffer_list_update_hook if allowed.
(Frecord_buffer, Funrecord_buffer): New functions.
(switch_to_buffer_1, Fswitch_to_buffer): Remove.  Move
switch-to-buffer to window.el.
(bury-buffer): Move to window.el.
(Vbuffer_list_update_hook): New variable.

* lisp.h (other_buffer_safely): Add prototype in buffer.c
section.

* window.h (resize_frame_windows): Move up in code.
(Fwindow_frame): Remove EXFUN.
(replace_buffer_in_all_windows): Remove prototype.
(replace_buffer_in_windows_safely): Add prototype.

* window.c: Declare Qdelete_window static again.  Move down
declaration of select_count.
(Fnext_window, Fprevious_window): Rewrite doc-strings.
(Fother_window): Move to window.el.
(window_loop): Remove DELETE_BUFFER_WINDOWS and UNSHOW_BUFFER
cases.  Add REPLACE_BUFFER_IN_WINDOWS_SAFELY case.
(Fdelete_windows_on, Freplace_buffer_in_windows): Move to
window.el.
(replace_buffer_in_windows): Implement by calling
Qreplace_buffer_in_windows.
(replace_buffer_in_all_windows): Remove with some functionality
moved into replace_buffer_in_windows_safely.
(replace_buffer_in_windows_safely): New function.
(select_window_norecord, select_frame_norecord): Move in front
of run_window_configuration_change_hook.  Remove now obsolete
declarations.
(Fset_window_buffer): Rewrite doc-string.  Call
Qrecord_window_buffer.
(keys_of_window): Move binding for other-window to window.el.

* loadup.el (top-level): Load window before files for the sake
of replace-buffer-in-windows.

* files.el (read-buffer-to-switch)
(switch-to-buffer-other-window)
(switch-to-buffer-other-frame, display-buffer-other-frame): Move
to window.el.

* simple.el (get-next-valid-buffer, last-buffer, next-buffer)
(previous-buffer): Move to window.el.

* bindings.el (unbury-buffer): Move to window.el.

* window.el (delete-other-windows-vertically): Move after
definition of delete-other-windows.
(other-window, delete-windows-on, replace-buffer-in-windows):
Move here from window.c.
(record-window-buffer, unrecord-window-buffer)
(set-window-buffer-start-and-point, switch-to-prev-buffer)
(switch-to-next-buffer): New functions.
(get-next-valid-buffer, last-buffer, next-buffer): Move here
from simple.el.  Call switch-to-next-buffer.
(previous-buffer): Move here from simple.el.  Call
switch-to-prev-buffer.
(bury-buffer): Move here from buffer.c.  Switch to previous
buffer when window cannot be deleted.
(unbury-buffer): Move here from bindings.el.
(ctl-x-map): Move binding for other-window from window.c to
here.
(read-buffer-to-switch, switch-to-buffer-other-window)
(switch-to-buffer-other-frame): Move here from files.el.
(normalize-buffer-to-switch-to): New functions.
(switch-to-buffer): Move here from buffer.c.  Use
read-buffer-to-switch and normalize-buffer-to-switch-to.
2011-06-11 11:50:37 +02:00
Chong Yidong
8e6ca83dfe Make first mode-line dash an empty space on graphical terminals (Bug#7295).
* lisp/bindings.el (help-echo): Make the initial non-indicator dash
empty on graphical terminals.
2011-05-28 19:43:11 -04:00
Leo Liu
e1b90ef6ec Implement primitive `sha1' and remove sha1.el 2011-05-24 16:22:58 +08:00
Juanma Barranquero
06b605171f lisp/*.el: Lexical-binding cleanup. 2011-04-19 15:44:55 +02:00
Glenn Morris
73b0cd5003 Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
Glenn Morris
0d9f702fd0 Nuke arch-tags. 2011-01-15 15:16:57 -08:00
Stefan Monnier
77ab81d054 Merge from emacs-23 2011-01-14 12:18:41 -05:00
Glenn Morris
5df4f04cd3 Add 2011 to FSF/AIST copyright years. 2011-01-02 15:50:46 -08:00
Stefan Monnier
67027b4979 * lisp/bindings.el (complete-symbol): Move back from minibuffer.el.
* lisp/minibuffer.el (completion-at-point): Remove the `arg'.
2010-12-06 16:06:02 -05:00
Julien Danjou
3f12b18cb5 Remove mode-line end dashes on graphical terminals.
* tutorials/TUTORIAL: Don't mention mode-line end dashes.
* bindings.el: Remove end dashes in default mode-line-format.
2010-10-19 15:20:33 -04:00
Chong Yidong
b8a47412d3 Decouple C-d and delete, so that the former does not delete the region.
* lisp/bindings.el (global-map): Bind C-d to delete-char and deletechar
to delete-forward-char.

* lisp/simple.el (normal-erase-is-backspace-mode): Remap delete to
deletechar, and hence delete-forward-char.

* src/cmds.c (Fdelete_char): Doc fix.
2010-10-19 11:43:27 -04:00
Chong Yidong
bd78fa1d54 Add "Package:" file headers to denote built-in packages. 2010-08-29 12:17:13 -04:00
Chong Yidong
7815fe1985 Merge changes from emacs-23 branch 2010-08-08 17:12:29 -04:00
Stefan Monnier
a2077b7f8f * bindings.el (complete-symbol): Run completion-at-point as a fallback. 2010-08-02 16:23:50 +02:00
Stefan Monnier
a7e26d8b89 * bindings.el (function-key-map): Add a S-tab => backtab fallback. 2010-08-02 02:13:02 +02:00
Chong Yidong
b922967396 * bindings.el (global-map): Bind delete and DEL, the former to
delete-forward-char.

* mouse.el (mouse-region-delete-keys): Deleted.
(mouse-show-mark): Simplify.

* simple.el (delete-active-region): New option.
(delete-backward-char): Implement in Lisp.
(delete-forward-char): New command.

* src/cmds.c (Fdelete_backward_char): Move into Lisp.
2010-06-27 21:01:11 -04:00
Eli Zaretskii
db5dce9dd1 Implement bidi-sensitive word movement with arrow keys.
lisp/subr.el (right-arrow-command, left-arrow-command): Move to bindings.el.
 lisp/bindings.el (right-char, left-char): Move from subr.el and
 rename from right-arrow-command and left-arrow-command.
 (right-word, left-word): New functions.
 (global-map) <right>: Bind to right-char.
 (global-map) <left>: Bind to left-char.
 (global-map) <C-right>: Bind to right-word.
 (global-map) <C-left>: Bind to left-word.

 doc/emacs/basic.texi (Moving Point): Update due to renaming of commands bound
 to arrows.  Document bidi-aware behavior of C-<right> and C-<left>.
2010-05-29 18:19:13 +03:00
Eli Zaretskii
d20e1419fd Implement bidi-sensitive movement with arrow keys.
src/bidi.c (bidi_paragraph_init): Don't leave alone garbage values
 of bidi_it->paragraph_dir.  Call bidi_initialize if needed.
 src/xdisp.c (Fcurrent_bidi_paragraph_direction): New function.
 (syms_of_xdisp): Defsubr it.
 src/cmds.c (Fforward_char, Fbackward_char): Doc fix.
 src/subr.el (right-arrow-command, left-arrow-command): New functions.
 src/bindings.el (global-map): Bind them to right and left arrow keys.
 etc/NEWS: Mention current-bidi-paragraph-direction
2010-05-15 16:23:48 +03:00
Stefan Monnier
07125a915e * bindings.el (mode-line-abbrev-mode, mode-line-auto-fill-mode): Remove. 2010-04-30 21:39:58 -04:00
Chong Yidong
48111a8571 Unify complete-symbol with completion-at-point.
* bindings.el (complete-symbol): Move into minibuffer.el.

* minibuffer.el (complete-tag): Move from etags.el.  If tags
completion cannot be performed, return nil instead of signalling
an error.
(completion-at-point): Make it an alias for complete-symbol.
(complete-symbol): Move from bindings.el, and replace with the
body of completion-at-point.

* progmodes/etags.el (complete-tag): Move to minibuffer.el.

* cedet/semantic.el (semantic-mode): When enabled, add
semantic-ia-complete-symbol to completion-at-point-functions.

* cedet/semantic/ia.el (semantic-ia-complete-symbol): Return nil
if Semantic is not active.
2010-04-28 15:04:16 -04:00
Juri Linkov
79ce172a46 Scrolling commands which does not signal errors at top/bottom.
http://lists.gnu.org/archive/html/emacs-devel/2010-03/msg01452.html

* simple.el (scroll-up-command, scroll-down-command): New commands.
Put property isearch-scroll=t on them.

* bindings.el (global-map): Rebind [prior] from `scroll-down' to
`scroll-down-command' and [next] from `scroll-up' to
`scroll-up-command'.

* emulation/cua-base.el: Put property CUA=move on
`scroll-up-command' and `scroll-down-command'.
(cua--init-keymaps): Remap `scroll-up-command' to `cua-scroll-up'
and `scroll-down-command' to `cua-scroll-down'.
2010-04-06 02:38:53 +03:00
Glenn Morris
114f9c9679 Add 2010 to copyright years. 2010-01-13 00:35:10 -08:00
Chong Yidong
9a594ee6ea * bindings.el (complete-symbol): Call semantic-ia-complete-symbol if
possible.

* cedet/semantic/ia.el (semantic-ia-complete-symbol): Make argument
optional.
2009-12-05 22:01:00 +00:00