Dmitry Gutov [Tue, 13 Nov 2012 09:30:16 +0000 (13:30 +0400)]
* lisp/progmodes/ruby-mode.el (ruby-add-log-current-method): Print the
period before class method names, not after. Remove handling of
one impossible case. Add comments.
* test/automated/ruby-mode-tests.el
(ruby-add-log-current-method-examples): New test.
(ruby-test-string): Extract from ruby-should-indent-buffer.
Dmitry Antipov [Tue, 13 Nov 2012 06:11:40 +0000 (10:11 +0400)]
Omit glyphs initialization at startup.
* dispnew.c (glyphs_initialized_initially_p): Remove.
(adjust_frame_glyphs_initially): Likewise. Adjust users.
(Fredraw_frame): Move actual code from here...
(redraw_here): ...to here. Add eassert. Adjust comment.
(Fredraw_display): Use redraw_frame.
* xdisp.c (clear_garbaged_frames): Likewise.
Stefan Monnier [Tue, 13 Nov 2012 04:05:35 +0000 (23:05 -0500)]
* lisp/emacs-lisp/advice.el: Remove support for freezing.
(ad-make-freeze-docstring, ad-make-freeze-definition): Remove functions.
(ad-make-single-advice-docstring, ad-defadvice-flags, defadvice):
Remove support for `freeze'.
Glenn Morris [Tue, 13 Nov 2012 03:19:34 +0000 (19:19 -0800)]
Move SES NEWS entry here from emacs-24 and expand it
Cf emacs-24 2012-11-09T15:56:51Z!monnier@iro.umontreal.ca.
Ref: http://lists.gnu.org/archive/html/emacs-devel/2012-11/msg00221.html
Dmitry Gutov [Tue, 13 Nov 2012 03:07:09 +0000 (07:07 +0400)]
* lisp/progmodes/ruby-mode.el (ruby-font-lock-keywords): Never
font-lock the beginning of singleton class as heredoc.
* test/automated/ruby-mode-tests.el (ruby-heredoc-font-lock)
(ruby-singleton-class-no-heredoc-font-lock): New tests.
Stefan Monnier [Tue, 13 Nov 2012 03:00:09 +0000 (22:00 -0500)]
* lisp/emacs-lisp/cl.el (dolist, dotimes, declare): Use advice-add to
override the default.
* lisp/emacs-lisp/cl-macs.el (cl-dolist, cl-dotimes): Rewrite without using
cl--dotimes/dolist.
* lisp/subr.el (dolist, dotimes, declare): Redefine them normally, even when
`cl' is loaded.
* lisp/emacs-lisp/nadvice.el (advice--normalize): New function, extracted
from add-advice.
(advice--strip-macro): New function.
(advice--defalias-fset): Use them to handle macros.
(advice-add): Use them.
(advice-member-p): Correctly handle macros.
Glenn Morris [Tue, 13 Nov 2012 02:25:59 +0000 (18:25 -0800)]
Merge from emacs-24; up to 2012-11-09T14:45:15Z!dmantipov@yandex.ru
Paul Eggert [Tue, 13 Nov 2012 01:35:14 +0000 (17:35 -0800)]
Fix a race with verify-visited-file-modtime.
Since at least 1991 Emacs has ignored an mtime difference of no
more than one second, but my guess is that this was to work around
file system bugs that were fixed long ago. Since the race is
causing problems now, let's remove that code.
* fileio.c (Fverify_visited_file_modtime): Do not accept a file
whose time stamp is off by no more than a second. Insist that the
file time stamps match exactly.
Fixes: debbugs:12863
Stefan Monnier [Mon, 12 Nov 2012 21:31:15 +0000 (16:31 -0500)]
* lisp/emacs-lisp/gv.el (gv-define-simple-setter): One more fix.
Fixes: debbugs:12871
Stefan Monnier [Mon, 12 Nov 2012 20:43:43 +0000 (15:43 -0500)]
* lisp/emacs-lisp/nadvice.el: New package.
* lisp/subr.el (special-form-p): New function.
* lisp/emacs-lisp/elp.el: Use lexical-binding and advice-add.
(elp-all-instrumented-list): Remove var.
(elp-not-profilable): Remove elp-wrapper.
(elp-profilable-p): Use autoloadp and special-form-p.
(elp--advice-name): New const.
(elp-instrument-function): Use advice-add.
(elp--instrumented-p): New predicate.
(elp-restore-function): Use advice-remove.
(elp-restore-all, elp-reset-all): Use mapatoms.
(elp-set-master): Use elp--instrumented-p.
(elp--make-wrapper): Rename from elp-wrapper, return a function
suitable for advice-add. Use cl-inf.
(elp-results): Use mapatoms+elp--instrumented-p.
* lisp/emacs-lisp/debug.el: Use lexical-binding and advice-add.
(debug-function-list): Remove var.
(debug): Rename arg, and then let-bind it explicitly inside.
(debugger-setup-buffer): Rename arg.
(debugger-setup-buffer): Adjust counts to new debug-on-entry setup.
(debugger-frame-number): Adjust to new debug-on-entry setup.
(debug--implement-debug-on-entry): Rename from
implement-debug-on-entry, add argument.
(debugger-special-form-p): Remove, use special-form-p instead.
(debug-on-entry): Use advice-add.
(debug--function-list): New function.
(cancel-debug-on-entry): Use it, along with advice-remove.
(debug-arglist, debug-convert-byte-code, debug-on-entry-1): Remove.
(debugger-list-functions): Use debug--function-list instead of
debug-function-list.
* lisp/emacs-lisp/advice.el (ad-save-real-definition): Remove, unused.
(ad-special-form-p): Remove, use special-form-p instead.
(ad-set-advice-info): Use add-function and remove-function.
(ad--defalias-fset): Adjust accordingly.
* test/automated/advice-tests.el: New tests.
Chong Yidong [Mon, 12 Nov 2012 19:54:37 +0000 (03:54 +0800)]
Doc fix for gdb-stopped-functions.
* building.texi (Multithreaded Debugging): gdb-stopped-hooks is
actually named gdb-stopped-functions.
Glenn Morris [Mon, 12 Nov 2012 19:44:39 +0000 (14:44 -0500)]
NEWS updates for the ever-changing python.el
Wolfgang Jenkner [Mon, 12 Nov 2012 17:12:33 +0000 (18:12 +0100)]
lisp/ansi-color.el (ansi-color-apply-sequence): Implement SGR codes 39 and 49.
This fixes bug#12792. Also, treat unimplemented parameters as 0,
thereby restoring the behavior of revisions prior to 2012-08-15T03:33:55Z!monnier@iro.umontreal.ca.
Stefan Monnier [Mon, 12 Nov 2012 16:50:08 +0000 (11:50 -0500)]
* lisp/cedet/semantic/mru-bookmark.el (semantic-mru-bookmark-mode):
* lisp/cedet/semantic/grammar.el (semantic-grammar-mode):
* lisp/cedet/semantic/util-modes.el (semantic-highlight-edits-mode)
(semantic-show-parser-state-mode): Avoid obsolete name
semantic-edits-new-change-hooks.
Fixes: debbugs:12869
Dmitry Antipov [Mon, 12 Nov 2012 16:02:46 +0000 (20:02 +0400)]
* frame.h (struct frame): Convert external_tool_bar member to
1-bit unsigned bitfield.
* termhooks.h (struct terminal): Remove mouse_moved member since
all users are long dead. Adjust comment on mouse_position_hook.
Eli Zaretskii [Mon, 12 Nov 2012 15:25:34 +0000 (17:25 +0200)]
Fix bug #12867 with crashes due to large field width in mode-line format.
src/xdisp.c (decode_mode_spec): Limit the value of WIDTH argument
passed to pint2str and pint2hrstr to be at most the size of the
frame's decode_mode_spec_buffer. This avoids crashes with very
large values of FIELD_WIDTH argument to decode_mode_spec.
Fabián Ezequiel Gallina [Mon, 12 Nov 2012 13:26:50 +0000 (10:26 -0300)]
Fix end-of-defun misbehavior.
* progmodes/python.el (python-nav-beginning-of-defun): Rename from
python-beginning-of-defun-function. Handle nested defuns
correctly.
(python-nav-end-of-defun): Rename from
python-end-of-defun-function. Ensure forward movement.
(python-info-current-defun): Reimplemented to work as intended
with new fixed python-nav-{end,beginning}-of-defun. Stop scanning
parent defuns as soon as possible.
Glenn Morris [Mon, 12 Nov 2012 08:42:27 +0000 (00:42 -0800)]
Document flymake fringe bitmaps
* doc/misc/flymake.texi (Customizable variables)
(Highlighting erroneous lines): Mention flymake-error-bitmap,
flymake-warning-bitmap, and flymake-fringe-indicator-position.
* lisp/progmodes/flymake.el (flymake-error-bitmap)
(flymake-warning-bitmap, flymake-fringe-indicator-position): Doc fixes.
(flymake-error-bitmap, flymake-warning-bitmap): Fix :types.
* etc/NEWS: Related markup.
Glenn Morris [Mon, 12 Nov 2012 08:23:23 +0000 (00:23 -0800)]
Mention a few more gv.el features in the lispref
* doc/lispref/variables.texi (Adding Generalized Variables):
At least mention gv-define-expander and gv-letplace.
Glenn Morris [Mon, 12 Nov 2012 08:18:38 +0000 (00:18 -0800)]
* doc/emacs/misc.texi (Single Shell): Mention async-shell-command-buffer.
* etc/NEWS: Related markup.
Vincent Belaïche [Mon, 12 Nov 2012 05:53:53 +0000 (06:53 +0100)]
* ses.texi: Doc for ses-rename-cell, ses-repair-cell-reference-all & ses-range.
In all file place SES into @acronym{...}.
(Advanced Features): Add key index and function index for
ses-set-header-row. Add description for function
ses-rename-cell. Add description for function
ses-repair-cell-reference-all.
(Ranges in formulas): Add description for ses-range flags.
Dmitry Antipov [Mon, 12 Nov 2012 04:00:55 +0000 (08:00 +0400)]
Simplify by using FOR_EACH_FRAME here and there.
* frame.c (next_frame, prev_frame, other_visible_frames)
(delete_frame, visible-frame-list): Use FOR_EACH_FRAME.
* w32term.c (x_window_to_scroll_bar): Likewise.
* window.c (window_list): Likewise.
* xdisp.c (x_consider_frame_title): Likewise.
* xfaces.c ( Fdisplay_supports_face_attributes_p): Likewise.
* xfns.c (x_window_to_frame, x_any_window_to_frame)
(x_menubar_window_to_frame, x_top_window_to_frame): Likewise.
* xmenu.c (menubar_id_to_frame): Likewise.
* xselect.c (frame_for_x_selection): Likewise.
* xterm.c (x_frame_of_widget, x_window_to_scroll_bar)
(x_window_to_menu_bar): Likewise.
* w32fns.c (x_window_to_frame): Likewise. Adjust comment.
Paul Eggert [Mon, 12 Nov 2012 03:10:51 +0000 (19:10 -0800)]
* texinfo.tex: Merge from gnulib.
Paul Eggert [Mon, 12 Nov 2012 02:08:06 +0000 (18:08 -0800)]
* data.c (Qdefalias_fset_function): Now static.
Dmitry Gutov [Mon, 12 Nov 2012 01:11:06 +0000 (05:11 +0400)]
* lisp/progmodes/ruby-mode.el (ruby-move-to-block): When moving
backward, always stop at indentation. Reverts the change from
2012-08-12T22:06:56Z!monnier@iro.umontreal.ca.
Fixes: debbugs:12851
Paul Eggert [Mon, 12 Nov 2012 01:09:34 +0000 (17:09 -0800)]
Another tweak to vectorlike_header change.
* alloc.c (struct Lisp_Vectorlike_Free, NEXT_IN_FREE_LIST):
Remove, and replace all uses with ...
(next_in_free_list, set_next_in_free_list):
New functions, which respect C's aliasing rules better.
Paul Eggert [Sun, 11 Nov 2012 18:39:29 +0000 (10:39 -0800)]
* window.c (list4i): Rename from 'quad'. All uses changed.
Needed because <sys/types.h> defines 'quad' on Solaris 10.
Juanma Barranquero [Sun, 11 Nov 2012 14:19:13 +0000 (15:19 +0100)]
src/xdisp.c (start_hourglass) [HAVE_NTGUI]: Silence warning.
Glenn Morris [Sun, 11 Nov 2012 11:22:06 +0000 (06:22 -0500)]
Auto-commit of loaddefs files.
Glenn Morris [Sun, 11 Nov 2012 02:22:26 +0000 (18:22 -0800)]
Add ibuffer-filter-by-derived-mode to ibuffer menu and doc
* lisp/ibuffer.el (ibuffer-mode-map, ibuffer-mode):
Add ibuffer-filter-by-derived-mode.
* etc/NEWS: Related markup.
Glenn Morris [Sun, 11 Nov 2012 02:18:14 +0000 (18:18 -0800)]
Fix ibuffer menu typo
* lisp/ibuffer.el (ibuffer-mode-map): Don't have two menu items with
the same name shadowing each other.
Glenn Morris [Sun, 11 Nov 2012 02:12:56 +0000 (18:12 -0800)]
NEWS markup
Glenn Morris [Sun, 11 Nov 2012 02:03:45 +0000 (18:03 -0800)]
NEWS markup
Glenn Morris [Sun, 11 Nov 2012 01:47:56 +0000 (17:47 -0800)]
* lisp/window.el (with-temp-buffer-window): Doc tweak.
Glenn Morris [Sun, 11 Nov 2012 01:16:25 +0000 (17:16 -0800)]
Document debugger-bury-or-kill
* doc/lispref/debugging.texi (Using Debugger): Mention debugger-bury-or-kill.
* lisp/emacs-lisp/debug.el (debugger-bury-or-kill): Doc tweak.
* etc/NEWS: Related edit.
Glenn Morris [Sun, 11 Nov 2012 00:58:51 +0000 (16:58 -0800)]
* doc/lispref/debugging.texi (Error Debugging): Mention debug-on-message.
* etc/NEWS: Related markup.
Glenn Morris [Sun, 11 Nov 2012 00:43:54 +0000 (16:43 -0800)]
Fix more custom :versions
* lisp/help.el (temp-buffer-max-height):
* lisp/window.el (fit-frame-to-buffer, fit-frame-to-buffer-bottom-margin):
Fix :version.
Glenn Morris [Sun, 11 Nov 2012 00:40:37 +0000 (16:40 -0800)]
* lisp/emacs-lisp/debug.el (debugger-bury-or-kill): Fix :version.
Glenn Morris [Sun, 11 Nov 2012 00:37:40 +0000 (16:37 -0800)]
Document new error symbol and function user-error
* doc/lispref/control.texi (Signaling Errors):
* doc/lispref/debugging.texi (Error Debugging):
* doc/lispref/errors.texi (Standard Errors): Add user-error.
* etc/NEWS: Related markup.
Glenn Morris [Sun, 11 Nov 2012 00:20:51 +0000 (16:20 -0800)]
Formatting tweak for variables.texi
* doc/lispref/variables.texi (Adding Generalized Variables):
Use standard formatting for common lisp note about setf functions.
Glenn Morris [Sat, 10 Nov 2012 23:43:47 +0000 (15:43 -0800)]
Add missing make-local-variable calls in srt-mode.el
* lisp/cedet/srecode/srt-mode.el (srecode-template-mode):
Don't change global values of comment-start, comment-end.
Fixes: debbugs:12781
Glenn Morris [Sat, 10 Nov 2012 23:19:43 +0000 (15:19 -0800)]
Remove report-emacs-bug-query-existing-bugs (use debbugs from GNU ELPA instead)
* lisp/mail/emacsbug.el (report-emacs-bug-tracker-url)
(report-emacs-bug-bug-alist, report-emacs-bug-choice-widget)
(report-emacs-bug-create-existing-bugs-buffer)
(report-emacs-bug-parse-query-results)
(report-emacs-bug-query-existing-bugs): Remove.
Fixes: debbugs:7449
Glenn Morris [Sat, 10 Nov 2012 23:13:33 +0000 (15:13 -0800)]
Merge from emacs-24; up to 2012-11-08T14:54:03Z!monnier@iro.umontreal.ca
Leo Liu [Sat, 10 Nov 2012 14:55:09 +0000 (22:55 +0800)]
Backport: * lisp/ido.el (ido-set-matches-1): Fix split-string args to
avoid performance issue.
Fixes: debbugs:12796
Glenn Morris [Sat, 10 Nov 2012 01:50:56 +0000 (20:50 -0500)]
Fix earlier NEWS change
Glenn Morris [Sat, 10 Nov 2012 01:48:44 +0000 (20:48 -0500)]
Make term-default-fg-color, term-default-bg-color obsolete
* lisp/term.el (term-default-fg-color, term-default-bg-color):
Make obsolete, rather than just saying "deprecated" in the doc.
Glenn Morris [Sat, 10 Nov 2012 01:40:48 +0000 (20:40 -0500)]
Face names should not end in -face (term-face)
* lisp/term.el (term): Rename from `term-face'.
(term-current-face, ansi-term-color-vector)
(term-default-fg-color, term-default-bg-color, term-ansi-reset):
Update all users.
* doc/emacs/misc.texi (Terminal emulator): Rename `term-face' to `term'.
* etc/NEWS: Related edit.
Glenn Morris [Sat, 10 Nov 2012 01:36:05 +0000 (20:36 -0500)]
More small NEWS copyedits
Leo Liu [Sat, 10 Nov 2012 01:28:22 +0000 (09:28 +0800)]
* lisp/ido.el (ido-set-matches-1): Improve flex matching performance by
removing backtracking in the regexp (suggested by Stefan).
Fixes: debbugs:12796
Stefan Monnier [Fri, 9 Nov 2012 22:20:47 +0000 (17:20 -0500)]
Provide new `defalias-fset-function' symbol property.
* src/lisp.h (AUTOLOADP): New macro.
* src/eval.c (Fautoload): Don't attach to loadhist, call Fdefalias instead.
* src/data.c (Ffset): Remove special ad-advice-info handling.
(Fdefalias): Handle autoload definitions and new Qdefalias_fset_function.
(Fsubr_arity): CSE.
(Finteractive_form): Simplify.
(Fquo): Don't insist on having at least 2 arguments.
(Qdefalias_fset_function): New var.
* lisp/emacs-lisp/advice.el (ad-set-advice-info): Set defalias-fset-function.
(ad--defalias-fset): New function.
(ad-safe-fset): Remove.
(ad-make-freeze-definition): Use cl-letf*.
Stefan Monnier [Fri, 9 Nov 2012 20:45:10 +0000 (15:45 -0500)]
* lisp/subr.el (dolist): Don't bind VAR in RESULT.
Stefan Monnier [Fri, 9 Nov 2012 20:41:03 +0000 (15:41 -0500)]
* lisp/emacs-lisp/advice.el: Miscellaneous cleanup. Use lexical-binding.
(fset, documentation): Don't save real def since we don't advise.
(ad-do-advised-functions): Remove problematic `result-form'.
(ad-safe-fset): `ad-real-fset' => `fset'.
(ad-read-advised-function): Don't assume that ad-do-advised-functions
uses CL's dolist internally.
(ad-arglist): Remove unused arg `name'.
(ad-docstring, ad-make-advised-docstring):
`ad-real-documentation' => `documentation'.
(warning-suppress-types): Declare.
(ad-set-arguments): Simple CSE.
(ad-recover-normality): Sanity check.
Jan Djärv [Fri, 9 Nov 2012 19:47:28 +0000 (20:47 +0100)]
* image.c (xpm_make_color_table_h): Change to hashtest_equal.
Stefan Monnier [Fri, 9 Nov 2012 15:56:51 +0000 (10:56 -0500)]
* lisp/emacs-lisp/bytecomp.el (byte-compile-out-toplevel): Don't turn
(funcall '(lambda ..) ..) into ((lambda ..) ..).
Jan Djärv [Fri, 9 Nov 2012 15:44:07 +0000 (16:44 +0100)]
* nsfont.m (Qcondensed, Qexpanded): New variables.
(ns_descriptor_to_entity): Restore Qcondensed, Qexpanded setting.
(syms_of_nsfont): Defsym Qcondensed, Qexpanded.
Dmitry Antipov [Fri, 9 Nov 2012 14:45:15 +0000 (18:45 +0400)]
Fix recently introduced crash on MS-Windows (Bug#12839).
* w32term.h (struct scroll_bar): Use convenient header.
(SCROLL_BAR_VEC_SIZE): Remove.
* w32term.c (x_scroll_bar_create): Use VECSIZE.
Dmitry Antipov [Fri, 9 Nov 2012 11:38:31 +0000 (15:38 +0400)]
Tweak last vectorlike_header change.
* alloc.c (struct Lisp_Vectorlike_Free): Special type to represent
vectorlike object on the free list. This is introduced to avoid
some (but not all) pointer casting and aliasing problems, see
http://lists.gnu.org/archive/html/emacs-devel/2012-11/msg00105.html.
* .gdbinit (pvectype, pvecsize): New commands to examine vectorlike
objects.
(xvectype, xvecsize): Use them to examine Lisp_Object values.
Glenn Morris [Fri, 9 Nov 2012 08:42:54 +0000 (00:42 -0800)]
Small NEWS update re profiling
The previously described sequence start, stop, report does nothing.
Ref http://lists.gnu.org/archive/html/emacs-devel/2012-10/msg00010.html
Chong Yidong [Fri, 9 Nov 2012 08:34:17 +0000 (16:34 +0800)]
More updates for the URL library manual.
* url.texi (Introduction): Move url-configuration-directory to
Customization node.
(Parsed URIs): Split into its own node.
(URI Encoding): New node.
(Defining New URLs): Remove empty chapter.
(Retrieving URLs): Add an introduction. Doc fix for url-retrieve.
Improve docs for url-queue-*.
(Supported URL Types): Copyedits. Delete empty subnodes.
Glenn Morris [Fri, 9 Nov 2012 08:30:48 +0000 (00:30 -0800)]
Trivial NEWS copyedits
Glenn Morris [Fri, 9 Nov 2012 08:22:44 +0000 (00:22 -0800)]
Trivial NEWS copyedits
Glenn Morris [Fri, 9 Nov 2012 08:11:23 +0000 (00:11 -0800)]
Small NEWS edits
* etc/NEWS: Mention erc-desktop-notifications.
Remove empty section "New Modes and Packages" (all covered elsewhere).
* etc/GNUS-NEWS: Mention gnus-notifications.
Glenn Morris [Fri, 9 Nov 2012 08:03:58 +0000 (00:03 -0800)]
Some small updates for the Acknowledgments sections in the manual
* doc/emacs/emacs.texi (Acknowledgments): Add profiler author.
* doc/emacs/ack.texi (Acknowledgments): Add some recent contributions.
Jan Djärv [Fri, 9 Nov 2012 06:36:51 +0000 (07:36 +0100)]
* nsfont.m (ns_descriptor_to_entity): Qcondesed and Qexpanded has
been removed, so remove them here also.
Jan Djärv [Fri, 9 Nov 2012 06:28:27 +0000 (07:28 +0100)]
* server.el (server-create-window-system-frame): Improved comment.
Vincent Belaïche [Fri, 9 Nov 2012 05:48:05 +0000 (06:48 +0100)]
* ses.el: Use hash map for getting named cells coordinates.
symbol to coordinate mapping is made by symbol property
`ses-cell'. This means that the same mapping is done for all SES
sheets. That is good enough for cells with standard A1 names, but
not for named cell. So a hash map is added for those
latter.
(defconst ses-localvars): added local variable ses--named-cell-hashmap
(ses-sym-rowcol): Use hashmap for named cell.
(ses-is-cell-sym-p): New defun.
(ses-decode-cell-symbol): New defun.
(ses-create-cell-variable): Add cell to hashmap when name is not A1-like.
(ses-rename-cell): Check that cell new name is not already in
spreadsheet with the use of ses-is-cell-sym-p
(ses-rename-cell): Use hash map for named cells, but accept also
renaming back to A1-like.
Stefan Monnier [Fri, 9 Nov 2012 04:10:16 +0000 (23:10 -0500)]
New property dynamic-docstring-function for docstrings.
* src/doc.c (Fdocumentation): Handle new property
dynamic-docstring-function to replace the old ad-advice-info.
* lisp/emacs-lisp/advice.el: Use new dynamic docstrings.
(ad-make-advised-definition-docstring, ad-advised-definition-p):
Use dynamic-docstring-function instead of ad-advice-info.
(ad--make-advised-docstring): New function extracted from
ad-make-advised-docstring.
(ad-make-advised-docstring): Use it.
* lisp/progmodes/sql.el (sql--make-help-docstring): New function, extracted
from sql-help.
(sql-help): Use it with dynamic-docstring-function.
Stefan Monnier [Fri, 9 Nov 2012 01:31:54 +0000 (20:31 -0500)]
* lisp/env.el (env--substitute-vars-regexp): Don't use rx (for bootstrap).
Paul Eggert [Fri, 9 Nov 2012 00:08:12 +0000 (16:08 -0800)]
* fns.c (Qeql, hashtest_eq): Now static.
Katsumi Yamaoka [Thu, 8 Nov 2012 23:49:58 +0000 (23:49 +0000)]
gnus-art.el (gnus-article-browse-html-parts): Always replace charset in meta tag with the one the part specifies in its header
Stefan Monnier [Thu, 8 Nov 2012 21:58:55 +0000 (16:58 -0500)]
* src/lisp.h (XHASH): Redefine to be imperfect and fit in a Lisp int.
* src/fns.c (hashfn_eq, hashfn_eql, sxhash):
* src/profiler.c (hashfn_profiler): Don't use XUINT on non-integers.
* src/buffer.c (compare_overlays): Use XLI rather than XHASH.
Paul Eggert [Thu, 8 Nov 2012 21:43:34 +0000 (13:43 -0800)]
Use same hash function for hashfn_profiler as for hash_string etc.
* fns.c (SXHASH_COMBINE): Remove. All uses replaced by sxhash_combine.
* lisp.h (sxhash_combine): New inline function, with the contents
of the old SXHASH_COMBINE.
* profiler.c (hashfn_profiler): Use it, instead of having a
special hash function containing a comparison that always yields 1.
Stefan Monnier [Thu, 8 Nov 2012 21:02:10 +0000 (16:02 -0500)]
* src/xfaces.c (Qultra_light, Qreverse_oblique, Qreverse_italic)
(Qultra_condensed, Qextra_condensed, Qcondensed, Qsemi_condensed)
(Qsemi_expanded, Qextra_expanded, Qexpanded, Qultra_expanded):
Remove unused vars.
Jan Djärv [Thu, 8 Nov 2012 19:52:28 +0000 (20:52 +0100)]
* image.c (xpm_make_color_table_h): Fix compiler error because
make_hash_table changed.
Jan Djärv [Thu, 8 Nov 2012 19:51:07 +0000 (20:51 +0100)]
nsfont.m (ns_findfonts): Handle empty matchingDescs (Bug#11541).
Stefan Monnier [Thu, 8 Nov 2012 19:50:08 +0000 (14:50 -0500)]
* lisp/files.el (hack-one-local-variable--obsolete): New function.
(hack-one-local-variable): Use it for obsolete settings.
Stefan Monnier [Thu, 8 Nov 2012 19:45:58 +0000 (14:45 -0500)]
* lisp/subr.el (locate-user-emacs-file): If both old and new name exist, use
the new name.
Stefan Monnier [Thu, 8 Nov 2012 19:44:52 +0000 (14:44 -0500)]
* lisp/progmodes/js.el: Prefer advice to cl-letf's sneaky rebinding.
(c-forward-sws, c-backward-sws, c-beginning-of-macro): Advise.
(js--filling-paragraph): New var.
(js-c-fill-paragraph): Bind it instead of letf-ing the functions.
Jan Djärv [Thu, 8 Nov 2012 19:25:39 +0000 (20:25 +0100)]
* server.el (server-create-window-system-frame): Handle Nextstep
specially.
Fixes: debbugs:12780
Stefan Monnier [Thu, 8 Nov 2012 19:12:23 +0000 (14:12 -0500)]
Use ad-hoc comparison function for the profiler's hash-tables.
* src/profiler.c (Qprofiler_backtrace_equal, hashtest_profiler): New vars.
(make_log): Use them.
(handle_profiler_signal): Don't inhibit quit any longer since we don't
call Fequal any more.
(Ffunction_equal): New function.
(cmpfn_profiler, hashfn_profiler): New functions.
(syms_of_profiler): Initialize them.
* src/lisp.h (struct hash_table_test): New struct.
(struct Lisp_Hash_Table): Use it.
* src/alloc.c (mark_object): Mark hash_table_test fields of hash tables.
* src/fns.c (make_hash_table): Take a struct to describe the test.
(cmpfn_eql, cmpfn_equal, cmpfn_user_defined, hashfn_eq, hashfn_eql)
(hashfn_equal, hashfn_user_defined): Adjust to new calling convention.
(hash_lookup, hash_remove_from_table): Move assertion checking of
hashfn result here. Check hash-equality before calling cmpfn.
(Fmake_hash_table): Adjust call to make_hash_table.
(hashtest_eq, hashtest_eql, hashtest_equal): New structs.
(syms_of_fns): Initialize them.
* src/emacs.c (main): Move syms_of_fns earlier.
* src/xterm.c (syms_of_xterm):
* src/category.c (hash_get_category_set): Adjust call to make_hash_table.
* src/print.c (print_object): Adjust to new hash-table struct.
* src/composite.c (composition_gstring_put_cache): Adjust to new hashfn.
Chong Yidong [Thu, 8 Nov 2012 19:03:49 +0000 (03:03 +0800)]
Update the URL library manual.
* doc/misc/url.texi (Introduction): Rename from Getting Started.
Rewrite the introduction.
(URI Parsing): Rewrite. Omit the obsolete attributes slot.
Glenn Morris [Thu, 8 Nov 2012 18:35:08 +0000 (13:35 -0500)]
Make report-emacs-bug-query-existing-bugs obsolete (bug#7449)
* lisp/mail/emacsbug.el (report-emacs-bug-query-existing-bugs):
Unautoload, and make obsolete.
Chong Yidong [Thu, 8 Nov 2012 17:31:53 +0000 (01:31 +0800)]
Rewrite and rename diff-delete-trailing-whitespace.
* lisp/vc/diff-mode.el (diff-delete-trailing-whitespace): Rewrite, and
rename from diff-remove-trailing-whitespace (Bug#12831).
* files.texi (Diff Mode): Doc fixes for
diff-delete-trailing-whitespace.
Eli Zaretskii [Thu, 8 Nov 2012 17:02:56 +0000 (19:02 +0200)]
More fixes for bug #12806.
src/w32fns.c (modifier_set): Fix handling of Scroll Lock when the
value of w32-scroll-lock-modifier is neither nil nor one of the
known key modifiers.
Julien Danjou [Thu, 8 Nov 2012 16:37:34 +0000 (17:37 +0100)]
Add Rakefile in auto-mode-list for ruby-mode
* progmodes/ruby-mode.el (auto-mode-alist): Add Rakefile in
`auto-mode-alist' (Bug#12835).
Stefan Monnier [Thu, 8 Nov 2012 15:37:29 +0000 (10:37 -0500)]
* perl-mode.el: Add coding cookie.
Stefan Monnier [Thu, 8 Nov 2012 15:35:32 +0000 (10:35 -0500)]
* lisp/progmodes/perl-mode.el (perl-prettify-symbols): New defcustom.
(perl--prettify-symbols-alist): New const.
(perl--font-lock-compose-symbol, perl--font-lock-symbols-keywords): New funs.
(perl-font-lock-keywords-2): Use them.
(perl-electric-noindent-p): New function.
(perl-mode): Use it to set up electric-indent-mode.
(perl-electric-terminator, perl-indent-command): Mark obsolete.
(perl-mode-map): Remove bindings for them.
(perl-imenu-generic-expression, perl-outline-level):
Match functions&packages in column>0.
Stefan Monnier [Thu, 8 Nov 2012 15:10:08 +0000 (10:10 -0500)]
* lisp/env.el (env--substitute-vars-regexp): New const.
(substitute-env-vars): Use it. Add `only-defined' arg.
* lisp/net/tramp.el (tramp-replace-environment-variables): Use it.
Stefan Monnier [Thu, 8 Nov 2012 14:58:15 +0000 (09:58 -0500)]
* lisp/emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment):
Byte-compile *before* eval in eval-and-compile.
(byte-compile-log-warning): Remove redundant inhibit-read-only.
(byte-compile-file-form-autoload): Don't hide actual definition.
(byte-compile-maybe-guarded): Accept `functionp' as well.
Stefan Monnier [Thu, 8 Nov 2012 14:54:03 +0000 (09:54 -0500)]
* lisp/emacs-lisp/gv.el (gv-deref): Move setter declaration, to fix bootstrap.
Stefan Monnier [Thu, 8 Nov 2012 14:36:47 +0000 (09:36 -0500)]
* lisp/emacs-lisp/advice.el: Require `cl-lib' at run-time to fix
miscompilation of trace.el.
Stefan Monnier [Thu, 8 Nov 2012 14:21:21 +0000 (09:21 -0500)]
* lisp/emacs-lisp/gv.el (gv-ref, gv-deref): New function and macro.
Dmitry Antipov [Thu, 8 Nov 2012 14:10:28 +0000 (18:10 +0400)]
Shrink struct vectorlike_header to the only size field.
* lisp.h (enum pvec_type): Avoid explicit enum member values.
Adjust comment.
(enum More_Lisp_Bits): Change PSEUDOVECTOR_SIZE_BITS and
PVEC_TYPE_MASK to arrange new bitfield in the vector header.
(PSEUDOVECTOR_REST_BITS, PSEUDOVECTOR_REST_MASK): New members.
(PSEUDOVECTOR_AREA_BITS): New member used to extract subtype
information from the vector header. Adjust comment.
(XSETPVECTYPE, XSETPVECTYPESIZE, XSETTYPED_PSEUDOVECTOR)
(PSEUDOVECTOR_TYPEP, DEFUN): Adjust to match new vector header
layout.
(XSETSUBR, SUBRP): Adjust to match new Lisp_Subr layout.
(struct vectorlike_header): Remove next member. Adjust comment.
(struct Lisp_Subr): Add convenient header. Adjust comment.
(allocate_pseudovector): Adjust prototype.
* alloc.c (mark_glyph_matrix, mark_face_cache, allocate_string)
(sweep_string, lisp_malloc): Remove useless prototypes.
(enum mem_type): Adjust comment.
(NEXT_IN_FREE_LIST): New macro.
(SETUP_ON_FREE_LIST): Adjust XSETPVECTYPESIZE usage.
(Fmake_bool_vector): Likewise.
(struct large_vector): New type to represent allocation unit for
the vectors with the memory footprint more than VBLOOCK_BYTES_MAX.
(large_vectors): Change type to struct large_vector.
(allocate_vector_from_block): Simplify.
(PSEUDOVECTOR_NBYTES): Replace with...
(vector_nbytes): ...new function. Adjust users.
(sweep_vectors): Adjust processing of large vectors.
(allocate_vectorlike): Likewise.
(allocate_pseudovector): Change type of 3rd arg to enum pvec_type.
Add easserts. Adjust XSETPVECTYPESIZE usage.
(allocate_buffer): Use BUFFER_PVEC_INIT.
(live_vector_p): Adjust to match large vector.
* buffer.c (init_buffer_once): Use BUFFER_PVEC_INIT.
* buffer.h (struct buffer): Add next member.
(BUFFER_LISP_SIZE, BUFFER_REST_SIZE, BUFFER_PVEC_INIT):
New macros.
(FOR_EACH_BUFFER): Adjust to match struct buffer change.
* fns.c (internal_equal): Adjust to match enum pvec_type change.
(copy_hash_table): Adjust to match vector header change.
* lread.c (defsubr): Use XSETPVECTYPE.
* .gdbinit (xpr, xbacktrace): Adjust to match vector header change.
(xvectype): Likewise. Print PVEC_NORMAL_VECTOR for regular vectors.
(xvecsize): New command.
Stefan Monnier [Thu, 8 Nov 2012 13:34:06 +0000 (08:34 -0500)]
* lisp/emacs-lisp/gv.el (gv-ref, gv-deref): New function and macro.
Chong Yidong [Thu, 8 Nov 2012 10:35:40 +0000 (18:35 +0800)]
* doc/emacs/trouble.texi (Crashing): Copyedits.
Dmitry Antipov [Thu, 8 Nov 2012 09:26:40 +0000 (13:26 +0400)]
* keyboard.c (event_to_kboard): Do not dereference
frame_or_window field of SELECTION_REQUEST_EVENT
and SELECTION_CLEAR_EVENT events (Bug#12814).
* xterm.h (struct selection_input_event): Adjust comment.
Glenn Morris [Thu, 8 Nov 2012 08:14:23 +0000 (00:14 -0800)]
Document diff-remove-trailing-whitespace
* doc/emacs/files.texi (Diff Mode): Trailing whitespace updates.
* lisp/vc/diff-mode.el (diff-remove-trailing-whitespace): Doc fix.
* etc/NEWS: Related markup.
Michael Albinus [Thu, 8 Nov 2012 07:50:43 +0000 (08:50 +0100)]
* os.texi (Notifications): Update descriptions of
notifications-notify, notifications-close-notification and
notifications-get-capabilities according to latest code changes.
Add notifications-get-server-information.
Glenn Morris [Thu, 8 Nov 2012 04:20:00 +0000 (20:20 -0800)]
Tweak previous change
Glenn Morris [Thu, 8 Nov 2012 04:19:38 +0000 (20:19 -0800)]
Direct ERC news to the main NEWS file