Leo Liu [Fri, 4 Oct 2013 15:11:13 +0000 (23:11 +0800)]
* progmodes/octave.el (inferior-octave-mode): Call
compilation-forget-errors.
Xue Fuqiao [Fri, 4 Oct 2013 14:46:31 +0000 (22:46 +0800)]
* lisp/emacs-lisp/syntax.el (syntax-ppss): Doc fix.
Paul Eggert [Fri, 4 Oct 2013 14:27:11 +0000 (16:27 +0200)]
In nt/gnulib.mk create <byteswap.h> from <byteswap.in.h>.
* gnulib.mk: Create <byteswap.h> from <byteswap.in.h>.
Dmitry Antipov [Fri, 4 Oct 2013 13:41:10 +0000 (17:41 +0400)]
* xdisp.c (redisplay_internal): Simplify because scan_for_column now
uses find_newline instead of scan_newline and so doesn't move point.
Michael Albinus [Fri, 4 Oct 2013 10:31:59 +0000 (12:31 +0200)]
* net/secrets.el (secrets-create-collection): Add optional
argument ALIAS. Use proper Label keyword. Append ALIAS as
dbus-call-method argument. (Bug#15516)
Glenn Morris [Fri, 4 Oct 2013 10:17:40 +0000 (06:17 -0400)]
Auto-commit of generated files.
Leo Liu [Fri, 4 Oct 2013 09:45:25 +0000 (17:45 +0800)]
* progmodes/octave.el (inferior-octave-error-regexp-alist)
(inferior-octave-compilation-font-lock-keywords): New variables.
(compilation-error-regexp-alist)
(compilation-mode-font-lock-keywords): Defvar to pacify compiler.
(inferior-octave-mode): Use compilation-shell-minor-mode.
Paul Eggert [Fri, 4 Oct 2013 07:36:22 +0000 (00:36 -0700)]
Use hardware support for byteswapping on glibc x86 etc.
On Fedora 19 x86-64, the new bswap_64 needs 1 instruction,
whereas the old swap64 needed 30.
* admin/merge-gnulib (GNULIB_MODULES): Add byteswap.
* lib/byteswap.in.h, m4/byteswap.m4: New files, copied from Gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* src/fringe.c (init_fringe_bitmap) [WORDS_BIGENDIAN]:
* src/sound.c (le2hl, le2hs, be2hl) [!WINDOWSNT]:
Use byteswap.h's macros to swap bytes.
* src/lisp.h (swap16, swap32, swap64): Remove.
All uses replaced by bswap_16, bswap_32, bswap_64.
Paul Eggert [Fri, 4 Oct 2013 06:51:50 +0000 (23:51 -0700)]
* bytecode.c (exec_byte_code): Use some more volatile variables
to work around local variables getting clobbered by longjmp.
Port to pre-C99, which doesn't allow decls after stmts.
Jorgen Schaefer [Fri, 4 Oct 2013 02:12:16 +0000 (22:12 -0400)]
* lisp/minibuffer.el (completion--replace): Be careful that `end' might be
a marker.
Paul Eggert [Thu, 3 Oct 2013 16:16:31 +0000 (09:16 -0700)]
* lisp.h (eassert): Assume that COND is true when optimizing.
In other words, take on the behavior of eassert_and_assume.
This makes Emacs 0.2% smaller on my platform (Fedora 19, x86-64).
(eassert_and_assume): Remove. All uses replaced by eassert.
Xue Fuqiao [Thu, 3 Oct 2013 15:32:10 +0000 (23:32 +0800)]
Add an index for modify-syntax-entry.
Xue Fuqiao [Thu, 3 Oct 2013 15:09:18 +0000 (23:09 +0800)]
* doc/lispref/syntax.texi (Syntax Flags): Add an index for comment style.
Paul Eggert [Thu, 3 Oct 2013 13:55:28 +0000 (06:55 -0700)]
* xdisp.c (Qglyphless_char): Now static.
Glenn Morris [Thu, 3 Oct 2013 10:17:43 +0000 (06:17 -0400)]
Auto-commit of generated files.
Daiki Ueno [Thu, 3 Oct 2013 07:11:27 +0000 (16:11 +0900)]
Add support for package signature checking.
* lisp/emacs-lisp/package.el (url-http-file-exists-p)
(epg-make-context, epg-context-set-home-directory)
(epg-verify-string, epg-context-result-for)
(epg-signature-status, epg-signature-to-string)
(epg-check-configuration, epg-configuration)
(epg-import-keys-from-file): Declare.
(package-check-signature): New user option.
(package-unsigned-archives): New user option.
(package-desc): Add `signed' field.
(package-load-descriptor): Set `signed' field if .signed file exists.
(package--archive-file-exists-p): New function.
(package--check-signature): New function.
(package-install-from-archive): Check package signature.
(package--download-one-archive): Check archive signature.
(package-delete): Remove .signed file.
(package-import-keyring): New command.
(package-refresh-contents): Import default keyring.
(package-desc-status): Add "unsigned" status.
(describe-package-1, package-menu--print-info)
(package-menu-mark-delete, package-menu--find-upgrades)
(package-menu--status-predicate): Support "unsigned" status.
* test/automated/data/package/signed/archive-contents:
* test/automated/data/package/signed/archive-contents.sig:
* test/automated/data/package/signed/signed-good-1.0.el:
* test/automated/data/package/signed/signed-good-1.0.el.sig:
* test/automated/data/package/signed/signed-bad-1.0.el:
* test/automated/data/package/signed/signed-bad-1.0.el.sig:
* test/automated/data/package/key.pub:
* test/automated/data/package/key.sec: New files.
* test/automated/package-test.el (package-test-update-listing)
(package-test-update-archives, package-test-describe-package):
Adjust to package.el change.
(package-test-signed): New test.
Paul Eggert [Thu, 3 Oct 2013 07:06:52 +0000 (00:06 -0700)]
Merge from gnulib.
* src/conf_post.h (__has_builtin, assume): Remove; gnulib now does these.
* src/lisp.h: Include <verify.h>, for 'assume'.
This also incorpoprates:
2013-10-02 verify: new macro 'assume'
2013-09-26 dup2, dup3: work around another cygwin crasher
2013-09-26 getdtablesize: work around cygwin issue
Paul Eggert [Thu, 3 Oct 2013 06:31:06 +0000 (23:31 -0700)]
* eval.c (clobbered_eassert): New macro.
(internal_catch, internal_condition_case)
(internal_condition_case_1, internal_condition_case_2)
(internal_condition_case_n): Use it instead of eassert
when the argument contains locals clobbered by longjmp.
Don't use clobbered locals outside of clobbered_eassert.
(internal_lisp_condition_case): Use a volatile variable
to work around a local variable's getting clobbered.
Stefan Monnier [Thu, 3 Oct 2013 04:58:56 +0000 (00:58 -0400)]
Introduce new bytecodes for efficient catch/condition-case in lexbind.
* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
Optimize under `condition-case' and `catch' if
byte-compile--use-old-handlers is nil.
(disassemble-offset): Handle new bytecodes.
* lisp/emacs-lisp/bytecomp.el (byte-pushcatch, byte-pushconditioncase)
(byte-pophandler): New byte codes.
(byte-goto-ops): Adjust accordingly.
(byte-compile--use-old-handlers): New var.
(byte-compile-catch): Use new byte codes depending on
byte-compile--use-old-handlers.
(byte-compile-condition-case--old): Rename from
byte-compile-condition-case.
(byte-compile-condition-case--new): New function.
(byte-compile-condition-case): New function that dispatches depending
on byte-compile--use-old-handlers.
(byte-compile-unwind-protect): Pass a function to byte-unwind-protect
when we can.
* lisp/emacs-lisp/cconv.el (cconv-convert, cconv-analyse-form): Adjust for
the new compilation scheme using the new byte-codes.
* src/alloc.c (Fgarbage_collect): Merge scans of handlerlist and catchlist,
and make them unconditional now that they're heap-allocated.
* src/bytecode.c (BYTE_CODES): Add Bpushcatch, Bpushconditioncase
and Bpophandler.
(bcall0): New function.
(exec_byte_code): Add corresponding cases. Improve error message when
encountering an invalid byte-code. Let Bunwind_protect accept
a function (rather than a list of expressions) as argument.
* src/eval.c (catchlist): Remove (merge with handlerlist).
(handlerlist, lisp_eval_depth): Not static any more.
(internal_catch, internal_condition_case, internal_condition_case_1)
(internal_condition_case_2, internal_condition_case_n):
Use PUSH_HANDLER.
(unwind_to_catch, Fthrow, Fsignal): Adjust to merged
handlerlist/catchlist.
(internal_lisp_condition_case): Use PUSH_HANDLER. Adjust to new
handlerlist which can only handle a single condition-case handler at
a time.
(find_handler_clause): Simplify since we only a single branch here
any more.
* src/lisp.h (struct handler): Merge struct handler and struct catchtag.
(PUSH_HANDLER): New macro.
(catchlist): Remove.
(handlerlist): Always declare.
Stefan Monnier [Thu, 3 Oct 2013 04:41:23 +0000 (00:41 -0400)]
* lisp/subr.el (decode-char, encode-char): Use advertised-calling-convention
instead of the docstring to discourage use of the `restriction' arg.
(error): Use `declare'.
* src/charset.c (Fdecode_char, Fencode_char): Remove description of
`restriction' arg. now that it's hidden by advertised-calling-convention.
Daiki Ueno [Thu, 3 Oct 2013 01:29:17 +0000 (10:29 +0900)]
epg: doc improvement for verify functions
* epg.el (epg-verify-file): Add a comment saying that it does not
notify verification error as a return value nor a signal.
(epg-verify-string): Ditto.
Kevin Rodgers [Wed, 2 Oct 2013 23:33:48 +0000 (19:33 -0400)]
* lisp/progmodes/compile.el (compilation-start): Try globbing the arg to `cd'.
Fixes: debbugs:15417
Jan Djärv [Wed, 2 Oct 2013 18:52:34 +0000 (20:52 +0200)]
* macfont.m (macfont_draw): Use s->ybase for correct y position.
Dmitry Antipov [Wed, 2 Oct 2013 15:38:12 +0000 (19:38 +0400)]
* frame.h (struct frame): Drop has_minibuffer member because...
(FRAME_HAS_MINIBUF_P): ...this macro can be implemented without it.
* frame.c (make_frame, make_minibuffer_frame): Adjust users.
Xue Fuqiao [Wed, 2 Oct 2013 15:14:06 +0000 (23:14 +0800)]
Add an index for the table of syntax classes.
* doc/lispref/syntax.texi (Syntax Class Table): Add an index for syntax class table.
Michael Albinus [Wed, 2 Oct 2013 13:52:32 +0000 (15:52 +0200)]
Sync with Tramp 2.2.8.
* tramp.texi (External packages): Use `non-essential'.
* trampver.texi: Update release number.
Michael Albinus [Wed, 2 Oct 2013 13:48:20 +0000 (15:48 +0200)]
Sync with Tramp 2.2.8.
* net/tramp-cmds.el (tramp-bug, tramp-append-tramp-buffers):
* net/tramp-cache.el (tramp-cache-print): Use `tramp-compat-funcall'.
* net/trampver.el: Update release number.
Dmitry Antipov [Wed, 2 Oct 2013 12:08:27 +0000 (16:08 +0400)]
* window.h (struct window): Prefer enum text_cursor_kinds to int
for phys_cursor_type member. Move the latter, phys_cursor_width,
phys_cursor_ascent and phys_cursor_height under HAVE_WINDOW_SYSTEM.
* window.c (replace_window, make_window): Adjust users.
Dmitry Antipov [Wed, 2 Oct 2013 11:49:24 +0000 (15:49 +0400)]
* fringe.c (toplevel): Do not use HAVE_WINDOW_SYSTEM because
this module is never compiled otherwise.
Alp Aker [Wed, 2 Oct 2013 03:26:29 +0000 (23:26 -0400)]
* macfont.m (macfont_draw): Use CGRectMake rather than NSMakeRect
(Bug#15500).
Fabrice Niessen [Wed, 2 Oct 2013 03:09:31 +0000 (06:09 +0300)]
* themes/leuven-theme.el: Add Commentary and some headers, update
face definitions, add autoload block which is used when
distributed separately from Emacs.
Jan Djärv [Tue, 1 Oct 2013 18:22:48 +0000 (20:22 +0200)]
* lisp/term/ns-win.el (ns-initialize-window-system): Set locale-coding-system
and default-process-coding-system for darwin only.
Stefan Monnier [Tue, 1 Oct 2013 15:52:53 +0000 (11:52 -0400)]
* lisp/emacs-lisp/package.el (package-desc): Simplify.
Fixes: debbugs:15495
Mitchel Humpherys [Tue, 1 Oct 2013 15:34:14 +0000 (11:34 -0400)]
* lisp/vc/vc-git.el (vc-git-grep): Disable pager.
Glenn Morris [Tue, 1 Oct 2013 10:17:41 +0000 (06:17 -0400)]
Auto-commit of loaddefs files.
Dmitry Gutov [Tue, 1 Oct 2013 01:38:37 +0000 (04:38 +0300)]
* lisp/emacs-lisp/package.el (package-buffer-info, describe-package-1):
Use :url instead of :homepage, as per
http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00622.html
* test/automated/package-test.el: Update all cases to use :url instead
of :homepage.
* test/automated/package-x-test.el
(package-x-test--single-archive-entry-1-3): Same.
Dmitry Gutov [Tue, 1 Oct 2013 01:13:48 +0000 (04:13 +0300)]
* lisp/newcomment.el (comment-beginning): When `comment-use-syntax' is
non-nil, use `syntax-ppss'.
Fixes: debbugs:15251
Rüdiger Sonderfeld [Mon, 30 Sep 2013 01:13:19 +0000 (09:13 +0800)]
* progmodes/octave.el (inferior-octave-startup-file): Prefer
~/.emacs.d/init_octave.m.
Dmitry Gutov [Sun, 29 Sep 2013 19:41:00 +0000 (22:41 +0300)]
* lisp/emacs-lisp/package-x.el (package-upload-buffer-internal): Pass
`extras' slot from `package-desc' to `package-make-ac-desc'.
* lisp/emacs-lisp/package.el (package-desc-from-define): Accept
additional arguments as plist, convert it to an alist and store it
in the `extras' slot.
(package-generate-description-file): Convert extras alist back to
plist and append to the `define-package' form arguments.
(package--alist-to-plist): New function.
(package--ac-desc): Add `extras' slot.
(package--add-to-archive-contents): Check if the archive-contents
vector is long enough, and if it is, pass its `extras' slot value
to `package-desc-create'.
(package-buffer-info): Call `lm-homepage', pass the returned value
to `package-desc-from-define'.
(describe-package-1): Render the homepage button.
* test/automated/package-test.el (simple-single-desc-1-4): Remove, it
was unused.
(simple-single-desc): Expect :homepage property.
(multi-file-desc): Same.
(with-package-test): Do not save previous `default-directory'
value, let-bind the var instead.
(package-test-install-single): Expect :homepage property in the
generated pkg file.
(package-test-describe-package): Expect Homepage button.
(package-test-describe-non-installed-package)
(package-test-describe-non-installed-multi-file-package): Same.
(package-test-describe-not-installed-package): Remove, it was a
duplicate.
* test/automated/package-x-test.el
(package-x-test--single-archive-entry-1-3): Expect :homepage
property.
(package-x-test--single-archive-entry-1-4): Expect nil extras slot.
* test/automated/data/package/archive-contents: Add :homepage
properties to `simple-single' and `multi-file'.
* test/automated/data/package/simple-single-1.3.el: Add URL header.
Fixes: debbugs:13291
Jan Djärv [Sun, 29 Sep 2013 17:09:39 +0000 (19:09 +0200)]
* term/ns-win.el (ns-initialize-window-system): Set locale-coding-system
and default-process-coding-system to utf-8-unix.
Fixes: debbugs:15402
Eli Zaretskii [Sun, 29 Sep 2013 16:27:09 +0000 (19:27 +0300)]
Fix bug #15484 with link error in the --without-x configuration.
src/xdisp.c (get_next_display_element): Don't call face_for_font in
a build configured --without-x.
Jan Djärv [Sun, 29 Sep 2013 16:18:55 +0000 (18:18 +0200)]
* window.c (calc_absolute_offset): #elif should be #elif defined.
Jan Djärv [Sun, 29 Sep 2013 10:21:58 +0000 (12:21 +0200)]
* frame.c (delete_frame): Block/unblock input to overcome race
condition.
Fixes: debbugs:15475
Andreas Politz [Sun, 29 Sep 2013 08:33:23 +0000 (10:33 +0200)]
In delete_frame record selected frame only after calling Qdelete_frame_functions (Bug#15477).
* frame.c (delete_frame): Record selected frame only after
calling Qdelete_frame_functions (Bug#15477).
Xue Fuqiao [Sun, 29 Sep 2013 06:16:45 +0000 (14:16 +0800)]
Refine documentation of `looking-back'.
* lisp/subr.el (looking-back): Do not recommend using looking-back. (bug#5689)
* doc/lispref/searching.texi (Regexp Search): Refine.
Xue Fuqiao [Sun, 29 Sep 2013 04:30:11 +0000 (12:30 +0800)]
Remove unnecessary @refill.
Leo Liu [Sun, 29 Sep 2013 01:37:03 +0000 (09:37 +0800)]
* url/url-util.el (url-pretty-length): Make obsolete and all uses
changed to file-size-human-readable.
Xue Fuqiao [Sat, 28 Sep 2013 22:26:29 +0000 (06:26 +0800)]
Remove an unnecessary FIXME.
Alan Mackenzie [Sat, 28 Sep 2013 17:17:01 +0000 (17:17 +0000)]
Fix indentation/fontification of Java enum with "implements".
* progmodes/cc-langs.el (c-postfix-decl-spec-key): New variable, a
regexp which matches "implements", etc., in Java.
* progmodes/cc-engine.el (c-inside-bracelist-p): Check for extra
specifier clauses coming after "enum".
* progmodes/cc-fonts.el (c-font-lock-declarations)
(c-font-lock-enum-tail): Check for extra specifier clauses coming
after "enum".
Jan Djärv [Sat, 28 Sep 2013 10:01:50 +0000 (12:01 +0200)]
Pick up default selection color on OSX when user defaults are not set.
* lisp/faces.el (region): Change ns_selection_color to
ns_selection_fg_color, add ns_selection_bg_color.
* src/nsterm.h (NS_SELECTION_BG_COLOR_DEFAULT): Renamed from
NS_SELECTION_COLOR_DEFAULT.
(NS_SELECTION_FG_COLOR_DEFAULT): New.
* src/nsterm.m (ns_selection_color): Remove.
(ns_get_color): Check for ns_selection_(fg|bg)_color using
NSColor selectedText(Background)Color. Only for COCOA.
(ns_term_init): Remove assignment of ns_selection_color, logic
moved to ns_get_color.
Eli Zaretskii [Sat, 28 Sep 2013 08:19:33 +0000 (11:19 +0300)]
Fix compilation under GLYPH_DEBUG, broken by conditional tool_bar_window.
src/xdisp.c (Fdump_tool_bar_row): Ifdef away the body if 'struct
frame' does not have the tool_bar_window member.
Leo Liu [Sat, 28 Sep 2013 03:15:56 +0000 (11:15 +0800)]
* progmodes/octave.el (inferior-octave-completion-table)
(inferior-octave-completion-at-point): Minor tweaks.
Leo Liu [Sat, 28 Sep 2013 02:54:27 +0000 (10:54 +0800)]
Rename lookup-words to ispell-lookup-words
(ispell-complete-word, ispell-command-loop): All uses changed.
* cedet/semantic/texi.el (semantic-analyze-possible-completions): Use
ispell-lookup-words instead.
Fixes: debbugs:15460
Rüdiger Sonderfeld [Sat, 28 Sep 2013 02:41:48 +0000 (10:41 +0800)]
* lisp/progmodes/octave.el (octave-mode-map): Bind octave-send-buffer.
(octave-mode-menu): Add octave-send-buffer.
(octave-send-buffer): New function.
Rüdiger Sonderfeld [Sat, 28 Sep 2013 02:30:37 +0000 (10:30 +0800)]
* lisp/progmodes/octave.el (octave-mode-map): Add key binding for
octave-lookfor.
(octave-mode-menu): Add octave-lookfor.
(inferior-octave-mode-map, octave-help-mode-map): Bind C-ha to
octave-lookfor.
(octave-lookfor): New function.
Xue Fuqiao [Sat, 28 Sep 2013 01:52:23 +0000 (09:52 +0800)]
Fix typo.
Xue Fuqiao [Sat, 28 Sep 2013 01:48:06 +0000 (09:48 +0800)]
Comment.
Stefan Monnier [Sat, 28 Sep 2013 01:07:18 +0000 (21:07 -0400)]
* lisp/emacs-lisp/cl-macs.el:
(cl--loop-destr-temps): Remove.
(cl--loop-iterator-function): Rename from cl--loop-map-form and change
its convention.
(cl--loop-set-iterator-function): New function.
(cl-loop): Adjust accordingly, so as not to use cl-subst.
(cl--parse-loop-clause): Adjust all uses of cl--loop-map-form.
Bind `it' with `let' instead of substituting it with `cl-subst'.
(cl--unused-var-p): New function.
(cl--loop-let): Don't use the cl--loop-destr-temps hack any more.
Eliminate some unused variable warnings.
Fixes: debbugs:15326
Tassilo Horn [Fri, 27 Sep 2013 06:46:49 +0000 (08:46 +0200)]
* doc-view.el (doc-view-scale-reset): Rename from
`doc-view-reset-zoom-level'.
(doc-view-scale-adjust): New command.
(doc-view-mode-map): Remap `text-scale-adjust' bindings to
`doc-view-scale-adjust'.
Tassilo Horn [Thu, 26 Sep 2013 19:05:50 +0000 (21:05 +0200)]
* doc-view.el (doc-view-reset-zoom-level): New command.
(doc-view-mode-map): Remap text-scale-adjust bindings to doc-view
zoom commands (bug#15466).
Xue Fuqiao [Thu, 26 Sep 2013 14:22:49 +0000 (22:22 +0800)]
* doc/emacs/dired.texi (Flagging Many Files): Use @emph instead of @strong.
Kenichi Handa [Thu, 26 Sep 2013 13:50:56 +0000 (22:50 +0900)]
merge turnk
Kenichi Handa [Thu, 26 Sep 2013 13:46:50 +0000 (22:46 +0900)]
international/quail.el (quail-help): Make it not a command.
Xue Fuqiao [Thu, 26 Sep 2013 13:42:29 +0000 (21:42 +0800)]
* doc/emacs/emacs.texi (Intro): Minor cleanup.
Barry O'Reilly [Thu, 26 Sep 2013 03:46:47 +0000 (23:46 -0400)]
Signal error when reading an empty byte-code object (Bug#15405)
* lread.c (read1): signal error
* alloc.c (make_byte_code): eassert header size
(sweep_vectors): change an int to size_t
Leo Liu [Thu, 26 Sep 2013 00:46:29 +0000 (08:46 +0800)]
* minibuffer.el (completion-all-sorted-completions): Make args
optional as they are.
Daniel Colascione [Wed, 25 Sep 2013 22:39:53 +0000 (14:39 -0800)]
* emacs-lisp/cl-macs.el (cl-type-spec): Tell edebug what type
specs are and that they're not evaluated.
Glenn Morris [Wed, 25 Sep 2013 10:17:46 +0000 (06:17 -0400)]
Auto-commit of generated files.
Paul Eggert [Wed, 25 Sep 2013 03:44:34 +0000 (20:44 -0700)]
Merge from gnulib.
This incorporates:
2013-09-24 manywarnings: enable nicer gcc warning messages
2013-09-23 warnings: port --enable-gcc-warnings to Solaris Studio 12.3
2013-09-21 timespec: use the new TIMESPEC_RESOLUTION elsewhere
* configure.ac (WERROR_CFLAGS): Omit -fdiagnostics-show-option
and -funit-at-a-time, since manywarnings does that for us now.
Sam Steingold [Tue, 24 Sep 2013 17:34:51 +0000 (13:34 -0400)]
* lisp/midnight.el (clean-buffer-list-kill-regexps)
(clean-buffer-list-kill-buffer-names): Update for the new Man
buffer naming which includes the object name.
Paul Eggert [Tue, 24 Sep 2013 15:29:27 +0000 (08:29 -0700)]
* dispnew.c (clear_glyph_row, copy_row_except_pointers): Use enums
instead of ints, as it's the usual style for offsetof constants. See:
http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00478.html
Paul Eggert [Tue, 24 Sep 2013 14:53:49 +0000 (07:53 -0700)]
* data.c (POPCOUNT_STATIC_INLINE): New macro, as a hack for popcount.
This is ugly, but it should fix the performance problem for older
GCC versions in the short run. I'll look into integrating the
Gnulib module for popcount, as a better fix.
See the thread starting in:
http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00474.html
(popcount_size_t_generic) [NEED_GENERIC_POPCOUNT]:
(popcount_size_t_msc) [USE_MSC_POPCOUNT]:
(popcount_size_t_gcc) [USE_GCC_POPCOUNT]:
(popcount_size_t): Use it.
Daniel Colascione [Tue, 24 Sep 2013 11:48:53 +0000 (03:48 -0800)]
Fix build break due to vector changes
Paul Eggert [Tue, 24 Sep 2013 07:16:38 +0000 (00:16 -0700)]
* dispnew.c (clear_glyph_row, copy_row_except_pointers):
Prefer signed to unsigned integers where either will do.
No need for 'const' on locals that do not escape.
Omit easserts with unnecessary and unportable assumptions about
alignment. Avoid unnecessary casts to char *.
Dmitry Antipov [Tue, 24 Sep 2013 06:43:20 +0000 (10:43 +0400)]
Use union for the payload of struct Lisp_Vector.
This helps to avoid a few glitches dictated by C's aliasing rules.
* lisp.h (struct Lisp_Vector): Use union for next and
contents member. Adjust comment. Change related users.
* alloc.c (next_in_free_list, set_next_in_free_list): Remove.
Related users changed.
* buffer.c, bytecode.c, ccl.c, character.h, chartab.c, composite.c:
* composite.h, disptab.h, fns.c, fontset.c, indent.c, keyboard.c:
* lread.c, msdos.c, process.c, w32menu.c, window.c, xdisp.c:
* xfaces.c, xfont.c, xmenu.c: Related users changed.
Dmitry Antipov [Tue, 24 Sep 2013 05:42:30 +0000 (09:42 +0400)]
Optimize glyph row clearing and copying routines.
* dispextern.h (struct glyph_row): Change layout of struct
glyph_row to help copy_row_except_pointers. Adjust comment.
* dispnew.c (null_row): Remove.
(clear_glyph_row): Use offsetof and memset to find and clear
just the members that need clearing. Adjust comment.
(copy_row_except_pointers): Likewise for copying.
Paul Eggert [Tue, 24 Sep 2013 04:28:06 +0000 (21:28 -0700)]
Some minor cleanups of recently-added bool vector code.
* conf_post.h (assume): Always return void. Use lint version
only if GCC and MSC versions don't apply.
* conf_post.h (assume):
* data.c (USC_MSC_POPCOUNT, count_trailing_zero_bits):
Depend on _MSC_VER, not __MSC_VER, for consistency with
the rest of Emacs.
* data.c (bool_vector_spare_mask, popcount_size_t_generic)
(popcount_size_t_msc, popcount_size_t_gcc, popcount_size_t)
(bool_vector_binop_driver, count_trailing_zero_bits)
(size_t_to_host_endian): Now static, not static inline;
the latter isn't needed with modern compilers and doesn't
work with older compilers anyway.
Paul Eggert [Tue, 24 Sep 2013 03:44:58 +0000 (20:44 -0700)]
* alloc.c (valgrind_p): Use bool for boolean.
Stefan Monnier [Mon, 23 Sep 2013 23:23:32 +0000 (19:23 -0400)]
* lisp/eshell/esh-cmd.el (eshell--sep-terms): New var.
(eshell-parse-command, eshell-parse-pipeline): Use it since
eshell-separate-commands requires a dynamic scoped var.
Reported by Jan Moringen <jmoringe@techfak.uni-bielefeld.de>.
Dmitry Antipov [Mon, 23 Sep 2013 13:46:20 +0000 (17:46 +0400)]
* dispextern.h (cancel_line, init_desired_glyphs):
Remove ancient leftover.
Dmitry Antipov [Mon, 23 Sep 2013 13:25:19 +0000 (17:25 +0400)]
* xdisp.c (noninteractive_need_newline, message_log_need_newline)
(overlay_arrow_seen, message_enable_multibyte, line_number_displayed)
(display_last_displayed_message_p, message_buf_print)
(message_cleared_p, help_echo_showing_p, hourglass_shown_p):
Use bool for boolean.
* dispextern.h (help_echo_showing_p, hourglass_shown_p):
* lisp.h (noninteractive_need_newline): Adjust declaration.
Glenn Morris [Mon, 23 Sep 2013 10:17:40 +0000 (06:17 -0400)]
Auto-commit of generated files.
Dmitry Antipov [Mon, 23 Sep 2013 09:50:47 +0000 (13:50 +0400)]
* dispnew.c (frame_garbaged, selected_frame, last_nonminibuf_frame):
Move to...
* frame.c (frame_garbaged, selected_frame, last_nonminibuf_frame):
...this file and convert the latter to static. Adjust comment.
(make_initial_frame):
* window.c (init_window_once): Adjust user.
* frame.h (last_nonminibuf_frame): Remove declaration.
* lisp.h (selected_frame): Likewise.
* msdos.c (the_only_display_info): Adjust comment.
Eli Zaretskii [Mon, 23 Sep 2013 09:28:57 +0000 (12:28 +0300)]
Fix last commit.
src/xdisp.c (note_mouse_highlight): Adapt calculation of last argument to
mouse_face_from_string_pos to the previous change.
Fixes: debbugs:15437
Eli Zaretskii [Mon, 23 Sep 2013 09:18:38 +0000 (12:18 +0300)]
Fix bug #15437 with mouse highlight on overlay strings.
src/xdisp.c (mouse_face_from_string_pos): Fix off-by-one error in
computing the end column of mouse-highlight that comes from
display or overlay strings.
Eli Zaretskii [Mon, 23 Sep 2013 08:25:48 +0000 (11:25 +0300)]
Fix the definition of 'assume' for GCC older than 4.5.
src/conf_post.h (__has_builtin): Define to zero, if undefined, on
all platforms, not just for clang.
Jan Djärv [Mon, 23 Sep 2013 07:12:01 +0000 (09:12 +0200)]
Suppress some unhelpful warnings when using clang.
* configure.ac: With clang, check for and use -Wno-switch,
-Wno-tautological-constant-out-of-range-compare and -Wno-pointer-sign.
* conf_post.h(assume): Use __builtin_unreachable for clang.
* src/filelock.c (lock_file_1): Rearrange to remove compiler warning
about excess arguments to snprintf.
Leo Liu [Mon, 23 Sep 2013 04:21:41 +0000 (12:21 +0800)]
* autoinsert.el (auto-insert-alist): Make the value of
lexical-binding match its file setting.
Juanma Barranquero [Mon, 23 Sep 2013 03:30:55 +0000 (05:30 +0200)]
src/w32console.c, src/w32term.c: Remove unused variables.
src/w32console.c (initialize_w32_display): Remove unused variable hlinfo.
src/w32term.c (w32_scroll_bar_handle_click): Remove unused variable f.
Juanma Barranquero [Mon, 23 Sep 2013 02:59:30 +0000 (04:59 +0200)]
lisp/vc/vc-sccs.el (vc-sccs-search-project-dir): Mark unused argument.
Juanma Barranquero [Mon, 23 Sep 2013 02:58:02 +0000 (04:58 +0200)]
Remove references to universal-argument-num-events.
* lisp/autoarg.el (autoarg-kp-digit-argument):
* lisp/electric.el (Electric-command-loop):
* lisp/kmacro.el (kmacro-step-edit-insert):
Do not set universal-argument-num-events.
Daniel Colascione [Mon, 23 Sep 2013 02:34:52 +0000 (18:34 -0800)]
Tell valgrind about conservative GC regions and suppress spurious
warings.
* alloc.c (USE_VALGRIND): New macro; on by default
when ENABLE_CHECKING.
(mark_maybe_object,mark_maybe_pointer)
[USE_VALGRIND]: Mark conservatively-scanned regions valid for
valgrind purposes.
(valgrind_p) [USE_VALGRIND]: New variable.
(init_alloc) [USE_VALGRIND]: Initialize valgrind_p.
Jan Djärv [Sun, 22 Sep 2013 14:26:10 +0000 (16:26 +0200)]
Fix compiler warnings from XCode 5.0 on OSX.
* nsterm.m (setMarkedText:selectedRange:):
(deleteWorkingText):
* nsmenu.m (addDisplayItemWithImage:idx:tag:helpText:enabled:):
* nsfont.m (ns_get_covering_families, ns_findfonts): Cast NSLog
argument to unsigned long to avoid warning.
(nsfont_draw): Use 0.25 instead of Fix2X (kATSItalicQDSkew).
* process.c (wait_reading_process_output): Change int pnamelen to
socklen_t.
Xue Fuqiao [Sun, 22 Sep 2013 12:49:53 +0000 (20:49 +0800)]
* doc/lispref/nonascii.texi (Default Coding Systems): Typo fix.
Leo Liu [Sun, 22 Sep 2013 12:23:20 +0000 (20:23 +0800)]
* files.el (interpreter-mode-alist): Add octave.
Jan Djärv [Sun, 22 Sep 2013 11:07:17 +0000 (13:07 +0200)]
* conf_post.h (assume): Fix compiler error: x shall be cond.
Daniel Colascione [Sun, 22 Sep 2013 09:48:21 +0000 (01:48 -0800)]
Suppress unused variable warning when compiling without a window system.
Daniel Colascione [Sun, 22 Sep 2013 09:31:55 +0000 (01:31 -0800)]
Add set operations for bool-vector.
http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00404.html
* data.c (Qbool_vector_p): New symbol.
(bool_vector_spare_mask,popcount_size_t_generic)
(popcount_size_t_msc,popcount_size_t_gcc)
(popcount_size_t)
(bool_vector_binop_driver)
(count_trailing_zero_bits,size_t_to_host_endian)
(Fbool_vector_exclusive_or)
(Fbool_vector_union)
(Fbool_vector_intersection,Fbool_vector_set_difference)
(Fbool_vector_subsetp,Fbool_vector_not)
(Fbool_vector_count_matches)
(Fbool_vector_count_matches_at): New functions.
(syms_of_data): Intern new symbol, functions.
* alloc.c (bool_vector_payload_bytes): New function.
(Fmake_bool_vector): Instead of calling Fmake_vector,
which performs redundant initialization and argument checking,
just call allocate_vector ourselves. Make sure we clear any
terminating padding to zero.
(vector_nbytes,sweep_vectors): Use bool_vector_payload_bytes
instead of open-coding the size calculation.
(vroundup_ct): New macro.
(vroundup): Assume argument >= 0; invoke vroundup_ct.
* casetab.c (shuffle,set_identity): Change lint_assume to assume.
* composite.c (composition_gstring_put_cache): Change
lint_assume to assume.
* conf_post.h (assume): New macro.
(lint_assume): Remove.
* dispnew.c (update_frame_1): Change lint_assume to assume.
* ftfont.c (ftfont_shape_by_flt): Change lint_assume
to assume.
* image.c (gif_load): Change lint_assume to assume.
* lisp.h (eassert_and_assume): New macro.
(Qbool_vector_p): Declare.
(CHECK_BOOL_VECTOR,ROUNDUP,BITS_PER_SIZE_T): New macros.
(swap16,swap32,swap64): New inline functions.
* macfont.c (macfont_shape): Change lint_assume to assume.
* ralloc.c: Rename ROUNDUP to PAGE_ROUNDUP throughout.
* xsettings.c (parse_settings): Use new swap16 and
swap32 from lisp.h instead of file-specific macros.
Eli Zaretskii [Sun, 22 Sep 2013 07:13:14 +0000 (10:13 +0300)]
Fix bug #15365 with aborts in try_window_id.
src/xdisp.c (try_window_id): Don't abort if cursor row could not be
found (which can legitimately happen when the glyph row at the
window start is disabled in the current_matrix.
Paul Eggert [Sun, 22 Sep 2013 06:22:05 +0000 (23:22 -0700)]
Fix syntax.h bug introduced by recent INLINE change.
syntax.h defined an extern inline function SYNTAX_ENTRY that was
conditionally compiled one way in some modules, and a different
way in others. This doesn't work with extern inline functions,
which must have the same definition in all modules, because the
defining code might be shared across modules, depending on the
implementation. Symptoms reported by Martin Rudalics in:
http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00414.html
* regex.c, syntax.c (SYNTAX_ENTRY_VIA_PROPERTY): Remove.
(SYNTAX, SYNTAX_ENTRY, SYNTAX_WITH_FLAGS): New macros,
overriding the corresponding functions in syntax.h.
* syntax.h (syntax_property_entry, syntax_property_with_flags)
(syntax_property): New inline functions.
(SYNTAX_ENTRY, SYNTAX_WITH_FLAGS, SYNTAX):
Rewrite in terms of these new functions.