Commit graph

64082 commits

Author SHA1 Message Date
Stefan Monnier
4cd31cf019 (cl-defsubst): Ignore false-positive occurrences of args via &cl-defs
Fixes: debbugs:20149

* lisp/emacs-lisp/cl-macs.el (cl-defsubst): Ignore false-positive
occurrences of args via &cl-defs.
2015-03-20 16:29:21 -04:00
Alan Mackenzie
932d0fdb4f Fix debbugs#20146
* font-lock.el (font-lock-extend-jit-lock-region-after-change):
Return the calculated values, as per spec.
2015-03-20 15:39:37 +00:00
Eric Abrahamsen
1fcc552ac2 lisp/gnus/registry.el (registry-prune): Allow registry to reach full size before pruning 2015-03-20 10:49:41 +00:00
Eric Abrahamsen
b8ea3aa9db lisp/gnus/registry.el (registry-collect-prune-candidates): Fix call to cl-subseq 2015-03-20 10:49:06 +00:00
Glenn Morris
395a76ad1c # ChangeLog fixes
Using eg add-change-log-entry-other-window, C-x 4 a, would avoid these issues
2015-03-19 23:02:28 -07:00
Dmitry Gutov
8142fc97af ruby-mode: Fix a "required arguments" confusion
* lisp/progmodes/ruby-mode.el (ruby-font-lock-keywords): Move `at_exit'
and `callcc' to the "methods with required arguments" section,
they need a block argument.  Remove a `throw' duplicate.
2015-03-20 07:03:54 +02:00
Vibhav Pant
3ffcf0e3de Call delete-backward-space interactively.
* lisp/progmodes/cperl-mode.el (cperl-electric-backspace):
 Call delete-backward-space interactively instead of delete-char.

* lisp/Changelog: Fix previous changelog.
2015-03-20 01:43:37 +05:30
Stefan Monnier
8aa13d07fe * lisp/emacs-lisp/pcase.el (pcase-lambda): Rewrite. 2015-03-19 13:46:36 -04:00
Stefan Monnier
29f7f98b7c Fixes: debbugs:20141
* lisp/emacs-lisp/eieio.el (object-slots): Return slot names as before.
2015-03-19 10:35:52 -04:00
Stefan Monnier
50c117fe86 EIEIO: Change class's representation to unify instance & class slots
* lisp/emacs-lisp/eieio-core.el (eieio--class): Change field names and order
to match those of cl--class; use cl--slot for both instance slots and
class slots.
(eieio--object-num-slots): Use cl-struct-slot-info.
(eieio--object-class): Rename from eieio--object-class-object.
(eieio--object-class-name): Remove.
(eieio-defclass-internal): Adjust to new slot representation.
Store doc in class rather than in `variable-documentation'.
(eieio--perform-slot-validation-for-default): Change API to take
a slot object.
(eieio--slot-override): New function.
(eieio--add-new-slot): Rewrite.
(eieio-copy-parents-into-subclass): Rewrite.
(eieio--validate-slot-value, eieio--validate-class-slot-value)
(eieio-oref-default, eieio-oset-default)
(eieio--class-slot-name-index, eieio-set-defaults): Adjust to new
slot representation.
(eieio--c3-merge-lists): Simplify.
(eieio--class/struct-parents): New function.
(eieio--class-precedence-bfs): Use it.

* lisp/emacs-lisp/eieio.el (with-slots): Use macroexp-let2.
(object-class-fast): Change recommend replacement.
(eieio-object-class): Rewrite.
(slot-exists-p): Adjust to new slot representation.
(initialize-instance): Adjust to new slot representation.
(object-write): Adjust to new slot representation.

* lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
Manually map initargs to slot names.
(eieio-persistent-validate/fix-slot-value): Adjust to new
slot representation.

* lisp/emacs-lisp/eieio-compat.el (eieio--generic-static-symbol-specializers):
Extract from eieio--generic-static-symbol-generalizer.
(eieio--generic-static-symbol-generalizer): Use it.

* lisp/emacs-lisp/eieio-custom.el (eieio-object-value-create)
(eieio-object-value-get): Adjust to new slot representation.

