Commit graph

1760 commits

Author SHA1 Message Date
Stefan Monnier
ae4002ce29 Cleanup namespace of dos-w32.el.
* lisp/dos-w32.el (minibuffer-history-case-insensitive-variables)
(path-separator, null-device, buffer-file-coding-system)
(lpr-headers-switches): Check system-type before modifying them.
(find-buffer-file-type-coding-system): Mark obsolete.
(w32-find-file-not-found-set-buffer-file-coding-system): Rename from
find-file-not-found-set-buffer-file-coding-system.
(w32-untranslated-filesystem-list, w32-untranslated-canonical-name):
(w32-add-untranslated-filesystem, w32-remove-untranslated-filesystem)
(w32-direct-print-region-use-command-dot-com, w32-untranslated-file-p):
(w32-direct-print-region-helper, w32-direct-print-region-function)
(w32-direct-ps-print-region-function): Rename by adding a "w32-" prefix.
* lisp/startup.el (normal-top-level-add-subdirs-to-load-path):
* lisp/ps-print.el (ps-print-region-function):
* lisp/lpr.el (print-region-function): Use new name.

* lisp/simple.el (copy-region-as-kill): Fix call to region-extract-function.

* lisp/emacs-lisp/bytecomp.el (byte-defop-compiler): Add new `2-and' handler.
(byte-compile-and-folded): New function.
(=, <, >, <=, >=): Use it.
2013-10-29 22:45:53 -04:00
Stefan Monnier
53b39e8977 * lisp/subr.el (custom-declare-variable-early): Remove function.
(custom-declare-variable-list): Remove var.
(error, user-error): Remove `while' loop.
(read-quoted-char-radix, read-quoted-char): Move to simple.el.
(user-emacs-directory-warning, locate-user-emacs-file):
Move to files.el.
* lisp/simple.el (read-quoted-char-radix, read-quoted-char):
* lisp/files.el (user-emacs-directory-warning, locate-user-emacs-file):
Move from subr.el.
* lisp/custom.el (custom-declare-variable-list): Don't process
custom-declare-variable-list.
2013-10-29 22:14:16 -04:00
Stefan Monnier
3472b6c682 Add pre-redisplay-function and rectangular region
* lisp/rect.el: Use lexical-binding.  Add new rectangular region support.
(rectangle-mark): New command.
(rectangle--region): New var.
(deactivate-mark-hook): Reset rectangle--region.
(rectangle--extract-region, rectangle--insert-for-yank)
(rectangle--highlight-for-redisplay)
(rectangle--unhighlight-for-redisplay): New functions.
(region-extract-function, redisplay-unhighlight-region-function)
(redisplay-highlight-region-function): Use them to handle
rectangular region.
* lisp/simple.el (region-extract-function): New var.
(delete-backward-char, delete-forward-char, deactivate-mark): Use it.
(kill-new, kill-append): Remove obsolete `yank-handler' argument.
(kill-region): Replace obsolete `yank-handler' arg with `region'.
(copy-region-as-kill, kill-ring-save): Add `region' argument.
(redisplay-unhighlight-region-function)
(redisplay-highlight-region-function): New vars.
(redisplay--update-region-highlight): New function.
(pre-redisplay-function): Use it.
(exchange-point-and-mark): Don't deactivate the mark before
reactivate-it anyway.
* lisp/comint.el (comint-kill-region): Remove yank-handler argument.
* lisp/delsel.el (delete-backward-char, backward-delete-char-untabify)
(delete-char): Remove property, since it's now part of their
default behavior.
(self-insert-iso): Remove property since this command doesn't exist.

* src/xdisp.c (prepare_menu_bars): Call Vpre_redisplay_function.
(syms_of_xdisp): Declare pre-redisplay-function.
(markpos_of_region): Remove function.
(init_iterator, compute_stop_pos, handle_face_prop)
(face_before_or_after_it_pos, reseat_to_string)
(get_next_display_element, window_buffer_changed)
(redisplay_internal, try_cursor_movement, redisplay_window)
(try_window_reusing_current_matrix, try_window_id, display_line)
(note_mode_line_or_margin_highlight, note_mouse_highlight)
(display_string, mouse_face_from_buffer_pos): Remove region handling.
* src/window.h (struct window): Remove field `region_showing'.
* src/dispextern.h (struct it): Remove region_beg/end_charpos.
(face_at_buffer_position, face_for_overlay_string)
(face_at_string_position): Update prototypes.
* src/xfaces.c (face_at_buffer_position, face_for_overlay_string)
(face_at_string_position): Remove `region_beg' and `region_end' args.
* src/fontset.c (Finternal_char_font):
* src/font.c (font_at, font_range): Adjust calls accordingly.
* src/insdel.c (Qregion_extract_function): New var.
(syms_of_insdel): Initialize it.
(prepare_to_modify_buffer_1): Use it.
2013-10-29 12:11:50 -04:00
Eli Zaretskii
fbfd0e1d75 Fix bug #15712 with vertical motion when the goal column needs to hscroll.
lisp/simple.el (line-move): Call line-move-1 instead of
 line-move-visual when the current window hscroll is zero, but
 temporary-goal-column indicates we will need to hscroll as result
 of the movement.
