1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-29 07:58:28 +00:00
Commit Graph

120776 Commits

Author SHA1 Message Date
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
Paul Eggert
41278b775b Spacing and punctuation fixes 2015-03-17 16:56:21 -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
Ken Brown
a961dcedeb Don't test "\t" in file names on Cygwin.
Fixes: debbugs:20119

* test/automated/tramp-tests.el (tramp--test-special-characters): Don't
test "\t" in file names on Cygwin.
2015-03-16 16:19:46 -04: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
Eli Zaretskii
4e5eb85425 Fix subtle problems with linum-mode and invisible text
src/xdisp.c (handle_invisible_prop): Fix up it->position even when
 we are going to load overlays at the beginning of the invisible
 text.
 (setup_for_ellipsis): Reset the ignore_overlay_strings_at_pos_p
 flag also here.
 (next_overlay_string): Set the overlay_strings_at_end_processed_p
 flag only if the overlays just processed were actually loaded at
 EOB.
2015-03-15 19:17:46 +02: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
Jan D
85f1a56f15 Mention Bug 19482 on 2015-01-06 change. 2015-03-14 16:14:09 +01: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
Paul Eggert
8e63340dca * frame.c (x_get_resource_string) [!USE_GTK]: Don't define. 2015-03-13 09:58:38 -07:00
Paul Eggert
2c59be9c67 * editfns.c, systime.h (mktime_z) [!HAVE_TZALLOC]: Now static. 2015-03-13 09:58:38 -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
Stefan Monnier
41bba4b40f * lisp/simple.el (goto-history-element): Don't burp on t history. 2015-03-11 10:54:56 -04:00
Jackson Ray Hamilton
f0e8673a9e * indent/js-indent-init-dynamic.js: Fix spelling error. 2015-03-10 22:07:10 -07:00
Paul Eggert
2a1be9eb23 Prefer "initialize" to "initialise"
* lisp/progmodes/js.el (js-indent-first-init):
Rename from js-indent-first-initialiser, to avoid worrying about
American vs British spelling.  All uses changed.
* test/indent/js-indent-init-t.js: Rename from
indent/js-indent-first-initialiser-t.js.
* test/indent/js-indent-init-dynamic.js: Rename from
test/indent/js-indent-first-initialiser-dynamic.js.
2015-03-10 16:29:59 -07:00
Glenn Morris
c3ca6a911a # Further ChangeLog fix 2015-03-10 18:46:39 -04:00
Glenn Morris
6c9681afe9 * lisp/progmodes/js.el (js-indent-first-initialiser): Fix doc, type, version.
First line of the doc string should be a complete sentence.

* etc/NEWS: Mention new option.

# Fix associated ChangeLog entries.
2015-03-10 18:40:09 -04:00
Glenn Morris
8db37916ca * lisp/gnus/message.el (message-valid-fqdn-regexp): Bump :version 2015-03-10 18:37:35 -04:00
Jackson Ray Hamilton
933e0ab4b0 New indentation option for js-mode
* lisp/progmodes/js.el (js--proper-indentation): Add new custom option
`js-indent-first-initialiser' and a function to utilize it,
`js--maybe-goto-declaration-keyword-end'.

* test/indent/js.js: Add local variables.

* test/indent/js-indent-first-initialiser-t.js: New test for
`js-indent-first-initialiser'.

* test/indent/js-indent-first-initialiser-dynamic.js: New test for
`js-indent-first-initialiser'.
2015-03-10 10:19:07 -07:00