Stefan Monnier [Tue, 29 Apr 2014 15:16:07 +0000 (11:16 -0400)]
* src/window.c (struct saved_window): Remove mark.
(Fset_window_configuration, save_window_save)
(compare_window_configurations): Don't touch marks any more.
* doc/lispref/windows.texi (Window Configurations, Window Configurations):
Window configs don't store marks any more.
Paul Eggert [Mon, 28 Apr 2014 16:59:41 +0000 (09:59 -0700)]
Use bits_word for gcmarkbits.
* alloc.c (struct cons_block, struct float_block): On 64-bit hosts,
bits_word is typically a tad more efficient for mark bits than
unsigned is, so use bits_word. All uses changed.
* lisp.h (BITS_PER_INT): Remove; no longer used.
Stefan Monnier [Mon, 28 Apr 2014 04:40:41 +0000 (00:40 -0400)]
* lisp/progmodes/ps-mode.el: Use SMIE. Move string and comment recognition
to syntax-propertize.
(ps-mode-auto-indent): Mark as obsolete.
(ps-mode-font-lock-keywords-1): Remove string-or-comment handling.
(ps-mode-font-lock-keywords-3): Use symbol regexp operators instead of
word regexp operators.
(ps-mode-map): Move initialization into declaration. Remove binding
for TAB, RET, >, ], and }.
(ps-mode-syntax-table): Move initialization into declaration.
Don't give word syntax to non-word chars.
(ps-run-mode-map): Move initialization into declaration.
(ps-mode-menu-main): Remove auto-indent entry.
(ps-mode-smie-rules): New function.
(ps-mode): Setup smie, syntax-propertize, and electric-indent-mode.
(ps-mode-looking-at-nested, ps-mode-match-string-or-comment): Remove.
(ps-mode--string-syntax-table): New const.
(ps-mode--syntax-propertize-special, ps-mode-syntax-propertize):
New functions.
(ps-mode-newline, ps-mode-tabkey, ps-mode-r-brace, ps-mode-r-angle)
(ps-mode-r-gt, ps-mode-r-balance): Remove functions.
Paul Eggert [Mon, 28 Apr 2014 01:29:44 +0000 (18:29 -0700)]
Avoid undefined behavior in signed left shift.
This ports to GCC 4.9.0 with -fsanitize=undefined.
* alloc.c (bool_vector_fill, SETMARKBIT, UNSETMARKBIT):
* data.c (Fash):
* regex.c (extract_number):
* lisp.h (make_number, XINT):
Do not shift a 1 bit left into a sign bit.
* alloc.c (struct cons_block, struct float_block): Use unsigned,
not int, for gcmarkbits. All uses changed.
lisp/gnus.auth-source.el (auth-source-search): return boolean on :max 0
* lisp/gnus.auth-source.el (auth-source-search, auth-source-search-backends):
Treat :max 0 as an indicator that a boolean return is wanted, as
documented. Reported by Joe Bloggs.
Stefan Monnier [Fri, 25 Apr 2014 19:22:26 +0000 (15:22 -0400)]
* lisp/progmodes/perl-mode.el (perl--syntax-exp-intro-regexp): New var.
(perl-syntax-propertize-function): Use it. Extend handling of
here-docs to the unquoted case.
Michael Albinus [Fri, 25 Apr 2014 10:35:01 +0000 (12:35 +0200)]
* automated/tramp-tests.el (top):
* automated/file-notify-tests.el (top): Do not disable interactive
passwords in batch mode.
(password-cache-expiry): Set to nil.
Stefan Monnier [Thu, 24 Apr 2014 14:04:36 +0000 (10:04 -0400)]
* lisp/info.el: Use lexical-binding and cl-lib.
Use defvar-local and setq-local instead of make-local-variable.
(Info-apropos-matches): Avoid add-to-list.
(Info-edit-mode-map): Fix obsolescence call to Info-edit-map.
Michael Albinus [Thu, 24 Apr 2014 08:21:58 +0000 (10:21 +0200)]
Use a mock-up connection method for remote files.
* automated/file-notify-tests.el
(file-notify-test-remote-temporary-file-directory):
* automated/tramp-tests.el (tramp-test-temporary-file-directory):
Use a mock-up method as default.
(tramp-test00-availability): Print the used directory name.
(tramp-test33-recursive-load): Fix typo.
Stefan Monnier [Thu, 24 Apr 2014 03:59:19 +0000 (23:59 -0400)]
* src/window.c (Fset_window_configuration): Deactivate the mark before
unsetting the mark.
(set_window_buffer): Ignore window_initialized.
(window_initialized): Remove.
* src/keyboard.c (Qdeactivate_mark): Not static any more.
* src/buffer.c (buffer_local_value): Rename from buffer_local_value_1.
Update all callers.
Stefan Monnier [Wed, 23 Apr 2014 02:22:06 +0000 (22:22 -0400)]
* lisp/simple.el (completion-list-mode-map): Use choose-completion for the
mouse binding as well.
(completion-list-mode, completion-setup-function): Adjust docstring and
echo area message accordingly.
* lisp/progmodes/idlwave.el (idlwave-choose-completion): Adjust to new
calling convention of choose-completion.
* lisp/comint.el (comint-dynamic-list-completions):
* lisp/term.el (term-dynamic-list-completions): Accept choose-completion.
Paul Eggert [Tue, 22 Apr 2014 20:19:17 +0000 (13:19 -0700)]
Port to GCC 4.9.0 with --enable-gcc-warnings.
* image.c (struct my_jpeg_error_mgr) [lint]: Remove member fp.
All uses removed.
(jpeg_load_body) [lint]: Add a 'volatile' to pacify a buggy GCC in
a way that also works with GCC 4.9.0.
* dired.el (dired-insert-set-properties): Do not consider
subdirectory headings and empty lines to be information that
`dired-hide-details-mode' should hide. (Bug#17228)
Stefan Monnier [Tue, 22 Apr 2014 17:45:43 +0000 (13:45 -0400)]
* lisp/emacs-lisp/lisp-mode.el (lisp--match-hidden-arg): New function.
(lisp-el-font-lock-keywords-2, lisp-cl-font-lock-keywords-2): Use it.
(lisp-mode-variables): Set font-lock-extra-managed-props.
Eli Zaretskii [Tue, 22 Apr 2014 17:37:35 +0000 (20:37 +0300)]
Add debugging facility for the newline cache.
See the discussion in
http://lists.gnu.org/archive/html/emacs-devel/2014-04/msg00295.html
for more detail.
src/search.c (find_newline1): New subroutine.
(Fnewline_cache_check): New function.
(syms_of_search): Defsubr it.
Stefan Monnier [Tue, 22 Apr 2014 16:22:13 +0000 (12:22 -0400)]
* lisp/emacs-lisp/byte-run.el (function-put): New function.
(defun-declarations-alist): Use it. Add `pure' and `side-effect-free'.
* lisp/emacs-lisp/cl-macs.el (cl-defstruct, cl-struct-sequence-type)
(cl-struct-slot-info, cl-struct-slot-offset, cl-struct-slot-value):
Use them.
Michael Albinus [Tue, 22 Apr 2014 10:43:01 +0000 (12:43 +0200)]
* net/tramp-sh.el (tramp-sh-handle-file-name-all-completions):
Remove test messages.
(tramp-do-copy-or-rename-file-out-of-band): Do not quote `source'
and `target' twice.
* lisp/emacs-lisp/macroexp.el (internal-macroexpand-for-load): Add
`full-p' parameter; when nil, call `macroexpand' instead of
`macroexpand-all'.
* src/lread.c (readevalloop_eager_expand_eval): New function
that can recurse into toplevel forms.
(readevalloop): Call it.
* src/lisp.h: Declare Qprogn.
* src/callint.c (Qprogn): No longer static.
* test/automated/bytecomp-tests.el (test-byte-comp-compile-and-load):
Add compile flag.
(test-byte-comp-macro-expansion)
(test-byte-comp-macro-expansion-eval-and-compile)
(test-byte-comp-macro-expansion-eval-when-compile)
(test-byte-comp-macro-expand-lexical-override): Use it.
(test-eager-load-macro-expansion)
(test-eager-load-macro-expansion-eval-and-compile)
(test-eager-load-macro-expansion-eval-when-compile)
(test-eager-load-macro-expand-lexical-override): New tests.
* lisp/emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment):
Use lambda function values, not quoted lambdas.
(byte-compile-recurse-toplevel): Remove extraneous &optional.
* test/automated/cl-lib.el (cl-lib-struct-accessors): Fix test to
account for removal of `cl-struct-set-slot-value'. Also, move
the defstruct to top level.
* emacs-lisp/cl-macs.el
(cl-struct-sequence-type,cl-struct-slot-info): Declare pure.
(cl-struct-slot-value): Conditionally use aref or nth so that the
compiler produces optimal code.
2014-04-22 Daniel Colascione <dancol@dancol.org>
* automated/cl-lib.el (cl-lib-struct-accessors): Fix test to
account for removal of `cl-struct-set-slot-value'.
Michael Albinus [Mon, 21 Apr 2014 21:04:25 +0000 (23:04 +0200)]
* net/tramp-sh.el (tramp-sh-handle-file-name-all-completions): Set
"IFS=" when using read builtin, in order to preserve spaces in
the file name. Add test messages for hunting a bug on hydra.
(tramp-get-ls-command): Undo using "-b" argument. It doesn't help.
* emacs-lisp/cl-macs.el (cl--const-expr-val): We didn't need the
last two parameters after all.
(cl--expr-contains,cl--compiler-macro-typep,cl--compiler-macro-member)
(cl--compiler-macro-assoc,cl-struct-slot-value)
(cl-struct-set-slot-value): Stop using them.
Eli Zaretskii [Mon, 21 Apr 2014 14:50:19 +0000 (17:50 +0300)]
Minor fixes to the docs.
doc/emacs/buffers.texi (Uniquify): Clarify the default uniquification.
doc/emacs/indent.texi (Tab Stops): Improve wording.
doc/emacs/cmdargs.texi (General Variables): Improve docs of
EMACSLOADPATH. Index all the environment variables.
(Misc Variables): Index all the environment variables.
Jan Tatarik [Sun, 20 Apr 2014 22:10:33 +0000 (22:10 +0000)]
* gnus-icalendar.el (gnus-icalendar-event->org-entry)
(gnus-icalendar--update-org-event): put event timestamp in
the org entry body instead of the drawer.
(gnus-icalendar-event--get-attendee-names): list of participants should
contain even attendees without common name attribute.
(gnus-icalendar--update-org-event): don't generate duplicates of empty
property tags in org drawers.
Michael Albinus [Sun, 20 Apr 2014 21:39:43 +0000 (23:39 +0200)]
* automated/tramp-tests.el (tramp-test19-directory-files-and-attributes)
(tramp-test22-file-times): Check for `file-attributes' equality
only if there is a usable timestamp.
(tramp--test-check-files): Do not use `copy-sequence'.
Michael Albinus [Fri, 18 Apr 2014 18:58:13 +0000 (20:58 +0200)]
* automated/tramp-tests.el (tramp-copy-size-limit): Set to nil.
(tramp--test-make-temp-name): Optional argument LOCAL.
(tramp--instrument-test-case): Show messages. Catch also `quit'.
(tramp-test10-write-region): No special test for out-of-band copy
needed anymore.
(tramp-test11-copy-file, tramp-test12-rename-file)
(tramp-test21-file-links): Extend tests.
(tramp-test20-file-modes): More robust check for user "root".
(tramp--test-check-files): New defun.
(tramp-test30-special-characters, tramp-test33-recursive-load)
(tramp-test34-unload): New tests.
(tramp-test31-utf8, tramp-test32-asynchronous-requests): Rename.
Michael Albinus [Fri, 18 Apr 2014 18:57:04 +0000 (20:57 +0200)]
Avoid recursive load of tramp.el
* net/tramp.el (tramp-run-real-handler, tramp-file-name-handler):
Do not autoload.
(tramp-file-name-handler, tramp-completion-file-name-handler):
Revert patch from 2014-04-10, it isn't necessary anymore.
(tramp-autoload-file-name-handler)
(tramp-register-autoload-file-name-handlers): New defuns.
(top): Autoload call of `tramp-register-autoload-file-name-handlers'.
(tramp-register-file-name-handlers): Remove also
`tramp-autoload-file-name-handler' from `file-name-handler-list'.
Do not autoload its invocation, but eval it after loading of 'tramp.
Add support for bracketed paste mode; add infrastructure for
managing terminal mode enabling and disabling automatically.
* xt-mouse.el:
(xterm-mouse-mode): Simplify.
(xterm-mouse-tracking-enable-sequence)
(xterm-mouse-tracking-disable-sequence): New constants.
(turn-on-xterm-mouse-tracking-on-terminal)
(turn-off-xterm-mouse-tracking-on-terminal): Use
tty-mode-set-strings and tty-mode-reset-strings terminal
parameters instead of random hooks.
(turn-on-xterm-mouse-tracking)
(turn-off-xterm-mouse-tracking): Delete.
* term/xterm.el (xterm-extra-capabilities): Fix bitrotted comment.
(xterm-paste-ending-sequence): New constant.
(xterm-paste): New command used for bracketed paste support.
(xterm-modify-other-keys-terminal-list): Delete obsolete variable.
(terminal-init-xterm-bracketed-paste-mode): New function.
(terminal-init-xterm): Call it.
(terminal-init-xterm-modify-other-keys): Use tty-mode-set-strings
and tty-mode-reset-strings instead of random hooks.
(xterm-turn-on-modify-other-keys)
(xterm-turn-off-modify-other-keys)
(xterm-remove-modify-other-keys): Delete obsolete functions.
* term/screen.el: Rewrite to just use the xterm code. Add
copyright notice. Mention tmux.
Paul Eggert [Thu, 17 Apr 2014 06:40:25 +0000 (23:40 -0700)]
* GNUmakefile: Speed up 'make bootstrap' in fresh checkout.
(ORDINARY_GOALS): New macro, which excludes 'bootstrap'.
(bootstrap, .PHONY): New rules.
* INSTALL.REPO: Document current procedure better.
Move copyright notice to just before license notice.
Paul Eggert [Thu, 17 Apr 2014 06:02:38 +0000 (23:02 -0700)]
* Makefile.in (force-info): Remove.
All uses removed. This hack is no longer needed here
now that we can assume GNU Make's .PHONY feature works.
(bootstrap): No need to make 'info', since 'all' now implies 'info'.
Ian D [Thu, 17 Apr 2014 03:58:25 +0000 (23:58 -0400)]
* lisp/image-mode.el (image-mode-window-put): Also update the property of
the "default window".
* lisp/doc-view.el (doc-view-new-window-function): If no window
exists, move to the last known page.
Paul Eggert [Thu, 17 Apr 2014 01:35:20 +0000 (18:35 -0700)]
Be consistent about reporting infoclean failures.
* doc/emacs/Makefile.in (infoclean):
* doc/lispintro/Makefile.in (infoclean):
* doc/lispref/Makefile.in (infoclean):
* doc/misc/Makefile.in (infoclean):
Do not fail merely because the info directory does not exist,
but do fail if it exists and can't be cleaned.