Katsumi Yamaoka [Fri, 2 May 2014 09:44:34 +0000 (09:44 +0000)]
Gnus: Make gnus-mime-inline-part and gnus-mime-inline-part work similarly
* gnus-art.el (gnus-mime-inline-part): Redisplay a button so as to show
the displaying state of a part.
(gnus-mime-inline-part): Don't insert a newline in the beginning of
a part like gnus-mime-inline-part doesn't; work for XEmacs.
* mm-decode.el (mm-display-part): Don't insert a newline in the top.
(mm-shr): Make undisplayer unbreakable.
Barry O'Reilly [Thu, 1 May 2014 23:25:28 +0000 (19:25 -0400)]
Change algorithm used to adjust positions for undo in region
* simple.el (undo-make-selective-list): New algorithm fixes
incorrectness of position adjustments when undoing in region.
(Bug#17235)
(undo-elt-crosses-region): Make obsolete.
(undo-adjust-elt, undo-adjust-beg-end, undo-adjust-pos): New
functions to adjust positions using undo-deltas.
* automated/undo-tests.el (undo-test-region-deletion): New test to
demonstrate bug#17235.
(undo-test-region-example): New test to verify example given in
comments for undo-make-selective-list.
Eli Zaretskii [Tue, 29 Apr 2014 15:33:37 +0000 (18:33 +0300)]
Place hardware TTY cursor at the active menu item when displaying a menu.
src/term.c (tty_menu_display): Move the cursor to the active menu
item.
(tty_menu_activate): Return the cursor to the active menu item
after displaying the menu and after displaying help-echo. See
http://lists.gnu.org/archive/html/emacs-devel/2014-04/msg00402.html
for the details of why this is needed by screen readers and
Braille displays.
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.
Eli Zaretskii [Tue, 29 Apr 2014 14:45:24 +0000 (17:45 +0300)]
Fix bug #17362 with inconsistent usage of @key and @kbd, and key names.
doc/emacs/trouble.texi (Quitting, DEL Does Not Delete, Emergency Escape)
(Bug Criteria): Fix usage of @kbd and @key. (Bug#17362)
doc/emacs/text.texi (Words, Pages, Foldout, HTML Mode): Fix usage of @kbd
and @key.
doc/emacs/search.texi (Special Isearch, Regexp Search): Fix usage of @kbd
and @key.
doc/emacs/screen.texi (Echo Area, Menu Bar): Fix usage of @kbd and @key.
doc/emacs/rmail.texi (Rmail Scrolling): Fix usage of @kbd and @key.
doc/emacs/programs.texi (Hungry Delete, Other C Commands): Fix usage of
@kbd and @key.
doc/emacs/picture-xtra.texi (Insert in Picture): Fix usage of @kbd and
@key.
doc/emacs/mule.texi (Unibyte Mode, Bidirectional Editing): Fix usage of
@kbd and @key.
doc/emacs/msdog.texi (Windows Keyboard, Windows Processes): Fix usage of
@kbd and @key.
doc/emacs/msdog-xtra.texi (MS-DOS Keyboard, MS-DOS Printing)
(MS-DOS Processes): Fix usage of @kbd and @key.
doc/emacs/misc.texi (Shell Ring, Printing Package): Fix usage of @kbd and
@key.
doc/emacs/mini.texi (Completion Commands, Minibuffer History): Fix usage
of @kbd and @key.
doc/emacs/kmacro.texi (Keyboard Macro Step-Edit): Fix usage of @kbd and
@key.
doc/emacs/killing.texi (Deletion, Rectangles, CUA Bindings): Fix usage of
@kbd and @key.
doc/emacs/indent.texi (Indentation Commands): Fix usage of @kbd and @key.
doc/emacs/help.texi (Help Mode, Misc Help): Fix usage of @kbd and @key.
doc/emacs/glossary.texi (Glossary): Fix usage of @kbd and @key.
doc/emacs/frames.texi (Speedbar): Fix usage of @kbd and @key.
doc/emacs/files.texi (Misc File Ops, File Name Cache, File Conveniences)
(Filesets): Fix usage of @kbd and @key.
doc/emacs/display.texi (View Mode): Fix usage of @kbd and @key.
doc/emacs/dired.texi (Image-Dired): Fix usage of @kbd and @key.
doc/emacs/custom.texi (Modifier Keys, Function Keys, Named ASCII Chars)
(Init Syntax): Fix usage of @kbd and @key.
doc/emacs/commands.texi (User Input): Fix usage of @kbd and @key.
doc/emacs/calendar.texi (Counting Days, General Calendar): Fix usage of
@kbd and @key.
doc/emacs/building.texi (Threads Buffer): Fix usage of @kbd and @key.
doc/emacs/buffers.texi (Select Buffer, Icomplete): Fix usage of @kbd and
@key.
doc/emacs/basic.texi (Inserting Text, Erasing, Arguments): Fix usage of
@kbd and @key.
Fix bug 16694 with applying X resources to faces too early.
lisp/faces.el (face-spec-recalc): Apply X resources only after the defface spec has been applied. Thus, X resources are no longer
overriden by the defface spec which also fixes issues on win32 where
the toolbar coloring was wrong because it is set through X resources
and was (wrongfully) overriden.
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'.