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

59462 commits

Author SHA1 Message Date
Stefan Monnier
781b4af61d * lisp/emacs-lisp/edebug.el (edebug-result): Move before first use.
* lisp/subr.el (load-history-regexp, load-history-filename-element)
(eval-after-load, after-load-functions, do-after-load-evaluation)
(eval-next-after-load, display-delayed-warnings)
(collapse-delayed-warnings, delayed-warnings-hook): Move after the
definition of save-match-data.
(overriding-local-map): Remove accidental obsolescence declaration.
2013-06-05 10:57:45 -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
Alan Mackenzie
3caa391f0a Add ChangeLog entry for version #112847. 2013-06-05 12:45:51 +00:00
Leo Liu
976cb06628 Re-implement smie matching block highlight using show-paren-data-function.
* emacs-lisp/smie.el (smie-matching-block-highlight)
(smie--highlight-matching-block-overlay)
(smie--highlight-matching-block-lastpos)
(smie-highlight-matching-block)
(smie-highlight-matching-block-mode): Remove.
(smie--matching-block-data-cache): New variable.
(smie--matching-block-data): New function.
(smie-setup): Use smie--matching-block-data for
show-paren-data-function.

* progmodes/octave.el (octave-mode-menu): Fix.
(octave-find-definition): Skip garbage lines.

Fixes: debbugs:14395
2013-06-05 15:40:02 +08:00
Stefan Monnier
208d0342a3 Fix compilation error with simultaneous dynamic+lexical scoping.
Add warning when a defvar appears after the first let-binding.
* lisp/emacs-lisp/bytecomp.el (byte-compile-lexical-variables): New var.
(byte-compile-close-variables): Initialize it.
(byte-compile--declare-var): New function.
(byte-compile-file-form-defvar)
(byte-compile-file-form-define-abbrev-table)
(byte-compile-file-form-custom-declare-variable): Use it.
(byte-compile-make-lambda-lexenv): Change the argument.  Simplify.
(byte-compile-lambda): Share call to byte-compile-arglist-vars.
(byte-compile-bind): Handle dynamic bindings that shadow
lexical bindings.
(byte-compile-unbind): Make arg non-optional.
(byte-compile-let): Simplify.
* lisp/emacs-lisp/cconv.el (byte-compile-lexical-variables): Declare var.
(cconv--analyse-function, cconv-analyse-form): Populate it.
Protect byte-compile-bound-variables to limit the scope of defvars.
(cconv-analyse-form): Add missing rule for (defvar <foo>).
Remove unneeded rule for `declare'.

* lisp/emacs-lisp/cl-macs.el (cl--compiler-macro-adjoin): Use macroexp-let2
so as to avoid depending on cl-adjoin at run-time.
* lisp/emacs-lisp/cl-lib.el (cl-pushnew): Use backquotes.

* lisp/emacs-lisp/macroexp.el (macroexp--compiling-p): New function.
(macroexp--warn-and-return): Use it.
2013-06-04 22:35:40 -04:00
Stefan Monnier
bfa3acd65b * src/keymap.c (Fcurrent_active_maps, Fdescribe_buffer_bindings):
* src/keyboard.c (menu_bar_items, tool_bar_items):
* src/doc.c (Fsubstitute_command_keys): Voverriding_terminal_local_map does
not override local keymaps any more.
2013-06-04 21:58:43 -04:00
Leo Liu
2587b005f0 * eshell/esh-mode.el (eshell-mode): Fix key bindings. 2013-06-05 09:19:33 +08:00
Leo Liu
f1da3c8807 * progmodes/compile.el (compile-goto-error): Add optional arg NOMSG.
(compilation-auto-jump): Suppress the "Mark set" message to give
way to exit message.
2013-06-05 07:52:06 +08:00
Alan Mackenzie
6490c52ee8 Remove faulty optimisation from indentation calculation.
* progmodes/cc-engine.el (c-guess-basic-syntax): Don't calculate
        search limit based on 2000 characters back from indent-point.
2013-06-04 13:26:15 +00:00
Katsumi Yamaoka
923c1bfc1e gnus-art.el: Don't assume Date header begins with "Date" 2013-06-04 08:14:23 +00:00
Xue Fuqiao
c362f19508 Merge from mainline. 2013-06-04 07:34:27 +08:00
Tassilo Horn
068922a297 * eshell/em-term.el (cl-lib): Require `cl-lib'. 2013-06-03 20:12:51 +02:00
Stefan Monnier
bbcc4d9744 * lisp.el: Provide completion of locally bound variables in Elisp.
* lisp/emacs-lisp/lisp.el: Use lexical-binding.
(lisp--local-variables-1, lisp--local-variables): New functions.
(lisp--local-variables-completion-table): New var.
(lisp-completion-at-point): Use it to provide completion of let-bound vars.
2013-06-03 11:40:35 -04:00
Stefan Monnier
1f8fdd5391 * lisp/emacs-lisp/lisp-mode.el (eval-sexp-add-defvars): Expand macros
eagerly.