2013-10-25 12:45:51 +03:00
Stefan Monnier
914b7f9808 * lisp/simple.el (newline): Only run post-self-insert-hook when
called interactively.
2013-10-19 18:17:56 -04:00
Glenn Morris
c440407a90 * lisp/simple.el (x-selection-owner-p, x-selection-exists-p): Declare. 2013-09-19 16:31:26 -04:00
Glenn Morris
e740f9d245 Silence some --without-x compilation warnings
* custom.el (x-get-resource): Declare.

* frame.el (x-display-grayscale-p): Declare.

* simple.el (font-info): Declare.

* window.el (x-display-pixel-height, tool-bar-lines-needed): Declare.
(fit-frame-to-buffer): Explicit error if --without-x.
(mouse-autoselect-window-select): Silence compiler.
2013-09-17 19:50:04 -07:00
Glenn Morris
2b42da9837 * lisp/simple.el (messages-buffer-mode-map): Unbind "g". 2013-09-17 16:27:10 -04:00
Glenn Morris
90582f05bc Add a major-mode for the *Messages* buffer
Ref: http://lists.gnu.org/archive/html/emacs-devel/2010-02/msg00135.html

* lisp/simple.el (messages-buffer-mode): New major mode.
(messages-buffer): New function.

* lisp/startup.el (normal-top-level): Switch mode of *Messages* buffer.

* src/xdisp.c (message_dolog): If we create *Messages*,
switch it to messages-buffer-mode.

* lisp/emacs-lisp/ert.el (ert--force-message-log-buffer-truncation)
(ert-run-test): Use `message-buffer' function.
(ert--force-message-log-buffer-truncation): Ignore read-only.

* lisp/help.el (view-echo-area-messages): Use `message-buffer' function.

* lisp/mail/emacsbug.el (report-emacs-bug): Use `message-buffer' function.

* lisp/gnus/gnus-util.el (gnus-message-with-timestamp-1):
Use `message-buffer' function if available.  Ignore read-only.

* etc/NEWS: Mention this.
2013-09-17 00:39:54 -07:00
Stefan Monnier
02ef6c1a8a * lisp/simple.el: Use set-temporary-overlay-map for universal-argument.
(universal-argument-map): Don't use default-bindings.
Bind switch-frame explicitly.  Replace universal-argument-minus with
a conditional binding.
(universal-argument-num-events, saved-overriding-map): Remove.
(restore-overriding-map): Remove.
(universal-argument--mode): Rename from save&set-overriding-map,
and rewrite.
(universal-argument, universal-argument-more, negative-argument)
(digit-argument): Adjust accordingly.
(universal-argument-minus): Remove.
(universal-argument-other-key): Remove.
2013-09-10 13:13:48 -04:00
Glenn Morris
9a2c9b4764 * lisp/simple.el (read-minibuffer): Unbreak it.
Fixes: debbugs:15318
2013-09-10 00:21:19 -07:00
Stefan Monnier
f663baa7dd * lisp/simple.el (repeat-complex-command--called-interactively-skip):
New function.
(repeat-complex-command): Use it.