* lisp/emacs-lisp/eieio-datadebug.el (data-debug/eieio-insert-slots):
Declare to silence warnings.
(data-debug-insert-object-button): Avoid `object-slots'.
(data-debug/eieio-insert-slots): Adjust to new slot representation.

* lisp/emacs-lisp/eieio-opt.el (eieio--help-print-slot): New function
extracted from eieio-help-class-slots.
(eieio-help-class-slots): Use it.  Adjust to new slot representation.

* test/automated/eieio-test-methodinvoke.el (make-instance): Use new-style
`subclass' specializer for a change.

* test/automated/eieio-test-persist.el (persist-test-save-and-compare):
Adjust to new slot representation.

* test/automated/eieio-tests.el (eieio-test-17-virtual-slot): Don't use
initarg in `oset'.
(eieio-test-32-slot-attribute-override-2): Adjust to new
slot representation.

* lisp/emacs-lisp/cl-preloaded.el (cl--class): Fix type of `parents'.
2015-03-18 23:02:26 -04:00
Vibhav Pant
f469024eea Use delete-char instead of delete-backward-char.
* lisp/leim/quail/hangul.el
* lisp/progmodes/cperl-mode.el: Use delete-char instead of
delete-backward-char, fixes compilation warnings.
2015-03-19 06:45:58 +05:30
Michael Albinus
611a4791a4 Mark apostrophs with ?/ instead of \037 in Tramp
Fixes: debbugs:20117

