1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-12 06:21:02 -08:00
Commit graph

65687 commits

Author SHA1 Message Date
Artur Malabarba
d976561ba2 * lisp/isearch.el (isearch-search-fun-default): Nicer error
message when the search fails.
2015-11-29 22:09:39 +00:00
Dmitry Gutov
0887bdf90b Update menu-bar-goto-uses-etags-p for the current xref API
* lisp/menu-bar.el (menu-bar-goto-uses-etags-p): Consult
xref-backend-functions, instead of now-nonexistent
xref-find-function.
2015-11-29 23:41:58 +02:00
Artur Malabarba
1e010227bb * lisp/isearch.el (isearch-define-mode-toggle): Advertise binding 2015-11-29 21:26:47 +00:00
Artur Malabarba
71d6d631ae * lisp/menu-bar.el: Use folding in searches
(nonincremental-search-forward): Use `isearch-search-fun-default'
to determine the search function.
(nonincremental-search-backward)
(nonincremental-repeat-search-forward)
(nonincremental-repeat-search-backward): Use it.
2015-11-29 21:20:33 +00:00
Artur Malabarba
468659cd36 * lisp/menu-bar.el (menu-bar-goto-uses-etags-p): Fix a warning 2015-11-29 21:14:19 +00:00
Artur Malabarba
285ed41605 * lisp/character-fold.el (character-fold-to-regexp): Be careful
not to return huge regexps.
2015-11-29 20:42:25 +00:00
Eli Zaretskii
f3bd8262a2 Document truncate-string-ellipsis
* doc/lispref/display.texi (Size of Displayed Text): Document
'truncate-string-ellipsis'.

* lisp/international/mule-util.el (truncate-string-ellipsis): Doc fix.
(truncate-string-to-width): Mention in the doc string that the
default for ELLIPSIS comes from 'truncate-string-ellipsis'.

* etc/NEWS: Move the 'truncate-string-ellipsis' entry to the "Lisp
Changes" section.
2015-11-29 19:40:08 +02:00
Alan Mackenzie
5cf012a3a8 Byte compiler: Catch missing argument to `funcall'. Fixes bug#22051.
* lisp/emacs-lisp/bytecomp.el (byte-compile-funcall): When there's no argument
to `funcall', (i) Output an error message; (ii) Generate code to signal a
`wrong-number-of-arguments' error.
2015-11-29 16:17:07 +00:00
Martin Rudalics
ca6edca242 * lisp/window.el (split-window): Don't sanitize sizes when SIZE is non-nil. 2015-11-29 10:14:00 +01:00
Artur Malabarba
747f81861c * lisp/character-fold.el (character-fold-to-regexp)
Warn about using long strings.

* test/automated/character-fold-tests.el
(character-fold--test-lax-whitespace)
(character-fold--test-consistency): Reduce string size for tests.
2015-11-28 19:57:14 +00:00
Artur Malabarba
19141a9be6 * lisp/character-fold.el: Also play nice with case-folding
(character-fold-to-regexp): Take `case-fold-search' into account.
2015-11-28 16:21:54 +00:00
Artur Malabarba
5c5997002b * lisp/character-fold.el: Add support for multi-char matches
(character-fold-table): Now has an extra-slot. This is a second
char-table that holds multi-character matches.  See docstring for
details.
(character-fold-to-regexp): Can build branching regexps when a
character's entry the extra slot of `character-fold-table' matches the
characters that succeed it.
2015-11-28 16:21:54 +00:00
Artur Malabarba
35c7dc06ed * lisp/character-fold.el: Code simplifications
(character-fold-table): Reduce the scope of a variable.
(character-fold-to-regexp): Change logic to work directly on the
input string.  It's a little easier to understand, probably
faster, and sets us up for implementing multi-char matches.