Fixes: debbugs:14136
2013-08-28 17:19:54 -04:00
Xue Fuqiao
907699465f Reverse previous change, because kill-{new, append} don't have obvious advantage. 2013-08-16 16:27:49 +08:00
Xue Fuqiao
7bef426b5f Advertise using kill-new' and kill-append' in Lisp programs.
* lisp/simple.el (copy-region-as-kill, kill-ring-save): Advertise using
`kill-new' and `kill-append' in Lisp programs.
2013-08-16 16:11:44 +08:00
Xue Fuqiao
f73f4ce69f Doc fix for forward-word and backward-word.
* doc/lispref/positions.texi (Word Motion): Remove redundant sentence.
* lisp/simple.el (backward-word): Mention the optional argument.
* src/syntax.c (forward_word): Mention the optional argument.
2013-08-13 22:26:39 +08:00
Stefan Monnier
54bd972f15 * lisp/subr.el (define-error): New function.
* doc/lispref/control.texi (Signaling Errors): Refer to define-error.
(Error Symbols): Add `define-error'.
* doc/lispref/errors.texi (Standard Errors): Don't refer to `error-conditions'.
* lisp/progmodes/ada-xref.el (ada-error-file-not-found): Rename from
error-file-not-found and define with define-error.
* lisp/emacs-lisp/cl-lib.el (cl-assertion-failed): Move here from subr.el
and define with define-error.
* lisp/userlock.el (file-locked, file-supersession):
* lisp/simple.el (mark-inactive):
* lisp/progmodes/js.el (js-moz-bad-rpc, js-js-error):
* lisp/progmodes/ada-mode.el (ada-mode-errors):
* lisp/play/life.el (life-extinct):
* lisp/nxml/xsd-regexp.el (xsdre-invalid-regexp, xsdre-parse-error):
* lisp/nxml/xmltok.el (xmltok-markup-declaration-parse-error):
* lisp/nxml/rng-util.el (rng-error):
* lisp/nxml/rng-uri.el (rng-uri-error):
* lisp/nxml/rng-match.el (rng-compile-error):
* lisp/nxml/rng-cmpct.el (rng-c-incorrect-schema):
* lisp/nxml/nxml-util.el (nxml-error, nxml-file-parse-error):
* lisp/nxml/nxml-rap.el (nxml-scan-error):
* lisp/nxml/nxml-outln.el (nxml-outline-error):
* lisp/net/soap-client.el (soap-error):
* lisp/net/gnutls.el (gnutls-error):
* lisp/net/ange-ftp.el (ftp-error):
* lisp/mpc.el (mpc-proc-error):
* lisp/json.el (json-error, json-readtable-error, json-unknown-keyword)
(json-number-format, json-string-escape, json-string-format)
(json-key-format, json-object-format):
* lisp/jka-compr.el (compression-error):
* lisp/international/quail.el (quail-error):
* lisp/international/kkc.el (kkc-error):
* lisp/emacs-lisp/ert.el (ert-test-failed):
* lisp/calc/calc.el (calc-error, inexact-result, math-overflow)
(math-underflow):
* lisp/bookmark.el (bookmark-error-no-filename):
* lisp/epg.el (epg-error): Define with define-error.
2013-08-09 17:22:44 -04:00
Dmitry Antipov
290d5b5890 Do not call to `selected-window' where it is assumed by default.
Affected functions are `window-minibuffer-p', `window-dedicated-p',
`window-hscroll', `window-width', `window-height', `window-buffer',
`window-frame', `window-start', `window-point', `next-window'
and `window-display-table'.
* abbrev.el (abbrev--default-expand):
* bs.el (bs--show-with-configuration):
* buff-menu.el (Buffer-menu-mouse-select):
* calc/calc.el (calc):
* calendar/calendar.el (calendar-generate-window):
* calendar/diary-lib.el (diary-simple-display, diary-show-all-entries)
(diary-make-entry):
* comint.el (send-invisible, comint-dynamic-complete-filename)
(comint-dynamic-simple-complete, comint-dynamic-list-completions):
* completion.el (complete):
* dabbrev.el (dabbrev-expand, dabbrev--make-friend-buffer-list):
* disp-table.el (describe-current-display-table):
* doc-view.el (doc-view-insert-image):
* ebuff-menu.el (Electric-buffer-menu-mouse-select):
* ehelp.el (with-electric-help):
* emacs-lisp/easy-mmode.el (easy-mmode-define-navigation):
* emacs-lisp/edebug.el (edebug-two-window-p, edebug-pop-to-buffer):
* emacs-lisp/helper.el (Helper-help-scroller):
* emulation/cua-base.el (cua--post-command-handler-1):
* eshell/esh-mode.el (eshell-output-filter):
* ffap.el (ffap-gnus-wrapper):
* help-macro.el (make-help-screen):
* hilit-chg.el (highlight-compare-buffers):
* hippie-exp.el (hippie-expand, try-expand-dabbrev-visible):
* hl-line.el (global-hl-line-highlight):
* icomplete.el (icomplete-simple-completing-p):
* isearch.el (isearch-done):
* jit-lock.el (jit-lock-stealth-fontify):
* mail/rmailsum.el (rmail-summary-scroll-msg-up):
* lisp/mouse-drag.el (mouse-drag-should-do-col-scrolling):
* mpc.el (mpc-tagbrowser, mpc):
* net/rcirc.el (rcirc-any-buffer):
* play/gomoku.el (gomoku-max-width, gomoku-max-height):
* play/landmark.el (landmark-max-width, landmark-max-height):
* play/zone.el (zone):
* progmodes/compile.el (compilation-goto-locus):
* progmodes/ebrowse.el (ebrowse-view/find-file-and-search-pattern):
* progmodes/etags.el (find-tag-other-window):
* progmodes/fortran.el (fortran-column-ruler):
* progmodes/gdb-mi.el (gdb-mouse-toggle-breakpoint-fringe):
* progmodes/verilog-mode.el (verilog-point-text):
* reposition.el (reposition-window):
* rot13.el (toggle-rot13-mode):
* server.el (server-switch-buffer):
* shell.el (shell-dynamic-complete-command)
(shell-dynamic-complete-environment-variable):
* simple.el (insert-buffer, set-selective-display)
(delete-completion-window):
* speedbar.el (speedbar-timer-fn, speedbar-center-buffer-smartly)
(speedbar-recenter):
* startup.el (fancy-splash-head):
* textmodes/ispell.el (ispell-command-loop):
* textmodes/makeinfo.el (makeinfo-compilation-sentinel-region):
* tutorial.el (help-with-tutorial):
* vc/add-log.el (add-change-log-entry):
* vc/compare-w.el (compare-windows):
* vc/ediff-help.el (ediff-indent-help-message):
* vc/ediff-util.el (ediff-setup-control-buffer, ediff-position-region):
* vc/ediff-wind.el (ediff-skip-unsuitable-frames)
(ediff-setup-control-frame):
* vc/emerge.el (emerge-position-region):
* vc/pcvs-util.el (cvs-bury-buffer):
* window.el (walk-windows, mouse-autoselect-window-select):
* winner.el (winner-set-conf, winner-undo): Related users changed.
2013-08-05 18:26:57 +04:00
Dmitry Antipov
12b4c0ea03 Do not call to `selected-frame' where it is assumed by default.
Affected functions are `raise-frame', `redraw-frame',
`frame-first-window', `frame-terminal' and `delete-frame'.
* lisp/calendar/appt.el (appt-disp-window):
* lisp/epg.el (epg-wait-for-completion):
* lisp/follow.el (follow-delete-other-windows-and-split)
(follow-avoid-tail-recenter):
* lisp/international/mule.el (set-terminal-coding-system):
* lisp/mail/rmail.el (rmail-mail-return):
* lisp/net/newst-plainview.el (newsticker--buffer-set-uptodate):
* lisp/progmodes/f90.el (f90-add-imenu-menu):
* lisp/progmodes/idlw-toolbar.el (idlwave-toolbar-toggle):
* lisp/server.el (server-switch-buffer):
* lisp/simple.el (delete-completion-window):
* lisp/talk.el (talk):
* lisp/term/xterm.el (terminal-init-xterm-modify-other-keys)
(xterm-turn-on-modify-other-keys, xterm-remove-modify-other-keys):
* lisp/vc/ediff-util.el (ediff-status-info, ediff-show-diff-output):
* lisp/vc/ediff.el (ediff-documentation): Related users changed.
* lisp/frame.el (selected-terminal): Remove the leftover.
2013-08-05 14:35:55 +04:00
Eli Zaretskii
fec9206062 Fix documentation of list-processes and process-list.
src/process.c (Fprocess_list): Doc fix.

 lisp/simple.el (list-processes): Doc fix.
