1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-06 11:50:51 -08:00
Commit graph

24957 commits

Author SHA1 Message Date
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
195ee2f0a9 * lisp/progmodes/python.el (python-shell-get-buffer): New function.
(python-shell-get-process): Use it.
(python-shell-send-string): Always use utf-8 and add a cookie to tell
Python which encoding was used.  Don't split-string since we only care
about the first line.  Return the temp-file, if applicable.
(python-shell-send-region): Tell compile.el how to turn locations in
the temp-file into locations in the source buffer.
2013-10-29 21:28:36 -04:00
Stefan Monnier
4c9797cb77 * src/keyboard.c (command_loop_1): If command is nil, call `undefined'.
* lisp/subr.el (undefined): Add missing behavior from the C code for
unbound keys.
2013-10-29 17:05:35 -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
Stefan Monnier
7e3561eec6 * lisp/emacs-lisp/package.el (package--download-one-archive)
(describe-package-1): Don't query the user about final newline.
2013-10-29 10:48:08 -04:00
Daniel Colascione
b9bef71fd3 Tweak Tramp method definition syntax to allow overriding check for localhost-only methods 2013-10-28 19:50:24 -07:00
Michael Albinus
4efc33f01d * net/tramp-sh.el (tramp-sh-handle-copy-directory):
* net/tramp-smb.el (tramp-smb-handle-copy-directory):
Handle COPY-CONTENTS.  (Bug#15737)
2013-10-28 20:30:40 +01:00
Daiki Ueno
ed42a87759 Document insecure elisp password caching is not usable with GnuPG 2.0. 2013-10-28 17:04:48 +09:00
Xue Fuqiao
7a4bc7be95 * lisp/image.el (image-load-path): Doc fix. 2013-10-28 07:04:16 +08:00
Xue Fuqiao
18c9f8a224 * lisp/image.el (defimage): Doc fix. 2013-10-28 06:53:48 +08:00
Alan Mackenzie
b1e8e01061 Indent statements in macros following "##" correctly.
* progmodes/cc-engine.el (c-crosses-statement-barrier-p): Modify
the "#" arm of a cond form to handle "#" and "##" operators.
2013-10-27 21:24:17 +00:00
Glenn Morris
73d40d1e64 Mark tiny change from author without assignment 2013-10-27 11:46:47 -07:00
Nathan Trapuzzano
fdab3d0b44 * lisp/linum.el (linum-update-window): Fix boundary test.
Fixes: debbugs:13446
2013-10-27 00:18:28 -04:00
Dmitry Gutov
c8c605ac9c * lisp/progmodes/ruby-mode.el (ruby-smie--bosp): Anything that goes
after `=' is probably a new expression.
2013-10-27 07:25:03 +04:00
Rüdiger Sonderfeld
ca7e59d46c Add menu for M-x man
* lisp/man.el (man-imenu-title): New option.
(Man-mode-map): Add menu. 
(Man-mode): Add imenu to menu.

Fixes: debbugs:15722
2013-10-26 19:02:02 -07:00
Dmitry Gutov
bae91342a4 * lisp/progmodes/ruby-mode.el (ruby-smie--args-separator-p): Be more
specific in what the first arg can be: a non-keyword word,
string/regexp/percent literal opener, opening paren, or unary
operator followed directly by word.