Fixes: debbugs:14422
2013-06-03 11:28:10 -04:00
Michael Albinus
c9628c79bb * configure.ac (file-notification): New option, replaces inotify option.
(HAVE_W32): Remove w32notify.o.
(with_file_notification): Add checks for glib and w32. Adapt check
for inotify.
(Summary): Add entry for file notification.

* autogen/config.in: Add entries for HAVE_GFILENOTIFY,
HAVE_W32NOTIFY and USE_FILE_NOTIFY.

* lisp/autorevert.el (auto-revert-notify-enabled)
(auto-revert-notify-rm-watch, auto-revert-notify-add-watch)
(auto-revert-notify-event-p, auto-revert-notify-event-file-name)
(auto-revert-notify-handler): Handle also gfilenotify.

* lisp/subr.el: (file-notify-handle-event): New defun. Replacing ...
(inotify-event-p, inotify-handle-event, w32notify-handle-event):
Removed.

* src/Makefile.in (NOTIFY_OBJ): New variable.
(base_obj): Replace inotify.o by $(NOTIFY_OBJ).

* src/emacs.c (main): Use HAVE_W32NOTIFY to wrap respective code.
Call syms_of_gfilenotify.

* src/gfilenotify.c: New file.

* src/keyboard.c (Qfile_notify): New variable.  Replaces Qfile_inotify
and Qfile_w32notify.
(top): Wrap respective code by HAVE_GFILENOTIFY, HAVE_INOTIFY,
HAVE_W32NOTIFY and USE_FILE_NOTIFY.

* src/lisp.h: Declare syms_of_gfilenotify.

* src/termhooks.h (e): Wrap enum by USE_FILE_NOTIFY.
2013-06-03 15:03:05 +02:00
Juri Linkov
e5e4a94293 Search and highlight symbol at point.
* doc/emacs/display.texi (Highlight Interactively): Add global keybindings
with the key prefix `M-s h'.  Document old command `highlight-phrase'.
Document new command `highlight-symbol-at-point'.

* lisp/bindings.el (search-map): Bind `highlight-symbol-at-point' to
`M-s h .'. 

* lisp/hi-lock.el (highlight-symbol-at-point): New alias for the new
command `hi-lock-face-symbol-at-point'.
(hi-lock-face-symbol-at-point): New command.
(hi-lock-map): Bind `highlight-symbol-at-point' to `C-x w .'.
(hi-lock-menu): Add `highlight-symbol-at-point'.
(hi-lock-mode): Doc fix.

* lisp/isearch.el (isearch-forward-symbol-at-point): New command.
(search-map): Bind `isearch-forward-symbol-at-point' to `M-s .'.
(isearch-highlight-regexp): Add a regexp which matches
words/symbols for word/symbol mode.

* lisp/subr.el (find-tag-default-bounds): New function with the body
mostly moved from `find-tag-default'.
(find-tag-default): Move most code to `find-tag-default-bounds',
call it and apply `buffer-substring-no-properties' afterwards.

Fixes: debbugs:14427
2013-06-03 11:51:50 +03:00
Tassilo Horn
26b3353ad0 * NEWS: Document eshell visual subcommands and options.
* eshell/em-term.el (eshell-term-initialize): Use
`cl-intersection' rather than `intersection'.
2013-06-03 08:34:21 +02:00
Xue Fuqiao
d3ffe17c6f Modify `log-view-mode-map'.
* vc/log-view.el (log-view-mode-map): Copy keymap from
  `special-mode-map'.