2013-07-26 21:48:05 +03:00
Glenn Morris
15ac32d528 * lisp/simple.el (global-visual-line-mode): Do not duplicate the mode lighter.
Fixes: debbugs:14858
2013-07-25 21:55:06 -04:00
Eli Zaretskii
5dc8a62987 Fix bug #14881 with scrolling images smaller than the window height.
lisp/simple.el (line-move-partial, line-move): Don't start vscroll or
 scroll-up if the current line is not taller than the window.
2013-07-17 19:47:49 +03:00
Juanma Barranquero
b43f6451c8 lisp/simple.el (define-alternatives): Rename from alternatives-define. 2013-07-15 02:49:22 +02:00
Eli Zaretskii
1a67b811cb Fix bug #14838 with slow scrolling with certain fonts.
lisp/simple.el (default-font-height): Don't call font-info if the
 frame's default font didn't change since the frame was created.
2013-07-13 10:26:43 +03:00
Eli Zaretskii
18331b9040 Minor followup to previous commit.
lisp/simple.el (next-line, previous-line): Document TRY-VSCROLL and ARG.

Fixes: debbugs:14842
2013-07-12 11:35:42 +03:00
Eli Zaretskii
c544322e3e Fix bug #14842 with doc strings of next-line and previous-line.
lisp/simple.el (next-line, previous-line): Document TRY-VSCROLL.
2013-07-12 11:33:14 +03:00
Eli Zaretskii
35cb8a3e0f Improve scrolling when line-spacing != 0 and scroll-step = 1.
lisp/simple.el (default-line-height): New function.
 (line-move-partial, line-move): Use it instead of computing the
 line height inline.
 (line-move-partial): Always compute ROWH.  If the last line is
 partially-visible, but its text is completely visible, allow
 cursor to enter such a partially-visible line.