* net/tramp-sh.el (tramp-do-directory-files-and-attributes-with-stat):
Mark apostrophs with ?/ instead of \037.
2015-03-18 20:32:16 +01:00
Stefan Monnier
8dfff871bd * cl-generic.el (cl-generic-generalizers): Clean up after braindamage 2015-03-18 10:49:55 -04:00
Stefan Monnier
872481d9e2 Add classes as run-time descriptors of cl-structs.
* lisp/emacs-lisp/cl-preloaded.el (cl--struct-get-class): New function.
(cl--make-slot-desc): New constructor.
(cl--plist-remove, cl--struct-register-child): New functions.
(cl-struct-define): Rewrite.
(cl-structure-class, cl-structure-object, cl-slot-descriptor)
(cl--class): New structs.
(cl--struct-default-parent): Initialize it here.
* lisp/emacs-lisp/cl-macs.el (cl--find-class): New macro.
(cl-defsubst, cl--defsubst-expand, cl--sublis): Move before first use.
(cl--struct-default-parent): New var.
(cl-defstruct): Adjust to new representation of classes; add
default parent.  In accessors, signal `wrong-type-argument' rather than
a generic error.
(cl-struct-sequence-type, cl-struct-slot-info)
(cl-struct-slot-offset): Rewrite.
* lisp/emacs-lisp/cl-generic.el (cl--generic-struct-specializers)
(cl-generic-generalizers): Rewrite.
* src/alloc.c (purecopy): Handle hash-tables.

* lisp/emacs-lisp/debug.el (debug--implement-debug-on-entry):
Bind inhibit-debug-on-entry here...
(debug): Instead of here.

* lisp/emacs-lisp/macroexp.el (macroexp--debug-eager): New var.
(internal-macroexpand-for-load): Use it.

* lwlib/xlwmenu.c (pop_up_menu): Remove debugging code.
2015-03-18 10:31:07 -04:00
Dima Kogan
fd93edbb1c Have gud-display-line not display source buffer in gud window.
* lisp/progmodes/gud.el (gud-display-line): Make display-buffer
not reuse selected window.  (Bug#17675, Bug#19901, Bug#20034)
2015-03-18 08:15:54 +01:00
Tassilo Horn
9fdc166ee0 Improve dynamic elisp keyword font-locking
* emacs-lisp/byte-run.el (macro-declarations-alist): New
declaration no-font-lock-keyword.
(defmacro): Flush font-lock in existing elisp buffers.

* emacs-lisp/lisp-mode.el (lisp--el-update-after-load)
(lisp--el-update-macro-regexp, lisp--el-macro-regexp): Delete
functions and defconst.
(lisp--el-match-keyword): Rename from lisp--el-match-macro.
(lisp--el-font-lock-flush-elisp-buffers): New function.
(lisp-mode-variables): Remove code for updating
lisp--el-macro-regexp, and add
lisp--el-font-lock-flush-elisp-buffers to after-load-functions.
2015-03-18 07:44:01 +01:00
Paul Eggert
1a93b9145d * lisp/net/browse-url.el: Omit confusing documentation. 2015-03-17 20:55:34 -07:00
Paul Eggert
f9e354ebea Spelling and wording fixes 2015-03-17 17:11:14 -07:00
Simen Heggestøyl
7ec63a3afa Update CSS property list
* textmodes/css-mode.el (css-extract-keyword-list): Remove function in
favor of manual extraction.
(css-extract-parse-val-grammar): Remove function in favor of
manual extraction.
(css-extract-props-and-vals): Remove function in favor of manual
extraction.
(css-at-ids): Update list of CSS at-rule ids.
(css-property-ids): Update list of CSS properties.
2015-03-17 23:11:55 +01:00
Simen Heggestøyl
62fde9ee0f Add support for completion in `css-mode'
* textmodes/css-mode.el (css--complete-property): New function for
completing CSS properties.
(css--complete-pseudo-element-or-class): New function for
completing CSS pseudo-elements and pseudo-classes.
(css--complete-at-rule): New function for completing CSS at-rules.
(css-completion-at-point): New function providing completion for
`css-mode'.
(css-mode): Add support for completion.
2015-03-17 22:58:13 +01:00
Simen Heggestøyl
64db0c26fa Discriminate between pseudo-classes and -elements
* textmodes/css-mode.el (css--font-lock-keywords): Discriminate
between pseudo-classes and pseudo-elements.
(css-pseudo-ids): Remove.
(css-pseudo-class-ids): New variable.
(css-pseudo-element-ids): New variable.
2015-03-17 22:50:10 +01:00
Bozhidar Batsov
5b77d81840 Separate Kernel methods with required args from those without 2015-03-17 23:40:20 +02:00
Bozhidar Batsov
771978259e Font-lock more Kernel methods as built-in 2015-03-17 22:41:36 +02:00
Michael Albinus
7cf5b3748c Avoid leading tabs in shell scripts, sent by Tramp.
Fixes: debbugs:20118

* tramp-sh.el (tramp-maybe-send-script): Avoid leading tabs in
shell scripts.
2015-03-17 20:07:38 +01:00
Eli Zaretskii
e70a1f9b42 lisp/mouse.el: Fix last change. 2015-03-17 20:38:48 +02:00
Eli Zaretskii
0fe787e21c Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs 2015-03-17 20:32:04 +02:00
Stefan Monnier
6f73c465a8 * cl-macs.el (cl--transform-lambda): Refine last change.
Fixes: debbugs:20125

* test/automated/cl-lib-tests.el: Use lexical-binding.
(cl-lib-arglist-performance): Refine test to the case where one of the
fields has a non-nil default value.  Use existing `mystruct' defstruct.
(cl-lib-struct-accessors): Use `pcase' to be a bit more flexible in the
accepted outputs.
2015-03-17 14:30:42 -04:00
Eli Zaretskii
330cf1a717 Resurrect the lost optional fixed font menu on w32
lisp/mouse.el (mouse-appearance-menu): If w32-use-w32-font-dialog is
 nil, construct a menu of fixed fonts.  This resurrects a feature
 lost in Emacs 23.
 lisp/w32-vars.el (w32-use-w32-font-dialog): Add a ':set' function to
 reset mouse-appearance-menu-map, so the font dialog is recomputed
 the next time the menu is requested.
 (w32-fixed-font-alist): Fix to use correct names of Courier fonts.
2015-03-17 20:29:55 +02:00
Michael Albinus
508049aae9 Change test for ControlPath in order to avoid DNS timeouts.
Fixes: debbugs:20015

* net/tramp-sh.el (tramp-ssh-controlmaster-options): Change test
for ControlPath in order to avoid DNS timeouts.
2015-03-17 10:18:10 +01:00
Alan Mackenzie
b0743354e5 Edebug: Allow "S" to work during trace mode. Fixes debbugs #20074.
Also display the overlay arrow in go and go-nonstop modes.

* emacs-lisp/edebug.el (edebug--display-1): Move the
`input-pending' test to after trace mode's `sit-for'.
(edebug--recursive-edit): Insert "(sit-for 0)" after
"(edebug-overlay-arrow)".
2015-03-16 22:10:00 +00:00
Stefan Monnier
801eda8a2a * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda): Optimize &aux.
Rework to avoid cl--do-arglist in more cases; add comments to explain what's
going on.
(cl--do-&aux): New function extracted from cl--do-arglist.
(cl--do-arglist): Use it.
* lisp/emacs-lisp/cl-generic.el: Add Version: header, for ELPA purposes.
2015-03-16 16:11:38 -04:00
Stefan Monnier
f925fc93ba Add predicate' arg to read-buffer' and use it for erc-iswitchb
Fixes: debbugs:20116

* src/minibuf.c (Fread_buffer): Add `predicate' argument.
* src/callint.c (Fcall_interactively): Adjust calls accordingly.

