Commit graph

3601 commits

Author SHA1 Message Date
Glenn Morris
2168fe4f2a byte-compile-warning-prefix tweak
* lisp/emacs-lisp/bytecomp.el (byte-compile-warning-prefix): If not
compiling a file, try using load-file-name.
2012-09-12 22:41:46 -04:00
Stefan Monnier
c0c54fbddf * lisp/emacs-lisp/edebug.el (edebug-outside-unread-command-events):
Fix last change.
(edebug-update-eval-list): Use `push'.
2012-09-12 22:29:05 -04:00
Stefan Monnier
bd8d610845 * lisp/emacs-lisp/edebug.el: Use lexical-binding.
Remove the "edebug-" prefix from non-dynamically-scoped variables.
Mark unused args with underscore.
(edebug-save-restriction, edebug-outside-excursion): Use `declare'.
(edebug-form-data): Use defvar-local.
(edebug-make-before-and-after-form, edebug-make-after-form):
Use backquote.
(edebug-args, edebug-value, edebug-after-index, edebug-arg-mode):
Not dynamically scoped any more.
(edebug--enter-trace): Add arguments `function' and `args'.
Rename from edebug-enter-trace.
(edebug-enter): Call it accordingly.  Bind edebug-function explicitly.
(edebug--update-coverage): Add `after-index' and `value' args.
Rename from edebug-update-coverage.
(edebug-slow-after): Call it accordingly.
(edebug--recursive-edit): Add arg `arg-mode'.  Rename from
edebug-recursive-edit.
(edebug--display): Call it accordingly.  Add args `value',
`offset-index', and `arg-mode'.  Rename from edebug-display.
(edebug-debugger, edebug): Call it accordingly.
(edebug-eval-display-list): Use dolist.
2012-09-12 22:00:41 -04:00
Stefan Monnier
bfeae2cf09 Remove unread-command-char.
* src/keyboard.c (read_char, requeued_events_pending_p, Finput_pending_p)
(Fdiscard_input, quit_throw_to_read_char, init_keyboard)
(syms_of_keyboard): Remove support for unread-command-char.
* lisp/emacs-lisp/debug.el (debugger-outer-unread-command-char, debug)
(debugger-env-macro): Remove support for unread-command-char.

* lisp/ehelp.el (with-electric-help): Accept functions in
electric-help-form-to-execute.
(electric-help-execute-extended, electric-help-ctrl-x-prefix): Use it.
And replace unread-command-char -> unread-command-events.

* lisp/subr.el (set-temporary-overlay-map): Minimize slightly the impact of
the temporary map re-appearing on emulation-mode-map-alists.