2013-06-03 07:04:43 +08:00
Glenn Morris
a2d9894673 * lisp/eshell/em-term.el: New defcustoms need :version tags. 2013-06-02 11:26:38 -07:00
David Engster
6b7a9e0eb1 Merge with CEDET upstream (rev. 8564). 2013-06-02 18:39:32 +02:00
David Engster
caaeb0e88c * lisp/cedet/srecode/srt-wy.el: Regenerate. 2013-06-02 18:37:37 +02:00
David Engster
f38a45fa9c * registry.el (initialize-instance, registry-lookup)
(registry-lookup-breaks-before-lexbind, registry-lookup-secondary)
  (registry-lookup-secondary-value, registry-search, registry-delete)
  (registry-insert, registry-reindex, registry-size, registry-prune): Do
  not wrap methods in `eval-and-compile'.  This breaks due to latest
  changes in EIEIO (introduction of eieio-core.el).
2013-06-02 16:16:31 +02:00
David Engster
890f78904a Merge from CEDET upstream (8564).
* lisp/emacs-lisp:

	* emacs-lisp/eieio.el (eieio--defalias, eieio-hook)
	(eieio-error-unsupported-class-tags, eieio-skip-typecheck)
	(eieio-optimize-primary-methods-flag, eieio-initializing-object)
	(eieio-unbound, eieio-default-superclass)
	(eieio--define-field-accessors, method-static, method-before)
	(method-primary, method-after, method-num-lists)
	(method-generic-before, method-generic-primary)
	(method-generic-after, method-num-slots)
	(eieio-specialized-key-to-generic-key)
	(eieio--check-type, class-v, class-p)
	(eieio-class-name, define-obsolete-function-alias)
	(eieio-class-parents-fast, eieio-class-children-fast)
	(same-class-fast-p, class-constructor, generic-p)
	(generic-primary-only-p, generic-primary-only-one-p)
	(class-option-assoc, class-option, eieio-object-p)
	(class-abstract-p, class-method-invocation-order)
	(eieio-defclass-autoload-map, eieio-defclass-autoload)
	(eieio-class-un-autoload, eieio-defclass)
	(eieio-eval-default-p, eieio-perform-slot-validation-for-default)
	(eieio-add-new-slot, eieio-copy-parents-into-subclass)
	(eieio--defgeneric-init-form, eieio-defgeneric-form)
	(eieio-defgeneric-reset-generic-form)
	(eieio-defgeneric-form-primary-only)
	(eieio-defgeneric-reset-generic-form-primary-only)
	(eieio-defgeneric-form-primary-only-one)
	(eieio-defgeneric-reset-generic-form-primary-only-one)
	(eieio-unbind-method-implementations)
	(eieio--defmethod, eieio--typep)
	(eieio-perform-slot-validation, eieio-validate-slot-value)
	(eieio-validate-class-slot-value, eieio-barf-if-slot-unbound)
	(eieio-oref, eieio-oref-default, eieio-default-eval-maybe)
	(eieio-oset, eieio-oset-default, eieio-slot-originating-class-p)
	(eieio-slot-name-index, eieio-class-slot-name-index)
	(eieio-set-defaults, eieio-initarg-to-attribute)
	(eieio-attribute-to-initarg, eieio-c3-candidate)
	(eieio-c3-merge-lists, eieio-class-precedence-c3)
	(eieio-class-precedence-dfs, eieio-class-precedence-bfs)
	(eieio-class-precedence-list, eieio-generic-call-methodname)
	(eieio-generic-call-arglst, eieio-generic-call-key)
	(eieio-generic-call-next-method-list)
	(eieio-pre-method-execution-functions, eieio-generic-call)
	(eieio-generic-call-primary-only, eieiomt-method-list)
	(eieiomt-optimizing-obarray, eieiomt-install)
	(eieiomt-add, eieiomt-next, eieiomt-sym-optimize)
	(eieio-generic-form, eieio-defmethod, make-obsolete)
	(eieio-defgeneric, make-obsolete): Moved to eieio-core.el
	(defclass): Remove `eval-and-compile' from macro.
	(call-next-method, shared-initialize): Instead of using
	`scoped-class' variable, use new eieio--scoped-class, and
	eieio--with-scoped-class.
	(initialize-instance): Rename local variable 'scoped-class' to
	'this-class' to remove ambiguitity from old global.

	* emacs-lisp/eieio-core.el: New file.  Derived from key parts of
	eieio.el.
	(eieio--scoped-class-stack): New variable
	(eieio--scoped-class): New fcn
	(eieio--with-scoped-class): New scoping macro.
	(eieio-defclass): Use pushnew instead of add-to-list.
	(eieio-defgeneric-form-primary-only-one, eieio-oset-default)
	(eieio-slot-name-index, eieio-set-defaults, eieio-generic-call)
	(eieio-generic-call-primary-only, eieiomt-add): Instead of using
	`scoped-class' variable, use new eieio--scoped-class, and
	eieio--with-scoped-class.

	* emacs-lisp/eieio-base.el (cl-lib): Require during compile.