* lisp/erc/erc.el (erc-switch-to-buffer): Rename from erc-iswitchb and rewrite
using read-buffer.
(erc--buffer-p): New function, extracted from erc-buffer-filter.
(erc-buffer-filter): Use it.
(erc-with-all-buffers-of-server): Silence compile warning if the return
value is unused.
(erc-is-valid-nick-p, erc-common-server-suffixes, erc-get-arglist)
(erc-command-name, erc-popup-input-buffer): Use \` and \' to match
beg/end of string.

* lisp/obsolete/iswitchb.el (iswitchb-read-buffer): Add `predicate' arg.
* lisp/isearchb.el (isearchb-iswitchb): Adjust accordingly.
* lisp/ido.el (ido-read-buffer): Add `predicate' argument.
* lisp/misearch.el (unload-function-defs-list): Declare before use.
2015-03-16 14:49:01 -04:00
Vibhav Pant
43a847c02c Fixes: debbugs:19335
* net/browse-url.el (browse-url-browser-function): Add "Conkeror".
(browse-url-conkeror-program, browse-url-conkeror-arguments)
(browse-url-conkeror-new-window-is-buffer): New defcustoms.
(browse-url-default-browser): Check for `browse-url-conkeror'
and call `browse-url-conkeror-program'.
(browse-url-conkeror): New command.
(bug#19863)

* etc/NEWS: Mention added support for Conkeror.
2015-03-17 05:27:23 +05:30
Vibhav Pant
ab4e4cc92c Add 'clear' functionality to eshell.
* eshell/esh-mode.el (eshell/clear): New function.

* etc/NEWS: Mention new built-in command.
2015-03-17 05:01:59 +05:30
Alan Mackenzie
3eb4d23a7c Make Edebug work with Follow Mode.
* emacs-lisp/edebug.el (edebug--display-1): Remove call to
edebug-adjust-window.
(edebug--recursive-edit): Don't bind pre/post-command-hooks to nil
over the recursive edit.
(edebug-adjust-window): Remove.
2015-03-16 14:48:09 +00:00
Stefan Monnier
8599360928 (url-insert-file-contents): Set buffer-file-coding-system
Fixes: debbugs:20010

* lisp/url/url-handlers.el (url-insert-file-contents): Call
after-insert-file-set-coding like insert-file-contents, to set
buffer-file-coding-system.
2015-03-15 14:21:04 -04:00
Michael Albinus
28caedba0f In Tramp. check ssh Control* options only when needed
Fixes: debbugs:20015

* net/tramp-adb.el:
* net/tramp-gvfs.el:
* net/tramp-sh.el:
* net/tramp-smb.el: Set tramp-autoload cookie for all defcustoms.

* net/tramp-sh.el (tramp-use-ssh-controlmaster-options):
New defcustom, moved from tramp.el.
(tramp-ssh-controlmaster-options): New defvar, moved from tramp.el
but with a nil initial value.
(tramp-ssh-controlmaster-options): New defun.
(tramp-do-copy-or-rename-file-out-of-band)
(tramp-maybe-open-connection): Use it.

* net/tramp.el (tramp-ssh-controlmaster-options)
(tramp-use-ssh-controlmaster-options): Move them to tramp-sh.el.
(tramp-default-method): Do not check for
`tramp-ssh-controlmaster-options'.
2015-03-15 16:07:03 +01:00
Tassilo Horn
51e7e463e9 Font-lock elisp macros/special forms dynamically
* emacs-lisp/lisp-mode.el (lisp--el-macro-regexp): New defconst.
(lisp--el-update-macro-regexp, lisp--el-update-after-load)
(lisp--el-match-macro): New functions.
(lisp-mode-variables): Update lisp--el-macro-regexp and add
lisp--el-update-after-load to after-load-functions.
2015-03-15 09:20:13 +01:00
Daniel Colascione
994168240a Support indenting backquote substitutions in cl-indent
* lisp/emacs-lisp/cl-indent.el
(lisp-indent-backquote-substitution-mode): New user option.
(common-lisp-indent-function-1, common-lisp-loop-part-indentation)
(common-lisp-indent-function): Support normally indenting
backquote substitutions.
(extended-loop-p): Rename to `lisp-extended-loop-p'.
2015-03-15 00:17:14 -07:00
Michael R. Mauger
2f12fc56bf Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs 2015-03-14 23:51:44 -04:00
Michael R. Mauger
84a6685660 2015-03-14 Michael R. Mauger <michael@mauger.com>
* progmodes/sql.el: Version 3.5
(sql-starts-with-prompt-re, sql-ends-with-prompt-re): Match password prompts.
(sql-interactive-remove-continuation-prompt): Fixed regression. (Bug#6686)
2015-03-14 23:05:28 -04:00
Daniel Colascione
554001dfa9 Type checking for `define-widget'
* lisp/widget.el (define-widget): Check that documentation is a string
or nil; prevent wailing and gnashing of teeth when users forget to
pass a docstring and wonder why their properties don't work.
2015-03-14 16:32:04 -07:00
Daniel Colascione
3bf369928e Add --no-x-resources option
* lisp/startup.el (command-line): Process "--no-x-resources".