2013-07-10 19:18:17 +03:00
Eli Zaretskii
ab49d60b09 Improve scrolling when line-spacing is non-nil.
lisp/simple.el (line-move-partial, line-move): Account for
 line-spacing.
2013-07-08 20:30:50 +03:00
Eli Zaretskii
9aff9b3864 Improve scrolling of windows whose font is different from frame's default.
lisp/simple.el (default-font-height, window-screen-lines): New
 functions.
 (line-move, line-move-partial): Use them instead of
 frame-char-height and window-text-height.  This makes scrolling
 text smoother when the buffer's default face uses a font that is
 different from the frame's default font.
2013-07-07 18:49:03 +03:00
Eli Zaretskii
23de972aa7 Fix vertical cursor motion with non-default fonts.
lisp/simple.el (line-move-partial): Adjust the row returned by
 posn-at-point for the current window-vscroll.  (Bug#14567)
2013-07-06 20:38:24 +03:00
Juanma Barranquero
11e03d8900 lisp/simple.el (alternatives-define): Remove leftover :group keyword.
Tweak docstring.
2013-07-06 15:31:59 +02:00
Juanma Barranquero
61e56e2c8a lisp/simple.el (alternatives-define): New macro.
etc/NEWS: Document new "generic commands" support.
2013-07-06 11:35:37 +02:00
Stefan Monnier
a343d218fd * lisp/simple.el (set-variable): Use read-from-minibuffer.
Fixes: debbugs:14710
2013-06-25 20:50:50 -04:00
Juri Linkov
0950aa27a2 Add explicit arg REPLACE to the callers of `shell-command-on-region'.
* lisp/simple.el (shell-command-on-region): Doc fix.

* lisp/emulation/vi.el (vi-shell-op):
* lisp/emulation/vip.el (vip-execute-com, ex-command):
* lisp/emulation/viper-cmd.el (viper-exec-bang):
* lisp/emulation/viper-ex.el (ex-command): Add non-nil arg REPLACE to
the call of `shell-command-on-region'. 

* lisp/mh-e/mh-alias.el (mh-alias-local-users): Add non-nil arg REPLACE to
the call of `shell-command-on-region'.

Fixes: debbugs:14637
2013-06-18 23:24:44 +03:00
Eli Zaretskii
9583ec36c4 Fix bug #14567 with jumpy scrolling of tall images.
src/xdisp.c (Fline_pixel_height): New function, required for solving
 bug #14567.

 lisp/simple.el (line-move-partial): Don't jump to the next screen
 line as soon as it becomes visible.  Instead, continue enlarging
 the vscroll until the portion of a tall screen line that's left on
 display is about the height of the frame's default font.
2013-06-15 12:34:20 +03:00
Stefan Monnier
de0503df97 * lisp/subr.el (with-eval-after-load): New macro.
(eval-after-load): Allow form to be a function.
take advantage of lexical-binding.
(do-after-load-evaluation): Use dolist and adjust to new format.
* lisp/simple.el (bad-packages-alist): Use dolist and with-eval-after-load.
* doc/lispref/loading.texi (Hooks for Loading): Document with-eval-after-load
instead of eval-after-load.  Don't document after-load-alist.
* src/lread.c (syms_of_lread):
* src/fns.c (Fprovide): Adjust to new format of after-load-alist.
2013-06-13 18:24:52 -04:00
Stefan Monnier
55577e7c02 * lisp/simple.el: Move all the prog-mode code to prog-mode.el.
* lisp/progmodes/prog-mode.el: New file.
* lisp/loadup.el:
* src/lisp.mk (lisp): Add prog-mode.el.
2013-06-05 14:10:27 -04:00
Ted Zlatanov
8fc57765e8 Introduce and use prog-prettify-install. 2013-06-05 13:48:50 -04:00
Ted Zlatanov
3ca0d0b437 Symbol prettify in prog-mode; added to perl-mode, cfengine3-mode, and emacs-lisp-mode. 2013-06-05 10:26:50 -04:00
Stefan Monnier
17e5c0cc8f * lisp/simple.el (read--expression): New function, extracted from
eval-expression.  Set completion-at-point-functions.
(eval-expression, eval-minibuffer): Use it.

* lisp/progmodes/flymake.el (flymake-nop): Don't return a string.
(flymake-set-at): Fix typo.

Fixes: debbugs:14465
2013-05-24 22:21:49 -04:00
Sam Steingold
b3531901c6 * simple.el (shell-command-on-region): Pass the `replace' argument
down to `call-process-region' to comply with he doc as reported on
<http://stackoverflow.com/questions/16720458/emacs-noninteractive-call-to-shell-command-on-region-always-deletes-region>
2013-05-23 17:01:47 -04:00
Leo Liu
9df4ec5e90 * simple.el (prog-indent-sexp): Indent enclosing defun. 2013-05-16 11:41:52 +08:00
Eli Zaretskii
060ca4088d Avoid beginning/end of buffer errors when moving across display strings.
lisp/simple.el (line-move-visual): Signal beginning/end of buffer
 only if vertical-motion moved less than it was requested.  Avoids
 silly incorrect error messages when there are display strings with
 multiple newlines at EOL.
2013-05-08 21:05:40 +03:00
Kelly Dean
a1c700dec5 * lisp/simple.el (shell-command-on-region): Doc fix.
Fixes: debbugs:14279
2013-05-06 23:11:40 +03:00
Stefan Monnier
30c7e54299 * lisp/simple.el (read-expression-map): Use completion-at-point.
Move the declaration from C.
(read-minibuffer, eval-minibuffer): Move from C.
(completion-setup-function): Avoid minibuffer-completion-contents.
* src/minibuf.c (Fread_minibuffer, Feval_minibuffer): Move to Elisp.
(syms_of_minibuf): Adjust accodingly.
* src/lread.c (Fread):
* src/callint.c (Fcall_interactively): Adjust calls accordingly.

Fixes: debbugs:14255
2013-05-04 15:27:41 -04:00
Stefan Monnier
cdca825560 * lisp/winner.el (winner-active-region): Use region-active-p, activate-mark
and deactivate-mark.
* lisp/simple.el (deactivate-mark): Don't inline it.

Fixes: debbugs:14225
2013-04-18 09:15:08 -04:00
Stefan Monnier
d36ed1c8e7 * lisp/subr.el (with-wrapper-hook): Declare obsolete.
* lisp/simple.el (filter-buffer-substring-function): New hook.
(filter-buffer-substring): Use it.
(filter-buffer-substring-functions): Mark obsolete.
* lisp/minibuffer.el (completion-in-region-function): New hook.
(completion-in-region): Use it.
(completion-in-region-functions): Mark obsolete.
* lisp/mail/mailabbrev.el (mail-abbrevs-setup): Use abbrev-expand-function.
* lisp/abbrev.el (abbrev-expand-function): New hook.
(expand-abbrev): Use it.
(abbrev-expand-functions): Mark obsolete.
* lisp/emacs-lisp/nadvice.el (advice--where-alist): Add :filter-args
and :filter-return.
* lisp/org/org-agenda.el (org-agenda-mode):
* lisp/org/org-indent.el (org-indent-mode): Use the `local' arg of
add-hook/remove-hook.
2013-04-17 20:12:33 -04:00
Bastien Guerry
b39792eb9e * simple.el (choose-completion-string): Fix docstring (bug#14163). 2013-04-09 11:36:25 +02:00
Leo Liu
69489f1dd6 * simple.el (eval-expression-minibuffer-setup-hook): New hook.
(eval-expression): Run it.

Extend eldoc to display info in the mode-line. 
* emacs-lisp/eldoc.el (eldoc-post-insert-mode): New minor mode.
(eldoc-mode-line-string): New variable.
(eldoc-minibuffer-message): New function.
(eldoc-message-function): New variable.
(eldoc-message): Use it.
(eldoc-display-message-p)
(eldoc-display-message-no-interference-p): Support
eldoc-post-insert-mode.

Fixes: debbugs:13978
2013-03-17 23:00:37 +08:00
Stefan Monnier
b6c2bfff02 * lisp/simple.el (command-execute): Move from C. Add obsolete check.
(extended-command-history): Move from C.
* src/keyboard.c (Qcommand_execute): New var.
(command_loop_1, read_char): Use it.
(Fcommand_execute): Remove, replace by an Elisp implementation.
(syms_of_keyboard): Adjust accordingly.
2013-02-20 11:37:06 -05:00
Stefan Monnier
6c8f113e70 * lisp/simple.el (eval-expression): Let `exp' set the mark.
Fixes: debbugs:13724
2013-02-15 18:47:50 -05:00