* lisp/emacs-lisp/edebug.el (def-edebug-form-spec): Remove, it's been broken
since 22.1.
2012-09-12 15:16:36 -04:00
Martin Rudalics
4dece104ac Try to keep height of debugger window consistent. (Bug#8789)
* emacs-lisp/debug.el (debugger-previous-window-height): New
variable.
(debug): When debugger-jumping-flag is non-nil try to restore
height of debugger window.  (Bug#8789)
2012-09-12 17:49:17 +02:00
Stefan Monnier
60c49c0fe9 * lisp/emacs-lisp/edebug.el (edebug-enter): Don't mess with
overriding-local-map and pre/post-command-hook here.
(edebug-recursive-edit): Do it here instead.
(edebug-outside-unread-command-char): Remove all uses of
unread-command-char.

Fixes: debbugs:12345
2012-09-12 09:12:48 -04:00
Stefan Monnier
45b82ad0eb * src/eval.c: Add `inhibit-debugger'.
(Qinhibit_debugger): New symbol.
(call_debugger): Bind it instead of Qdebug_on_error.
(maybe_call_debugger): Test Vinhibit_debugger.
(syms_of_eval): Define inhibit-debugger.
* src/xdisp.c (set_message): Don't bind Qinhibit_debug_on_message.
(syms_of_xdisp): Remove inhibit-debug-on-message.
* lisp/emacs-lisp/debug.el (debug): Don't bind debug-on-error since
inhibit-debugger is bound instead.
2012-09-11 20:14:50 -04:00
Glenn Morris
511fd0b2f4 load-path-shadows-font-lock-keywords tweak
* lisp/emacs-lisp/shadow.el (load-path-shadows-font-lock-keywords):
Be more robust about locating simple.el.
2012-09-11 00:13:21 -07:00
Stefan Monnier
9b851e2550 New emacs-lisp-byte-code-mode; misc minor changes.
* lisp/emacs-lisp/lisp-mode.el (emacs-list-byte-code-comment-re): New var.
(emacs-lisp-byte-code-comment)
(emacs-lisp-byte-code-syntax-propertize, emacs-lisp-byte-code-mode):
New functions.
(eval-sexp-add-defvars): Don't skip defvars in column >0.
(eval-defun-2): Remove bogus interactive spec.
(lisp-indent-line): Remove redundant whole-exp code, now done in
indent-according-to-mode.
(save-match-data): Remove redundant indent data.
* lisp/emacs-lisp/benchmark.el (benchmark-run, benchmark-run-compiled):
Use `declare'.
* lisp/gnus/qp.el (quoted-printable-decode-region):
Inline+CSE+strength-reduction.
2012-09-09 21:16:13 -04:00
Chong Yidong
011474aa5a Allow scrolling in y-or-n-p.
* lisp/replace.el (query-replace-map): Bind four new symbols for
requesting window scrolling.

* lisp/subr.el (y-or-n-p): Handle the window-scrolling bindings in
query-replace-map.

* lisp/custom.el (custom-theme-load-confirm): Use y-or-n-p.

* lisp/window.el (scroll-other-window-down): Make the arg optional.

* lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Don't bind scrolling keys
since they are now in query-replace-map.

* doc/lispref/minibuf.texi (Yes-or-No Queries): Document recentering and
scrolling in y-or-n-p.  Remove gratuitous example.

* doc/lispref/searching.texi (Search and Replace): Document window scrolling
entries in query-replace-map.

Fixes: debbugs:8948
2012-09-09 14:43:47 +08:00
Martin Rudalics
fa2bcf435d Fix handling of debugger window. (Bug#8789)
* window.el (display-buffer-in-previous-window): New buffer
display action function.

* emacs-lisp/debug.el (debugger-bury-or-kill): New option.
(debugger-previous-window): New variable.
(debug): Rewrite using display-buffer-in-previous-window,
quit-restore-window and debugger-bury-or-kill.  (Bug#8789)
2012-09-08 15:28:11 +02:00
Stefan Monnier
daac280ae0 * lisp/emacs-lisp/byte-run.el (defun): Tweak message. Simplify code. 2012-09-07 16:14:55 -04:00
Chong Yidong
e5c2edf79b Add a utility function buffer-narrowed-p, and use it.
* lisp/subr.el (buffer-narrowed-p): New function.

* lisp/ses.el (ses-widen):
* lisp/simple.el (count-words--buffer-message):
* lisp/net/browse-url.el (browse-url-of-buffer): Use it

* lisp/simple.el (count-words-region): Don't signal an error if there
is a non-nil prefix arg and the mark is not set.

* doc/lispref/positions.texi (Narrowing): Document buffer-narrowed-p.
2012-09-07 16:58:31 +08:00
Stefan Monnier
d458ef98df * lisp/emacs-lisp/cl-macs.el (cl--do-arglist): Understand _ on &key args.
(cl--make-usage-args): Strip _ from argument names.

Fixes: debbugs:12367
2012-09-06 11:35:08 -04:00
Stefan Monnier
972debf2e7 Macro-expand interpreted code during load.
* src/lread.c (readevalloop): Call internal-macroexpand-for-load to perform
eager (load-time) macro-expansion.
* src/lisp.mk (lisp): Add macroexp.
* lisp/loadup.el: Load macroexp.  Remove hack.
* lisp/emacs-lisp/macroexp.el (macroexp--eval-if-compile): New function.
(macroexp--expand-all): Use it to get better warnings.
(macroexp--backtrace, macroexp--trim-backtrace-frame)
(internal-macroexpand-for-load): New functions.
(macroexp--pending-eager-loads): New var.
(emacs-startup-hook): New hack to replace one in loadup.el.
* lisp/emacs-lisp/cl-macs.el (cl--compiler-macro-list*)
(cl--compiler-macro-cXXr): Move to top, before they can be used.
(cl-psetf): Simplify.
(cl-defstruct): Add indent rule.
2012-09-04 13:40:25 -04:00
Stefan Monnier
35e62fc984 * lisp/files.el (read-only-mode): New minor mode.
(toggle-read-only): Use it and mark obsolete.
(find-file--read-only):
* lisp/vc/vc.el (vc-next-action, vc-checkout):
* lisp/vc/vc-cvs.el (vc-cvs-checkout):
* lisp/obsolete/vc-mcvs.el (vc-mcvs-update):
* lisp/ffap.el (ffap--toggle-read-only): Update callers.
2012-08-29 11:11:51 -04:00
Stefan Monnier
d5e2bcd351 * cl-lib.el (buffer-string): Simplify last change.
Fixes: debbugs:12293
2012-08-28 16:14:21 -04:00
Stefan Monnier
9fba804b9e * lisp/emacs-lisp/cl-lib.el (buffer-string): Fix setter macro.
Fixes: debbugs:12293
2012-08-28 15:35:35 -04:00
Glenn Morris
2a1e24765b Replace version 24.2 with 24.3 where appropriate (hopefully) 2012-08-15 09:29:11 -07:00
Glenn Morris
c548f82180 byte-compile-setq-default fix for bug#12195
* lisp/emacs-lisp/bytecomp.el (byte-compile-setq-default):
Optimize away setq-default with no args, as is done for setq.
2012-08-14 14:23:10 -04:00
Chong Yidong
55802e4a3d Doc fixes.
* lisp/emacs-lisp/regexp-opt.el (regexp-opt-charset): Doc fix.

* src/chartab.c (Fmap_char_table): Doc fix.

* src/editfns.c (Fformat): Doc fix.

Fixes: debbugs:12059 debbugs:12085 debbugs:12061
2012-08-15 00:28:23 +08:00
Glenn Morris
3c3cda1a73 * lisp/emacs-lisp/bytecomp.el (byte-recompile-file): Doc fix. 2012-08-14 08:58:46 -07:00
Andreas Schwab
e5b19827fa Fixes: debbugs:12197
* emacs-lisp/bytecomp.el (byte-recompile-file): When LOAD is
non-nil always load the compiled file if it exists.
2012-08-14 10:37:41 +02:00
Stefan Monnier
3c98c96295 * lisp/subr.el (function-get): Refine `autoload' arg so it can also
autoload functions for gv.el.
* lisp/emacs-lisp/edebug.el (get-edebug-spec): Adjust so it only
autoloads macros.

Fixes: debbugs:12191
2012-08-13 17:23:09 -04:00
Chong Yidong
5725bd2cc0 Merge from emacs-24; up to 2012-05-02T11:38:01Z!lekktu@gmail.com 2012-08-11 10:13:55 +08:00
Stefan Monnier
daa9f1a607 * lisp/emacs-lisp/rx.el (rx-constituents): Don't define as constant.
(rx-form): Simplify.
2012-08-10 17:03:10 -04:00
Stefan Monnier
d301b4133f * lisp/emacs-lisp/cl-macs.el (cl-loop): Improve debug spec. 2012-08-10 15:34:36 -04:00
Glenn Morris
fbb5e33648 * lisp/emacs-lisp/copyright.el (copyright-update-directory): Logic fix. 2012-08-09 23:56:01 -07:00
Glenn Morris
7aacaf15a2 Disable local eval: in some places
* tutorial.el (help-with-tutorial):
* emacs-lisp/copyright.el (copyright-update-directory):
* emacs-lisp/autoload.el (autoload-find-generated-file)
(autoload-find-file): Disable local eval: (for insurance).
2012-08-09 23:53:52 -07:00
Stefan Monnier
4250fdf5b3 * lisp/emacs-lisp/cl.el (cl-map-keymap-recursively, cl-map-intervals)
(cl-map-extents): Add compatibility aliases.

Fixes: debbugs:12135
2012-08-08 14:56:01 -04:00
Andreas Schwab
6125983ea6 * emacs-lisp/lisp-mode.el (eval-defun-1): Handle standard value of
a defcustom that is quoted with backquote.
2012-08-07 23:52:54 +02:00
Chong Yidong
c7feb5c081 Update cl-loaddefs.el. 2012-08-07 12:50:55 +08:00
Stefan Monnier
ea3768613f * lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Fix handling of
re-binding a symbol that has a symbol-macro.

Fixes: debbugs:12119
2012-08-06 15:53:45 -04:00
Chong Yidong
b7ccbdc2e3 In Imenu, don't show defvars with no second argument.
* lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression): Don't
show defvars which have no second argument.

* lisp/imenu.el (imenu-generic-expression): Move documentation here
from imenu--generic-function.
(imenu--generic-function): Refer to imenu-generic-expression.

Fixes: debbugs:8638
2012-08-05 22:14:54 +08:00
Chong Yidong
f47188fe02 lisp/emacs-lisp/rx.el: Remove dead URL from commentary. 2012-08-02 16:12:36 +08:00
Glenn Morris
837b365b2a Move NT-specific include file to the NT include directory
* nt/inc/ms-w32.h: Move here from ../src/s.
* nt/config.nt (config_opsysfile): Change to <ms-w32.h>.

* s/ms-w32.h: Move to ../nt/inc.
* src/makefile.w32-in (TAGS, TAGS-gmake, MS_W32_H):
Update for new ms-w32.h location.

* lib-src/makefile.w32-in (MS_W32_H): Update for new ms-w32.h location.

* lib/makefile.w32-in (MS_W32_H): Update for new ms-w32.h location.

* lisp/emacs-lisp/authors.el (authors-renamed-files-alist): Add ms-w32.h.
2012-08-01 23:19:48 -07:00
Stefan Monnier
670d85ea14 * lisp/mouse.el (popup-menu): Fix last change. 2012-07-25 21:29:24 -04:00
Stefan Monnier
7abaf5ccc9 Autoload more carefully from Lisp. Follow aliases for function properties.
* lisp/subr.el (autoloadp): New function.
(symbol-file): Use it.
(function-get): New function.
* lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Use function-get and
autoload-do-load.
* lisp/emacs-lisp/lisp-mode.el (lisp-font-lock-syntactic-face-function)
(lisp-indent-function):
* lisp/emacs-lisp/gv.el (gv-get):
* lisp/emacs-lisp/edebug.el (get-edebug-spec, edebug-basic-spec):
* lisp/emacs-lisp/byte-opt.el (byte-optimize-form):
* lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
* lisp/emacs-lisp/autoload.el (make-autoload, autoload-print-form):
Use function-get.
* lisp/emacs-lisp/cl.el: Don't propagate function properties any more.

* src/eval.c (Fautoload_do_load): Rename from do_autoload, export to Lisp,
add argument, tune behavior, and adjust all callers.

* lisp/speedbar.el (speedbar-add-localized-speedbar-support):
* lisp/emacs-lisp/disass.el (disassemble-internal):
* lisp/desktop.el (desktop-load-file):
* lisp/help-fns.el (help-function-arglist, find-lisp-object-file-name)
(describe-function-1):
* lisp/emacs-lisp/find-func.el (find-function-noselect):
* lisp/emacs-lisp/elp.el (elp-instrument-function):
* lisp/emacs-lisp/advice.el (ad-has-proper-definition):
* lisp/apropos.el (apropos-safe-documentation, apropos-macrop):
* lisp/emacs-lisp/debug.el (debug-on-entry):
* lisp/emacs-lisp/cl-macs.el (cl-compiler-macroexpand):
* lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
* lisp/calc/calc.el (name): Use autoloadp & autoload-do-load.
2012-07-25 21:27:33 -04:00
Christopher Schmidt
f08088e354 In pp-display-expression select old selected window only if it is still live (Bug#12034).
* emacs-lisp/pp.el (pp-display-expression): Select old selected
window only if it is still live (Bug#12034).
2012-07-25 11:43:12 +02:00
Chong Yidong
257210319f Merge from emacs-24 branch; up to 2012-05-01T10:20:43Z!rgm@gnu.org 2012-07-21 14:13:23 +08:00
Stefan Monnier
5db81e3362 * lisp/emacs-lisp/chart.el: Use lexical-binding.
(chart-emacs-storage): Don't hardcode the list of entries.
* src/alloc.c (Fgarbage_collect): Tweak docstring.
2012-07-19 07:39:38 -04:00
Dmitry Antipov
5b835e1d6e Tweak the value returned from Fgarbage_collect again.
* src/alloc.c (Fgarbage_collect): New return value, as confirmed in
http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00418.html.
Adjust documentation.
(total_vector_bytes): Rename to total_vector_slots, adjust
accounting.
(total_free_vector_bytes): Rename to total_free_vector_slots,
adjust accounting.
(Qstring_bytes, Qvector_slots): New symbols.
(syms_of_alloc): DEFSYM them.
* lisp/emacs-lisp/chart.el (chart-emacs-storage): Adjust again.
2012-07-19 13:50:01 +04:00
Stefan Monnier
d0b822e38a * lisp/userlock.el, emacs-lisp/map-ynp.el: Declare part of `emacs' package.
* lisp/progmodes/bug-reference.el, lisp/misearch.el: Provide themselves.

Fixes: debbugs:11915
2012-07-18 07:44:13 -04:00
Stefan Monnier
12999ea83f * lisp/emacs-lisp/eieio.el: Adapt further to gv.el.
(eieio-defclass): Use gv-define-setter when possible.

Fixes: debbugs:11970
2012-07-18 03:20:04 -04:00
Dmitry Antipov
3ab6e06969 Return more descriptive data from Fgarbage_collect.
Suggested by Stefan Monnier in
http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00369.html.
* src/alloc.c (bounded_number): New function.
(total_buffers, total_vectors): New variable.
(total_string_size): Rename to total_string_bytes, adjust users.
(total_vector_size): Rename to total_vector_bytes, adjust users.
(sweep_vectors): Account total_vectors and total_vector_bytes.
(Fgarbage_collect): New return value.  Adjust documentation.
(gc_sweep): Account total_buffers.
(Fmemory_free, Fmemory_use_counts): Use bounded_number.
(VECTOR_SIZE): Remove.
* src/data.c (Qfloat, Qvector, Qsymbol, Qstring, Qcons): Make global.
(Qinterval, Qmisc): New symbols.
(syms_of_data): Initialize them.
* src/lisp.h (Qinterval, Qsymbol, Qstring, Qmisc, Qvector, Qfloat)
(Qcons, Qbuffer): New declarations.
* lisp/emacs-lisp/chart.el (chart-emacs-storage): Change to
reflect new format of data returned by Fgarbage_collect.
2012-07-18 09:44:36 +04:00
Stefan Monnier
88ecaf8fa5 * lisp/emacs-lisp/cl-macs.el (cl-progv): Use a properly prefixed var name. 2012-07-17 08:58:25 -04:00
Stefan Monnier
ef501ef01c * lisp/emacs-lisp/elint.el (elint-find-args-in-code):
Use help-function-arglist, so as to handle lexical byte-code.
2012-07-17 08:30:48 -04:00
Stefan Monnier
efc26dbecd * lisp/progmodes/sh-script.el (sh-syntax-propertize-function): Mark "${#VAR"
as not-a-comment.
* test/indent/shell.sh: Add test case for ${#VAR}.

Fixes: debbugs:11946
2012-07-17 04:38:12 -04:00
Stefan Monnier
f5695c9afd Misc minor changes.
* lisp/xt-mouse.el (xterm-mouse-translate-1, xterm-mouse-event-read):
Use read-event since we don't really want to read chars but bytes.
* lisp/emacs-lisp/macroexp.el (macroexp-let2): Use more informative names
for uninterned vars.
2012-07-17 04:15:06 -04:00
Andreas Schwab
7f5b319886 Fixes: debbugs:11938
* emacs-lisp/cl.el (labels): Remove spurious quote.
2012-07-13 20:15:22 +02:00