* admin/grammars:

	* grammars/srecode-template.wy (variable): Accept a single number
	as a variable value.  Allows the 'priority' to be set to a number.
	(wisent-srecode-template-lexer): Move number up so it can be
	created.

* etc/srecode:

	* srecode/c.srt (header_guard): Add :c parameter so it works
	standalone

* lisp/cedet:

	* semantic/edit.el (semantic-change-function): Use
	`save-match-data' around running hooks.

	* semantic/decorate/mode.el
	(semantic-decorate-style-predicate-default)
	(semantic-decorate-style-highlighter-default): New.
	(semantic-decoration-mode): Do not require
	`semantic/decorate/include' anymore.
	(semantic-toggle-decoration-style): Error if an unknown decoration
	style is toggled.
	(define-semantic-decoration-style): Add new :load option.  When
	:load is specified, add autoload tokens for the definition
	functions so that code is loaded when the mode is used.
	(semantic-decoration-on-includes): New autoload definition for
	highlighting includes.

	* semantic/bovine/c.el (semantic-lex-c-ifdef): Allow some misc
	characters to appear after the tested variable.

	* semantic/ede-grammar.el (project-compile-target): Calculate full
	src name via ede-expand-filename instead of the crutch of the
	current buffer.  Enables this target to compile in batch mode.

	* semantic/idle.el
	(semantic-idle-symbol-maybe-highlight): Wrap highlighting of
	remote symbol with `save-excursion'.
	(semantic-idle-scheduler-work-parse-neighboring-files): Instead of
	using directory-files on each found mode pattern, collect all the
	patterns for the current mode, and then for each file, see if it
	matches any of them.  If it does, parse the file.  (Patch
	inspiration from Tomasz Gajewski.)

	* semantic/ctxt.el (semantic-ctxt-end-of-symbol): New.
	(semantic-ctxt-current-symbol-default): New.

	* semantic/bovine/el.el (semantic-default-elisp-setup): Add
	autoload cookie.  Explain existence.
	(footer): Add local variable for loaddefs.

	* semantic/db.el (semanticdb-file-table-object): Add new filter,
	only checking for regular files too.

	* semantic/wisent/python.el
	(semantic-format-tag-abbreviate): New override.  Cuts back on size
	of code tags.

	* srecode/compile.el (srecode-compile-templates): Fix warning
	punctuation.  Remove status messages to clean up testing output

	* ede/base.el (ede-project-placeholder-cache-file): Update doc to
	mention 'nil' value.
	(ede-save-cache): Disable cache save if file is nil.

	* ede.el (ede-initialize-state-current-buffer): Flush deleted
	projects.
	(global-ede-mode): Always append our find-file-hook to the end.
	(ede-flush-deleted-projects): New command.

	* ede/cpp-root.el (ede-preprocessor-map): Protect against init
	problems.

	* ede/proj.el (ede-proj-target): Added a new "custom" option for
	custom symbols representing a compiler or linker instead of
	restricting things to only the predefined compilers and linkers.

	* semantic.el (semantic-mode-map): To avoid showing showing
	Development menu twice, only disable menu item if menu-bar is
	actually enabled, otherwise the popup 'global menu' might display
	a disabled Development menu.

	* semantic/complete.el
	(semantic-displayor-show-request): Fix which slot in obj is set to
	the max tags.
2013-06-02 15:33:09 +02:00
Xue Fuqiao
fe054b6317 * vc/log-view.el: Doc fix. 2013-06-02 19:40:20 +08:00
Xue Fuqiao
51b60f531a * vc/log-view.el: Header fix. 2013-06-02 18:56:54 +08:00
Tassilo Horn
d105b0e26f * eshell/esh-ext.el (eshell-external-command): Pass args to
`eshell-find-interpreter'.
(eshell-find-interpreter): Add new second parameter ARGS.