* test/automated/character-fold-tests.el
(character-fold--test-fold-to-regexp): New test.
2015-11-28 15:06:37 +00:00
Eli Zaretskii
24703a0a89 Improve documentation of search and replace commands
* doc/emacs/search.texi (Replacement and Lax Matches): Document
which commands are affected by 'replace-character-fold'.
(Lax Search): Add a cross reference to "Replacement and Lax
Matches".  Improve wording.  Fix lost extra whitespace.
(Search Customizations): Improve wording.  (Bug#22036)
See also comments in
http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02376.html.

* lisp/replace.el (query-replace, query-replace-regexp)
(query-replace-regexp-eval, replace-string, replace-regexp):
Mention 'replace-character-fold' in the doc strings.
2015-11-28 11:23:02 +02:00
Eli Zaretskii
88050ec3e4 Improve documentation of 'replace-character-fold'
* lisp/replace.el (replace-character-fold): Clarify which commands
are affected by this variable.
2015-11-27 22:11:59 +02:00
Mark Oteiza
ab10df6097 Backport: Add interactive seek command.
* lisp/mpc.el (mpc-cmd-seekcur): New function.
(mpc-seek-current): New command.
(mpc-mode-menu): Add entry for mpc-seek-current
(mpc-mode-map): Bind mpc-seek-current to "g"
2015-11-27 13:14:06 -05:00
Dmitry Gutov
a521310f9e Autoload etags when using its xref backend
* lisp/progmodes/xref.el (xref--etags-backend):
Rename to etags--xref-backend.  Move to etags.el.  Autoload.
(Bug#22026)
2015-11-27 15:22:36 +02:00
Artur Malabarba
a5f2970207 * lisp/character-fold.el: Allow complex chars to match their decomposition
(character-fold-table): When a character's decomposition does not
involve a formatting tag (i.e., if it has an "exact" description via
other characters), then this character is allowed to match the
decomposition.
2015-11-27 12:01:12 +00:00
Artur Malabarba
19e90846c4 * lisp/character-fold.el: More descriptive variable names
(character-fold-table): Rename a lot of the lexical variables to
make the code easier to read.
2015-11-27 12:00:37 +00:00
Artur Malabarba
60e1dfd820 * lisp/isearch.el: Ensure we still support `isearch-new-word'
(isearch-new-regexp-function): Define variable.
(isearch-new-word): Define as an obsolete alias. (Bug#22018)
2015-11-27 11:25:57 +00:00
Eli Zaretskii
165d6e3fdd Add ':version' tag to 'checkdoc-package-keywords-flag'
* lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag):
Add a ':version' tag.
2015-11-27 12:32:44 +02:00
Eli Zaretskii
a41cb8c4d3 Improve commentary in character-fold.el
* lisp/character-fold.el (character-fold-to-regexp): Move detailed
description from commit log message to comments.  (Bug#22019)
2015-11-27 09:54:27 +02:00
Alan Mackenzie
af40b7689a Byte Compiler: generate code to adjust stack count after call to `signal'.
Corrects change from earlier today.

* lisp/emacs-lisp/bytecomp.el (byte-compile-setq): supply the current value of
`byte-compile--for-effect' as argument to `byte-compile-form'.
2015-11-26 20:57:34 +00:00
Phillip Lord
7592cb9d2a After delete, record point location in undo.
Addresses Bug #21968.

	* lisp/simple.el (undo-auto--add-boundary): Clean up code to
	better support intercalating calls.
	* src/keyboard.c,src/keyboard.h (command_loop_1): Store value of
	point and current buffer before each command.
	* src/undo.c (record_point): Now only record the point.
	* src/undo.c (prepare_record): Functionality removed form
	record_point.
	* src/undo.c (record_delete): Check if point needs recording.
	* src/undo.c (undo-boundary): Record value of point before each
	boundary.
	* test/automated/simple-test.el: New tests.

Conflicts:
	src/undo.c
2015-11-26 17:57:11 +00:00
Dmitry Gutov
02cd9cb8af Check if the file exists on disk before producing the revert diff
* lisp/vc/vc-dispatcher.el (vc-buffer-sync): Check if the file
exists on disk (bug#20558).
2015-11-26 17:15:43 +02:00
Alan Mackenzie
5d93a89e80 Byte compiler: on setq with an odd number of arguments, generate a `signal'
* lisp/emacs-lisp/cconv.el (cconv-convert): Don't transform `setq' form when
it has an odd number of arguments, to allow bytecomp to handle the error.

* lisp/emacs-lisp/bytecomp.el (byte-compile-setq): In a `setq' form with an
odd number of arguments, generate a `signal' instead of the normal code.
2015-11-26 10:36:32 +00:00
Dmitry Gutov
768b6f6774 ; Remove outdated comment (bug#22015) 2015-11-26 04:44:05 +02:00
Dmitry Gutov
5ffa4e3e3c Use find-tag-default for xref-backend-identifier-at-point
* lisp/progmodes/etags.el (find-tag-tag)
(tags-completion-at-point-function): Extract common code as
find-tag--default.
(xref-backend-identifier-at-point): Define in terms of the new
function.
2015-11-26 04:38:31 +02:00
Eli Zaretskii
8f2a5a8aa4 Improve and update documentation of search commands
* doc/emacs/search.texi (Lax Search): Renamed from "Search Case";
all references changed.  Move the description of lax-whitespace
here.  Add description of the new character folding features and
additional customizable options.
(Isearch Yank): Move before "Error in Search".
(Basic Isearch): Improve wording.  Add index entries.  Add short
description of how to abandon search, making this subsection a
complete introduction to search basics.
(Repeat Isearch): Add index entries.  Describe additional
customizable options.  Describe mouse clicks.
(Isearch Yank): Add index entries.  Describe mouse-2 click in echo
area.  Describe more customizable options.
(Error in Isearch): Add index entries.
(Special Isearch): Move actual description of some isearch
commands to other sections, leaving here just the summary of the
commands.  Add command that toggles character folding.  Describe
commands, like "C-h C-h", that were previously omitted for some
reason.
(Not Exiting Isearch): Describe search-exit-option.  Add index
entries.
(Word Search): Describe eww-search-word and eww-search-prefix.
(Symbol Search): Add index entries.
(Regexp Search): Describe regexp-search-ring-max.
(Replacement and Lax Matches): Renamed from "Replacement and
Case"; all references changed.  Describe lax-whitespace matching
in replace commands and related options.  Describe character
folding in replace commands and related options.
(Query Replace): Describe query-replace-from-to-separator and the
new history features.  Add index entries for highlighted text.
Describe query-replace-skip-read-only.  Describe more keys
accepted by query-replace.
(Other Repeating Search): More index entries for Occur.  Describe
list-matching-lines-default-context-lines.
(Search Customizations): New section, documents customizable
options that were not documented until now.
* doc/emacs/glossary.texi (Glossary): Add "Case Folding" and
"Character Folding".

* etc/NEWS: Move search- and replace-related entries to a single
parent section.

* lisp/replace.el (query-replace-show-replacement): Doc fix.
* lisp/isearch.el (search-nonincremental-instead)
(isearch-hide-immediately): Doc fixes.
2015-11-25 21:09:29 +02:00
Katsumi Yamaoka
849c1f0180 Remove nnml-retrieve-groups that is unnecessary and somewhat problematic
* lisp/gnus/nnml.el (nnml-retrieve-groups): Remove.  See:
<http://thread.gmane.org/gmane.emacs.gnus.general/86308> and
<http://thread.gmane.org/gmane.emacs.gnus.general/86321>
2015-11-25 13:47:46 +00:00
Paul Eggert
36311ec8d1 Disambiguate variable help a bit better
* lisp/help-fns.el (describe-variable): Quote the
variable’s value if it is a symbol other than t or nil.
See: T.V Raman in:
http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02147.html
2015-11-24 23:17:20 -08:00
Dmitry Gutov
a590713728 Pass SVN commit message through log-edit-extract-headers
* lisp/vc/vc-svn.el (vc-svn-checkin): Pass COMMENT through
log-edit-extract-headers (bug#18954).
2015-11-25 04:10:24 +02:00
Alan Mackenzie
fdc271fab0 CC Mode: Eliminate compiler warning messages.
* lisp/progmodes/cc-mode.el (top level): remove compile time declaration of
`font-lock-syntactic-keywords' (which CC Mode doesn't use).
* lisp/progmodes/cc-awk.el (awk-mode-syntax-table)
(c-awk-set-syntax-table-properties): Clarify comments about
`font-lock-syntactic-keywords'.

* lisp/progmodes/cc-bytecomp.el (cc-bytecomp-load): Create a dummy declaration
of this before the real (interpreted) one, to satisfy the byte compiler.
2015-11-24 22:20:47 +00:00
Simen Heggestøyl
0805069ae5 Extend the test suite for json.el
* lisp/json.el (json-plist-p): Clarify docstring.

* test/automated/json-tests.el (json-tests--with-temp-buffer): New
macro.
(test-json-join, test-json-alist-p)
(test-json-plist-p, test-json-advance, test-json-peek)
(test-json-pop, test-json-skip-whitespace)
(test-json-read-keyword, test-json-encode-keyword)
(test-json-read-number, test-json-encode-number)
(test-json-read-escaped-char, test-json-read-string)
(test-json-encode-string, test-json-encode-key)
(test-json-new-object, test-json-add-to-object)
(test-json-read-object, test-json-encode-list)
(test-json-read-array, test-json-encode-array)
(test-json-read, test-json-read-from-string)
(test-json-encode): New tests.
(json-read-simple-alist): Merged into `test-json-read-object'.
(json-encode-string-with-special-chars): Merged into
`test-json-encode-string'.
(json-read-string-with-special-chars): Split into
`test-json-encode-string' and `test-json-read-from-string'.
2015-11-24 23:13:30 +01:00
Eli Zaretskii
85121e03e1 Allow completion on dynamic module files in load-library
* lisp/files.el (load-library): Bind completion-ignored-extensions
to nil, to allow completion on dynamic modules typed as file
names.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
2015-11-24 22:35:11 +02:00
Alan Mackenzie
7233767e3c CC Mode: eliminate almost all byte compilation warnings
* lisp/progmodes/cc-bytecomp.el (cc-bytecomp-noruntime-functions): Remove.
(cc-require): Remove the crude hack that saved and restored
byte-compile-noruntime-functions.
(cc-conditional-require, cc-conditional-require-after-load): New macros.

* lisp/progmodes/cc-defs.el (top level): Reformulate code which loaded
cc-fix.el using the new macros in cc-bytecomp.el.

* lisp/progmodes/cc-langs.el (c++-template-syntax-table)
(c-no-parens-syntax-table): Add extra "(eval ..)"s around "'(lambda ..)"
forms to remove the superflous quotes.
2015-11-24 19:44:34 +00:00
Alan Mackenzie
acb96f2718 Squashed commit of the following:
commit e1ecf76585bef2eb87995f7a7f92cc12003a6f70
Author: Alan Mackenzie <acm@muc.de>
Date:   Tue Nov 24 16:50:09 2015 +0000

    Byte compile: minor amendments.

    * lisp/emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment):
    add a comment to explain the binding of variables around a subsidiary
    compilation.
    (byte-compile-new-defuns): Amend the doc string.

commit c537bfed1dda1593d218956ff00c6105a3ff0316
Author: Alan Mackenzie <acm@muc.de>
Date:   Sat Nov 21 18:43:57 2015 +0000

    Byte compiler: fix spurious warnings "might not be defined at runtime".

    Also initialize byte-compile-noruntime-functions between runs.

    * lisp/emacs-lisp/bytecomp.el (byte-compile-new-defuns): New variable.
    (byte-compile-initial-macro-environment): For eval-when-compile: bind
    byte-compile-unresolved-functions and byte-compile-new-defuns around
    byte-compile-top-level, to prevent spurious entries being made.
    (byte-compile-warn-about-unresolved-functions): Check whether function is
    in byte-compile-new-defuns before emitting a warning about it.
    (byte-compile-from-buffer): Initialize new variable and
    byte-compile-noruntime-functions to nil.
    (byte-compile-file-form-require): record all new functions defined by a
    `require' in byte-compile-new-defuns.
    (byte-compile-file-form-defmumble): record the new alias in
    byte-compile-new-defuns.
2015-11-24 17:37:49 +00:00
Alan Mackenzie
a67cc630db Byte compile: Output an error, not a warning, for odd number of args to setq
* lisp/emacs-lisp/bytecomp.el (byte-compile-setq): Amend.
2015-11-24 12:40:39 +00:00
Dmitry Gutov
58dfc16cd0 Don't use package-user-dir in elisp-library-roots if it's not bound
* lisp/progmodes/elisp-mode.el (elisp-library-roots): Don't
use package-user-dir if it's not bound (bug#19759).
2015-11-24 00:12:13 +02:00
Johan Bockgård
e395cafbc1 * lisp/emacs-lisp/nadvice.el (add-function): Fix debug spec.
(remove-function): Ditto. (Bug#20376)
2015-11-23 21:01:02 +01:00
Mark Oteiza
f146ea73a9 * lisp/leim/quail/tamil-dvorak.el: Add necessary escapes. 2015-11-23 13:10:38 -05:00
Shakthi Kannan
e5754f6f2b Add the tamil-dvorak input method
* lisp/leim/quail/tamil-dvorak.el: New file.  (Bug#21768)

* etc/NEWS: Mention the new input method.
2015-11-23 19:40:08 +02:00
Alan Mackenzie
b6bc4ab20c Signal an error when `setf' gets an odd number of arguments.
* lisp/emacs-lisp/gv.el (setf): Amend.
2015-11-23 17:13:55 +00:00
Stefan Monnier
9f1a5113e1 * lisp/emacs-lisp/smie.el (smie-backward-sexp): Handle BOB better. 2015-11-23 11:26:16 -05:00
Alan Mackenzie
5454708346 Expunge occurrences of `setq' with an odd number of arguments.
* lisp/apropos.el (apropos-documentation):
* lisp/obsolete/complete.el (PC-include-file-all-completions):
* lisp/progmodes/compile.el (compilation-goto-locus):
* lisp/vc/vc-cvs.el (vc-cvs-parse-root): (twice)
Insert missing nil at end of `setq' forms.

* lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-autoload): Remove an
erroneous trailing variable name from a setq, thus allowing a compilation
properly to track functions not defined at runtime.
2015-11-23 14:49:23 +00:00
Alan Mackenzie
c89b5a0f8a Issue a warning from the byte compiler on a malformed `setq' form.
Partly fixes bug#20241.
* lisp/emacs-lisp/bytecomp.el (byte-compile-setq): Issue a warning when a
`setq' form with an odd number of arguments is compiled.
2015-11-23 14:25:15 +00:00
Alan Mackenzie
74e5d4e21e Don't let cconv_convert insert a nil argument into a `setq' form.
Fixes bug#21983.
* lisp/emacs-lisp/cconv.el (cconv-convert): Don't silently insert a nil last
argument into a `setq' when there're an odd number of args.  This enables the
byte compiler to issue a message in this case.
2015-11-23 14:10:36 +00:00
Thomas Fitzsimmons
124f1807c4 Improve EUDC to BBDB 3 export
* eudc-vars.el (eudc-ldap-bbdb-conversion-alist): Change phone
entry to single item.  Add company conversion.
* eudc-export.el (eudc-bbdbify-company): New function.
(bbdb-parse-phone): Declare function.
(eudc-bbdbify-phone): Add BBDB 3 support.
(Bug#21971)
2015-11-22 20:56:22 -05:00
Thomas Fitzsimmons
43d2e55fc1 Add BBDB 3 support for EUDC export
* eudc.el: Add bbdb-version defvar.
(eudc--using-bbdb-3-or-newer-p): New function.
* eudc-export.el (eudc-create-bbdb-record): Add support for
bbdb-create-internal argument list changes introduced in BBDB 3.
* eudcb-bbdb.el: Remove bbdb-version defvar.
(eudc-bbdb-field): Call eudc--using-bbdb-3-or-newer-p.
(Bug#21971)
2015-11-22 20:56:22 -05:00
Eli Zaretskii
40ed767ba0 Allow loading modules by 'load-file'
* src/lread.c (Fload): Call 'unbind_to' with 'Fmodule_load' as the
2nd arg, to avoid the "binding stack not balanced" error.
(syms_of_lread) <module-file-suffix>: New Lisp variable.

* lisp/files.el (module-file-suffix): Declare.
(load-file): Remove 'module-file-suffix' from
'completion-ignored-extensions', to allow completion on modules.

* etc/NEWS: Mention 'module-file-suffix'.
2015-11-22 20:38:51 +02:00