* test/automated/ruby-mode-tests.el (ruby-toggle-block-to-brace): Fix
the test, in respect to adding the space after the curly.
2013-10-26 05:16:37 +04:00
Stefan Monnier
eb89dc14d9 * lisp/progmodes/prolog.el: Remove old indent; use post-self-insert-hook.
(prolog-align-comments-flag, prolog-indent-mline-comments-flag)
(prolog-object-end-to-0-flag, prolog-electric-newline-flag)
(prolog-electric-tab-flag, prolog-use-prolog-tokenizer-flag):
Remove vars, they do not apply any more.
(prolog-mode-abbrev-table): Remove redundant declaration.
(prolog-upper-case-string, prolog-lower-case-string): Remove.
(prolog-use-smie): Remove.
(prolog-smie-rules): Add indentation rule for the if-then-else layout
supported by prolog-electric-if-then-else-flag.
(prolog-mode-variables, prolog-menu): Use setq-local.
(prolog-mode-keybindings-edit): Don't rebind M-C-p and M-C-n.
Remove binding to `Backspace' since this key doesn't exist anyway.
Remove bindings for electric self-inserting keys.
(prog-mode): Assume it's defined.
(prolog-post-self-insert): New function.
(prolog-mode): Use it.
(prolog-indent-line, prolog-indent-level)
(prolog-find-indent-of-matching-paren)
(prolog-indentation-level-of-line, prolog-goto-comment-column)
(prolog-paren-is-the-first-on-line-p, prolog-region-paren-balance)
(prolog-goto-next-paren, prolog-in-string-or-comment)
(prolog-tokenize, prolog-inside-mline-comment)
(prolog-find-start-of-mline-comment): Remove functions.
(prolog-find-unmatched-paren, prolog-clause-end)
(prolog-guess-fill-prefix, prolog-get-predspec): Use syntax-ppss.
(prolog-electric--if-then-else): Rename from
prolog-insert-spaces-after-paren; use prolog-electric-if-then-else-flag.
(prolog-tokenize-searchkey): Remove const.
(prolog-clause-info): Use forward-sexp.
(prolog-forward-list, prolog-backward-list, prolog-electric-delete)
(prolog-electric-if-then-else): Remove commands.
(prolog-electric--colon): Rename from prolog-electric-colon; adapt it
for use in post-self-insert-hook.
(prolog-electric--dash): Rename from prolog-electric-dash; adapt it
for use in post-self-insert-hook.
(prolog-electric--dot): Rename from prolog-electric-dot; adapt it
for use in post-self-insert-hook.
(prolog-electric--underscore): Rename from prolog-electric--underscore;
adapt it for use in post-self-insert-hook.
2013-10-25 11:23:45 -04:00
Michael Albinus
3dab0a832c * emacs-lisp/ert.el (ert-run-tests-interactively):
Use `completing-read'.  (Bug#9756)
2013-10-25 14:07:34 +02: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
Dmitry Gutov
963ce6361a * lisp/progmodes/ruby-mode.el (ruby-mode-menu): Use proper
capitalization.  Use :visible instead of :active.  Fix
`ruby-indent-exp' reference.  Add menu items for the generic
commands that are used with SMIE.
(ruby-do-end-to-brace): Insert space after `{'.
2013-10-25 08:35:56 +04:00
John Anthony
f73754c923 * lisp/progmodes/ruby-mode.el (ruby-mode-menu): Add a menu
Fixes: debbugs:15600
2013-10-24 19:38:39 -07:00
John Anthony
a0be396a4a * lisp/progmodes/inf-lisp.el (inferior-lisp-menu): Add menu.
Fixes: debbugs:15599
2013-10-24 19:35:55 -07:00
Glenn Morris
f5bf77dfae * lisp/vc/vc.el (vc-print-log): Don't use a working revision unless
one was explicitly specified.

Fixes: debbugs:15322
2013-10-24 19:33:42 -07:00
Stefan Monnier
37241f6206 * lisp/subr.el (add-to-list): Preserve return value in compiler-macro.
Fixes: debbugs:15692
2013-10-24 21:10:27 -04:00
Rüdiger Sonderfeld
6408a65db5 * progmodes/octave.el (octave-lookfor): Handle empty lookfor
result.  Ask user to retry using '-all' flag.

Fixes: debbugs:15701
2013-10-25 08:49:33 +08:00
Stefan Monnier
71e3276bc5 * lisp/emacs-lisp/smie.el: New smie-config system.
(smie-config): New defcustom.
(smie-edebug, smie-config-show-indent, smie-config-set-indent)
(smie-config-guess, smie-config-save): New commands.
(smie-config--mode-local, smie-config--buffer-local)
(smie-config--trace, smie-config--modefuns): New vars.
(smie-config--advice, smie-config--mode-hook)
(smie-config--setter, smie-config-local, smie-config--get-trace)
(smie-config--guess-value, smie-config--guess): New functions.
(smie-indent-forward-token, smie-indent-backward-token): Don't copy
text properties.  Treat "string fence" syntax like string syntax.

* lisp/progmodes/sh-script.el (sh-use-smie): Change default.
(sh-smie-sh-rules, sh-smie-rc-rules): Obey legacy sh-indent-* vars.
(sh-var-value): Simplify by CSE.
(sh-show-indent, sh-set-indent, sh-learn-line-indent)
(sh-learn-buffer-indent): Redirect to their SMIE equivalent when SMIE
is used.
(sh-guess-basic-offset): Use cl-incf.
(sh-guess-basic-offset): Use push+nreverse to avoid O(n^2).
2013-10-24 17:16:20 -04:00
Helmut Eller
60db713e4d * lisp/emacs-lisp/lisp-mode.el (lisp-cl-font-lock-keywords-2): Fix cut&paste.
Fixes: debbugs:15699
2013-10-24 13:49:12 -04:00
Glenn Morris
8b251df61e * lisp/Makefile.in (abs_top_srcdir): Remove.
(update-subdirs): Use relative path to update-subdirs.
2013-10-24 13:18:46 -04:00
Eli Zaretskii
6be0e22b4f Fix last changes to support whitespace in directory names.
lisp/Makefile.in ($(MH_E_DIR)/mh-loaddefs.el)
 ($(TRAMP_DIR)/tramp-loaddefs.el, $(CAL_DIR)/cal-loaddefs.el)
 ($(CAL_DIR)/diary-loaddefs.el, $(CAL_DIR)/hol-loaddefs.el): Call
 unmsys--file-name before expand-file-name, not after it.
2013-10-24 19:28:05 +03:00
Michael Albinus
50b5b85741 * emacs-lisp/ert.el (ert-deftest): Bind macro `skip-unless'.
(ert-test-skipped): New error.
(ert-skip, ert-stats-skipped): New defuns.
(ert--skip-unless): New macro.
(ert-test-skipped): New struct.
(ert--run-test-debugger, ert-test-result-type-p)
(ert-test-result-expected-p, ert--stats, ert-stats-completed)
(ert--stats-set-test-and-result, ert-char-for-test-result)
(ert-string-for-test-result, ert-run-tests-batch)
(ert--results-update-ewoc-hf, ert-run-tests-interactively): Handle
skipped tests.
2013-10-24 09:34:41 +02:00
Glenn Morris
e43817c1e0 * lisp/Makefile.in (check-declare): Remove unnecessary path in -l argument 2013-10-23 19:21:23 -07:00
Glenn Morris
6f317c2faa * lisp/Makefile.in (abs_top_srcdir): New, set by configure.
(update-subdirs): Correct build-aux location.
2013-10-23 18:52:44 -07:00
Dmitry Gutov
8297b2cfdd * lisp/vc/vc.el (vc-print-root-log): Always set `default-directory'
value, whether we could auto-deduce `backend', or not.
2013-10-24 05:27:29 +04:00
Dmitry Gutov
369bbf7198 * lisp/progmodes/ruby-mode.el (ruby-smie-rules): Fix the "curly block
with parameters" example.  Simplify the "is it block or is it
hash" check, but also make it more thorough.

* test/indent/ruby.rb: Fix syntax error in the latest example.
2013-10-24 04:47:28 +04:00
Masashi Fujimoto
d5f1282f05 * lisp/battery.el (battery-pmset): Handle OS X Mavericks (tiny change)
Fixes: debbugs:15694
2013-10-23 15:44:28 -04:00
Stefan Monnier
03d44565bb * lisp/progmodes/ruby-mode.el (ruby-smie-rules): Only align with parent of
{ if it is hanging.
2013-10-23 13:55:53 -04:00
Stefan Monnier
bc4aaa31e2 * lisp/progmodes/ruby-mode.el (ruby-smie-rules): Don't return 0 for
:before ";".
2013-10-23 13:18:11 -04:00
Jed Brown
f493ff19e9 compile: Support GNU Make-4.0 directory quoting (tiny change)
* lisp/progmodes/compile.el (compilation-directory-matcher)
(compilation-page-delimiter): Support GNU Make-4.0 directory quoting.

Fixes: debbugs:15678
2013-10-23 09:25:56 -07:00
Leo Liu
c744a3b9f7 * ido.el (ido-tidy): Handle read-only text. 2013-10-23 20:15:31 +08:00
Glenn Morris
b8e3b0a9ec Make building in directories with whitespace possible
Make has trouble with targets containing whitespace, 
http://savannah.gnu.org/bugs/?712, so the general approach is
to use relative paths where possible.  It's generally only Emacs
itself that needs absolute paths, eg in src/epaths.h.

* configure.ac (srcdir): Don't make it absolute - abs_srcdir exists.

* Makefile.in (abs_srcdir): New, set by configure.
(buildlisppath): Use abs_srcdir.
(install-arch-indep, install-etcdoc, install-info, install-man)
(install-etc): Quote entities that might contain whitespace.

* admin/unidata/Makefile.in (emacs, ${DSTDIR}/charprop.el):
Quote entities that might contain whitespace.

* leim/Makefile.in (abs_srcdir): New, set by configure.
(buildlisppath): Use abs_srcdir.
(RUN_EMACS, .el.elc, changed.tit, changed.misc, leim-list.el)
($(srcdir)/ja-dic/ja-dic.el, setwins, distclean, check-declare):
Quote entities that might contain whitespace.

* lib-src/Makefile.in ($(DESTDIR)${archlibdir}):
Quote entities that might contain whitespace.

* lisp/Makefile.in (abs_srcdir, abs_lisp): New, set by configure.
(emacs, compile, compile-always):
Quote entities that might contain whitespace.
(custom-deps, finder-data, autoloads): Use abs_lisp.
($(MH_E_DIR)/mh-loaddefs.el, $(TRAMP_DIR)/tramp-loaddefs.el)
($(CAL_DIR)/cal-loaddefs.el, $(CAL_DIR)/diary-loaddefs.el)
($(CAL_DIR)/hol-loaddefs.el): Manually expand target file name.

* nextstep/Makefile.in (${ns_check_file} ${ns_appdir}):
Quote entities that might contain whitespace.

* nt/Makefile.in ($(DESTDIR)${archlibdir}):
Quote entities that might contain whitespace.

* src/Makefile.in (RUN_TEMACS): Make relative (again).
($(leimdir)/leim-list.el, .el.elc, $(lispsource)/loaddefs.el)
(bootstrap-emacs$(EXEEXT)):
Quote entities that might contain whitespace.

* test/automated/Makefile.in (abs_top_srcdir, top_builddir):
New, set by configure.
(top_srcdir): Remove.
(abs_test, abs_lispsrc): New.
(lisp): No longer absolute.
(emacs, lisp-compile, compile, compile-always):
Quote entities that might contain whitespace.

Fixes: debbugs:15675
2013-10-22 23:22:54 -07:00
Dmitry Gutov
ee4282cde2 * lisp/progmodes/ruby-mode.el (ruby-smie--at-dot-call): Use
`following-char'.
2013-10-23 06:59:45 +04:00
Stefan Monnier
7790a27058 * lisp/emacs-lisp/smie.el (smie-rule-parent): Fix opener-test.
* lisp/progmodes/ruby-mode.el (ruby-smie-rules):
Remove corresponding workaround.  Fix indentation rule of ";" so it
also applies when ";" is the parent.
2013-10-22 11:45:56 -04:00
Xue Fuqiao
d40a46d75b Mention the optional ‘display’ argument in doc strings.
* frame.el (display-screens, display-pixel-height)
(display-pixel-width, display-mm-width, display-backing-store)
(display-save-under, display-planes, display-color-cells)
(display-visual-class, display-monitor-attributes-list): Mention
the optional ‘display’ argument in doc strings.
2013-10-22 16:07:51 +08:00
Michael Gauland
a0f143c90a * lisp/progmodes/ebnf2ps.el (ebnf-prologue): Avoid PS error with some
viewers such as evince when ebnf-production-name-p is nil.

Fixes: debbugs:15625
2013-10-21 20:47:32 -04:00
Dmitry Gutov
18cacc392d * lisp/progmodes/ruby-mode.el (ruby-smie-grammar): Remove outdated
TODO.  Add "." after " @ ".
(ruby-smie--at-dot-call): New function.  Checks if point at method
call with explicit target.
(ruby-smie--forward-token, ruby-smie--backward-token): Prepend "."
to the method name tokens when it precedes them.
(ruby-smie--backward-id, ruby-smie--forward-id): Remove.
(ruby-smie-rules): Add rule for indentation before and after "."
token.
2013-10-22 02:25:59 +04:00
Stefan Monnier
c6dab55f63 * lisp/textmodes/remember.el (remember-diary-extract-entries):
Avoid add-to-list.
2013-10-21 10:15:13 -04:00
Stefan Monnier
df74c4be16 * lisp/progmodes/ruby-mode.el (ruby-smie-rules): Indent after + used as
an instruction.
2013-10-21 09:34:13 -04:00
Dmitry Gutov
cfef16c084 * lisp/progmodes/ruby-mode.el (ruby-smie-grammar): Add (almost) all
infix operators.
(ruby-smie--implicit-semi-p): Add new operator chars.
2013-10-21 09:54:18 +04:00
Dmitry Gutov
8c1ae48154 * lisp/progmodes/ruby-mode.el (ruby-mode-map): Add binding for
`smie-down-list'.
(ruby-smie--args-separator-p): Check that there's no newline
between method call and its arguments.
(ruby-smie-rules): Handle new cases: curly block with and without
parameters, hash surrounded with parens, block passed to
paren-less method call.

* test/indent/ruby.rb: New examples for indentation of blocks.  Example
of hash inside parens that inflooped before this commit.
2013-10-21 07:50:06 +04:00
Alan Mackenzie
87756ca9f4 Allow comma separated lists after Java "implements".
* progmodes/cc-engine.el (c-backward-over-enum-header): parse
commas.
* progmodes/cc-fonts.el (c-basic-matchers-after): Remove comma
from a "disallowed" list in enum fontification.
2013-10-20 14:27:22 +00:00