* eshell/em-script.el (eshell-script-initialize): Add second arg
to the function added as MATCH to `eshell-interpreter-alist'

* eshell/em-dirs.el (eshell-dirs-initialize): Add second arg to
the function added as MATCH to `eshell-interpreter-alist'

* eshell/em-term.el (eshell-visual-subcommands): New defcustom.
(eshell-visual-options): New defcustom.
(eshell-escape-control-x): Adapt docstring.
(eshell-term-initialize): Test `eshell-visual-subcommands' and
`eshell-visual-options' in addition to `eshell-visual-commands'.
(eshell-exec-visual): Pass args to `eshell-find-interpreter'.
2013-06-02 11:19:09 +02:00
Juanma Barranquero
8a621d5317 lisp/ChangeLog, src/ChangeLog: Fix whitespace. 2013-06-02 05:59:46 +02:00
Glenn Morris
e1b26af7e6 ns-win comment 2013-06-01 15:35:54 -07:00
Glenn Morris
f46305c86c Merge from emacs-24; up to 2012-12-27T20:09:45Z!juri@jurta.org 2013-06-01 13:21:22 -07:00
Glenn Morris
9133b82e6f * lisp/pcmpl-gnu.el (pcomplete/tar): Check obsolete variable is bound. 2013-06-01 13:10:08 -07:00
Glenn Morris
02c992ecf3 Plain boundp silences compilation warnings since Emacs 22.1.
* progmodes/cc-defs.el (zmacs-region-stays, zmacs-regions)
(lookup-syntax-properties): Remove unecessary cc-bytecomp-defvar.
2013-06-01 13:08:52 -07:00
Glenn Morris
683853b9fe Plain fboundp silences compilation warnings since Emacs 22.1
* progmodes/cc-cmds.el (delete-forward-p):
* progmodes/cc-defs.el (buffer-syntactic-context-depth):
* progmodes/cc-engine.el (buffer-syntactic-context):
* progmodes/cc-fonts.el (face-property-instance):
* progmodes/cc-mode.el (set-keymap-parents):
* progmodes/cc-vars.el (get-char-table): No need for cc-bytecomp-defun.
* progmodes/cc-defs.el (c-set-region-active, c-beginning-of-defun-1)
* progmodes/cc-mode.el (c-make-inherited-keymap): Use plain fboundp.
2013-06-01 11:19:29 -07:00
Glenn Morris
31e7b09035 Don't (re)define a basic custom widget in cc-vars
* lisp/progmodes/cc-vars.el (other): Emacs has this widget since at
least 21.1, so don't (re)define it.
2013-06-01 11:06:56 -07:00
Glenn Morris
7225c83207 Replace obsolete function lisp-complete-symbol
* lisp/cedet/semantic/grammar.el (semantic-grammar-complete):
Replace the obsolete function lisp-complete-symbol.
2013-06-01 11:04:59 -07:00
Glenn Morris
e677c72639 Silence some cedet compilation warnings
* cedet/semantic/analyze/fcn.el (semantic-tag-similar-p): Autoload.

* cedet/srecode/args.el, cedet/srecode/java.el: Require ede.
2013-06-01 11:02:58 -07:00
Glenn Morris
fb2c90ac2f * cedet/semantic/lex.el (semantic-lex-make-type-table): Fix transposed args. 2013-06-01 11:01:45 -07:00
Glenn Morris
d870df218e * eshell/em-cmpl.el (eshell-cmpl-initialize): Replace obsolete alias 2013-06-01 11:00:14 -07:00
Glenn Morris
ad54ee69ba Auto-commit of loaddefs files. 2013-06-01 06:17:59 -04:00
Leo Liu
c75c93c7ed * progmodes/octave.el (octave-mode-syntax-table): Give `.'
punctuation syntax.
(inferior-octave-minimal-columns)
(inferior-octave-last-column-width): New variables.
(inferior-octave-track-window-width-change): New function.
(inferior-octave-mode): Adjust column width so that Octave output,
for example from 'ls', can fit into the window nicely.
2013-06-01 11:38:36 +08:00
Paul Eggert
f5d430271e Spelling fixes. 2013-05-31 10:10:10 -07:00
Dmitry Gutov
973d1e126c * lisp/progmodes/ruby-mode.el (ruby-syntax-expansion-allowed-p):
Highlight expansions inside regexp literals.
2013-05-31 20:55:03 +04:00
Glenn Morris
e26aac1f93 * sym-comp.el (symbol-complete): Replace obsolete completion-annotate-function. 2013-05-31 00:34:56 -07:00
Glenn Morris
0888c286e5 * progmodes/cc-vars.el (c-make-macro-with-semi-re): Silence compiler. 2013-05-31 00:05:55 -07:00
Dmitry Gutov
19bb8e6293 * lisp/progmodes/ruby-mode.el (ruby-syntax-expansion-allowed-p): New
function, checks if expression expansion is allowed in given parse
state.
(ruby-syntax-propertize-expansion): Use it.
(ruby-syntax-propertize-function): Bind `case-fold-search' to nil
around the body.

* test/automated/ruby-mode-tests.el: New tests, for percent literals
and expression expansion.
2013-05-31 10:04:33 +04:00
Juri Linkov
01dea85f7b * lisp/isearch.el (isearch-mode-map): Bind `isearch-toggle-invisible' to "\M-si".
(isearch-invisible): New variable.
(isearch-forward): Doc fix.
(isearch-mode): Set `isearch-invisible'
to the value of `search-invisible'.
(isearch-toggle-case-fold): Doc fix.
(isearch-toggle-invisible): New command.
(isearch-query-replace): Let-bind `search-invisible'
to the value of `isearch-invisible'.
(isearch-search): Use `isearch-invisible' instead of
`search-invisible'.  Let-bind `search-invisible'
to the value of `isearch-invisible'.

Fixes: debbugs:11378
2013-05-31 02:45:41 +03:00
Glenn Morris
8accd027c4 * lisp/progmodes/gdb-mi.el (gdb-wait-for-pending): Fix typo. 2013-05-30 19:33:08 -04:00
Juri Linkov
ab1bdce51e * lisp/replace.el (perform-replace): Avoid `isearch-range-invisible'
call when `query-flag' is nil and `search-invisible' is non-nil.

Fixes: debbugs:11746
2013-05-31 02:29:42 +03:00
Glenn Morris
2a8bed1c02 cc-bytecomp tweaks for sake of byte-compiler
* lisp/progmodes/cc-bytecomp.el (cc-bytecomp-noruntime-functions): New.
(cc-require): Suppress spurious "noruntime" warnings.
(cc-require-when-compile): Use fboundp, for sake of compiler.
2013-05-30 19:20:05 -04:00
Glenn Morris
d6d236e233 * lisp/progmodes/cc-mode.el: Move load of cc-vars before that of cc-langs
(which in turn loads cc-vars), to quieten compiler.
2013-05-30 19:18:39 -04:00
Stefan Monnier
9190b35b7d * lisp/paren.el: Simplify the code.
(show-paren-mode): Always start the timer.
(show-paren--idle-timer): Rename from show-paren-idle-timer.
(show-paren--overlay, show-paren--overlay-1): Rename from
show-paren-overlay and show-paren-overlay-1, and initialize to an
overlay rather than to nil.
(show-paren-function): Misc cleanup and simplifications.
2013-05-30 11:44:54 -04:00