* src/emacs.c (standard_args): Add --no-x-resources.
(usage_message): Document that -Q implies --no-x-resources.
2015-03-14 14:53:33 -07:00
Paul Eggert
a605a790a5 Fix ChangeLog typo 2015-03-13 11:14:57 -07:00
Kevin Ryde
f5a0faac13 info-look fixes for Texinfo 5
* info-look.el (c-mode, bison-mode, makefile-mode)
(makefile-automake-mode, texinfo-mode, autoconf-mode, awk-mode)
(latex-mode, emacs-lisp-mode, sh-mode, cfengine-mode): Match
`foo' and 'foo' and ‘foo’ for @item and similar.
(latex-mode): Match multi-arg \frac{num}{den} or \sqrt[root]{n} in
suffix regexp.
2015-03-13 11:07:18 -07:00
Juri Linkov
b91eafe31a Support goal column in multi-line minibuffer
* lisp/simple.el (next-line-or-history-element)
(previous-line-or-history-element): Remember the goal column of
possibly multi-line input, and restore it afterwards.

Fixes: debbugs:19824
2015-03-12 22:22:22 +02:00
Rasmus Pank Roulund
ac4cce624c Fixes: debbugs:19335
* lisp/ido.el (ido-add-virtual-buffers-to-list): Include bookmark-alist files
2015-03-12 15:02:55 -04:00
Eli Zaretskii
fc10058a4f Fix support of scripts in w32font.c (Bug#19993)
src/w32font.c (font_supported_scripts): Add subranges for Latin
 Supplement, Latin Extended-A/B, Vai, Supplemental Punctuation, Tai
 Le, Buginese, Yijing Hexagrams, Ancient Greek Numbers, Tai Xuan
 Jing, Counting Rods, Sundanese, Lepcha, Ol Chiki, Saurashtra,
 Kayah Li, Rejang, Ancient Symbols, Phistos Disc, Carian, Lycian,
 Lydian, Dominoe Tiles, and Mahjong Tiles.  Break the Mathematical
 Alphanumeric Symbols into several "scripts" like fontset.el does.
 (syms_of_w32font): DEFSYM all the new script symbols.

 lisp/international/fontset.el (script-representative-chars): Add a
 representative character for 'vai'.
2015-03-12 19:34:45 +02:00
Stefan Monnier
2401274b23 * international/quail.el (quail-input-method): Use with-silent-modifications 2015-03-11 11:06:11 -04:00
Stefan Monnier
b90f502cc1 * lisp/gnus/registry.el (registry-db): Don't oset-default an instance slot.
* lisp/gnus/gnus-registry.el (gnus-registry-handle-action)
(gnus-registry-post-process-groups): Don't add-to-list on a local var.
(gnus-registry-keywords): Make it do something.
(gnus-registry-import-eld): Remove unused var `new-entry'.
(gnus-registry-action): Remove unused var `to-name'.
(gnus-registry-make-db): Prefer `make-instance' to avoid
compiler warnings.
(gnus-registry-load, gnus-registry-fixup-registry): Avoid `oset'.
2015-03-11 11:00:25 -04:00