1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-25 10:47:00 +00:00
Commit Graph

2930 Commits

Author SHA1 Message Date
Paul Eggert
86ec63ba30 Revert the FOLLOW-SYMLINKS change for file-attributes. 2012-09-30 19:07:14 -07:00
Paul Eggert
e7a2937b11 file-attributes has a new optional arg FOLLOW-SYMLINKS.
* doc/lispref/files.texi (File Attributes): Describe it.
(Magic File Names): Use it.
* etc/NEWS: Document the change.
* lisp/files.el (remote-file-name-inhibit-cache):
* lisp/time.el (display-time-file-nonempty-p): Use it.
* lisp/files.el (after-find-file): Don't chase links before calling
file-exists-p, as file-exists-p already does the right thing.
* src/dired.c (directory_files_internal, Ffile_attributes):
New arg follow_symlinks.  All uses changed.
2012-09-30 14:12:04 -07:00
Jan Djärv
d7e642cc00 Support file name dialog on NS.
* etc/NEWS: Mention that the file dialog is used on NS.

* lisp/term/ns-win.el (x-file-dialog): New function.

* src/fileio.c (Fnext_read_file_uses_dialog_p): Add HAVE_NS.

* src/nsfns.m (ns_frame_parm_handlers): Add x_set_fullscreen.

* src/nsfns.m (Fns_read_file_name): Add argument DIR_ONLY_P.
Initialize panel name field if OSX >= 10.6.

* src/w32fns.c (Fx_file_dialog): Update comment.

* src/xfns.c (Fx_file_dialog): Update comment.
2012-09-30 15:43:47 +02:00
Jan Djärv
dd946752ab Add support for fullscreen in the NS port.
* etc/NEWS: The NS port supports fullscreen.

* src/nsfns.m (ns_frame_parm_handlers): Add x_set_fullscreen.

* src/nsterm.h (MAC_OS_X_VERSION_10_7, MAC_OS_X_VERSION_10_8): New.
(EmacsView): Add variables for fullscreen.
(handleFS, setFSValue, toggleFullScreen): New in EmacsView.
(EmacsFSWindow): New interface for fullscreen.

* src/nsterm.m (NEW_STYLE_FS): New define.
(ns_fullscreen_hook, windowWillEnterFullScreen)
(windowDidEnterFullScreen, windowWillExitFullScreen)
(windowDidExitFullScreen, toggleFullScreen, handleFS)
(setFSValue): New functions.
(EmacsFSWindow): New implementation.
(canBecomeKeyWindow): New function for EmacsFSWindow.
(ns_create_terminal): Set fullscreen_hook to ns_fullscreen_hook.
(dealloc): Release nonfs_window if in fullscreen.
(updateFrameSize:): Call windowDidMove to update top/left.
(windowWillResize:toSize:): Check if frame is still maximized.
(initFrameFromEmacs:): Initialize fs_state, fs_before_fs,
next_maximized, maximized_width, maximized_height and nonfs_window.
Call setCollectionBehavior if NEW_STYLE_FS.  Initialize bwidth and
tbar_height.
(windowWillUseStandardFrame:defaultFrame:): Update frame parameter
fullscreen. Set maximized_width/height.  Act on next_maximized.
2012-09-30 14:50:09 +02:00
Chong Yidong
48de8b1221 Update docs for a bunch of 24.3 changes.
* doc/emacs/killing.texi (Rectangles): Document copy-rectangle-as-kill.

* doc/emacs/search.texi (Special Isearch): Document the lax space search
feature and M-s SPC.
(Regexp Search): Move main search-whitespace-regexp description to
Special Isearch.
(Replace): Document replace-lax-whitespace.

* doc/emacs/basic.texi (Position Info): Document C-u M-=.
(Moving Point): Document move-to-column.

* doc/emacs/display.texi (Useless Whitespace): Add delete-trailing-lines.

* doc/emacs/misc.texi (emacsclient Options): Document the effect of
initial-buffer-choice on client frames.  Document server-auth-dir.
Do not document server-host, which is bad security practice.

* doc/emacs/building.texi (Lisp Libraries): Docstring lookups can trigger
autoloading.  Document help-enable-auto-load.

* doc/emacs/mini.texi (Yes or No Prompts): New node.

* doc/emacs/ack.texi (Acknowledgments): Remove obsolete packages.

* doc/lispref/commands.texi (Click Events): Define "mouse position list".
Remove mention of unimplemented horizontal scroll bars.
(Drag Events, Motion Events): Refer to "mouse position list".
(Accessing Mouse): Document posnp.

* doc/lispref/errors.texi (Standard Errors): Tweak arith-error description.
Tweak markup.  Remove domain-error and friends, which seem to be
unused after the floating-point code revamp.

* doc/lispref/functions.texi (Obsolete Functions): Obsolescence also affects
documentation commands.  Various clarifications.
(Declare Form): New node.

* doc/lispref/loading.texi (Autoload):
* doc/lispref/help.texi (Documentation Basics): The special sequences can
trigger autoloading.

* doc/lispref/macros.texi (Defining Macros): Move description of `declare' to
Declare Form node.

* doc/lispref/numbers.texi (Integer Basics): Copyedits.
(Float Basics): Consider IEEE floating point always available.
(Random Numbers): Document actual limits.
(Arithmetic Operations): Clarify division by zero.  Don't mention
the machine-independence of negative division since it does not
happen in practice.

* doc/lispref/os.texi (Idle Timers): Minor clarifications.
(User Identification): Add system-users and system-groups.

* doc/lispref/strings.texi (String Basics): Copyedits.

* lisp/minibuffer.el (minibuffer-local-filename-syntax): Doc fix.

* lisp/server.el (server-host): Document the security implications.
(server-auth-key): Doc fix.

* lisp/startup.el (initial-buffer-choice): Doc fix.

* src/fns.c (Frandom): Doc fix.
2012-09-30 17:18:38 +08:00
Martin Rudalics
5938d5196d Handle window-height and window-width alist entries in `display-buffer'.
In buffer display functions handle window-height/window-width
alist entries.  Suggested by Juri Linkov as fix for Bug#1806.
* window.el (window--display-buffer): New argument ALIST.  Obey
window-height and window-width alist entries.
(window--try-to-split-window): New argument ALIST.  Bind
window-combination-limit to t when the window's size shall be
changed and window-combination-limit equals `window-size'.
(display-buffer-in-atom-window)
(display-buffer-in-major-side-window)
(display-buffer-in-side-window, display-buffer-same-window)
(display-buffer-reuse-window, display-buffer-pop-up-frame)
(display-buffer-pop-up-window, display-buffer-below-selected)
(display-buffer-at-bottom, display-buffer-in-previous-window)
(display-buffer-use-some-window): Adjust all callers of
window--display-buffer and window--try-to-split-window.
(fit-frame-to-buffer): New option.
(fit-window-to-buffer): Can resize frames if fit-frame-to-buffer
is non-nil.
(display-buffer-in-major-side-window): Evaluate window-height /
window-width alist entries.

* help.el (temp-buffer-resize-frames)
(temp-buffer-resize-regexps): Remove options.
(temp-buffer-resize-mode): Adjust doc-string.
(resize-temp-buffer-window): Don't consult
temp-buffer-resize-regexps.  Use fit-frame-to-buffer instead of
temp-buffer-resize-frames.

* dired.el (dired-mark-pop-up): Call
display-buffer-below-selected with a fit-window-to-buffer alist
entry.

* window.c (Vwindow_combination_limit): New default value.
(Qwindow_size): New symbol replacing Qtemp_buffer_resize.
2012-09-30 11:10:59 +02:00
Chong Yidong
d39d3c8e5f * lisp/bindings.el (goto-map): Bind M-g TAB to move-to-column. 2012-09-30 16:35:11 +08:00
Glenn Morris
5cc2e639c3 Use define-minor-mode for winner-mode
* lisp/winner.el (winner-mode): Remove variable (let define-minor-mode
handle it).
(winner-dont-bind-my-keys, winner-boring-buffers, winner-mode-hook):
Doc fixes.
(winner-mode-leave-hook): Rename to winner-mode-off-hook.
(winner-mode): Use define-minor-mode.

* etc/NEWS: Mention winner-mode-hook.
2012-09-29 16:52:03 -07:00
Stefan Monnier
a2e770db7f * lisp/minibuf-eldef.el: Make it possible to replace (default ...) with [...].
Set lexical-binding.
(minibuffer-eldef-shorten-default): New var.
(minibuffer-default-in-prompt-regexps): Use it for new default.
(minibuf-eldef-setup-minibuffer): Add replacement functionality.
2012-09-26 22:10:54 -04:00
Stefan Monnier
3a880af4a7 Merge profiler branch 2012-09-26 11:19:10 -04:00
Chong Yidong
59f7af816e Use declare forms, where possible, to mark obsolete functions.
* lisp/allout.el (allout-passphrase-hint-string): Likewise.
(allout-init): Use a declare form to mark obsolete.

* lisp/calendar/calendar.el (calendar-version):
* lisp/calendar/icalendar.el (icalendar-extract-ical-from-buffer)
(icalendar-convert-diary-to-ical):
* lisp/cus-edit.el (custom-mode):
* lisp/ansi-color.el (ansi-color-unfontify-region):
* lisp/international/latin1-disp.el (latin1-char-displayable-p):
* lisp/progmodes/cwarn.el (turn-on-cwarn-mode):
* lisp/progmodes/which-func.el (which-func-update-1): Use
define-obsolete-function-alias.

* lisp/bookmark.el (bookmark-jump-noselect): Use a declare form to mark
this function obsolete.

* lisp/calendar/cal-x.el (calendar-two-frame-setup)
(calendar-only-one-frame-setup, calendar-one-frame-setup):
* lisp/calendar/calendar.el (american-calendar, european-calendar)
(calendar-for-loop):
* lisp/comint.el (comint-dynamic-simple-complete)
(comint-dynamic-complete-as-filename, comint-unquote-filename):
* lisp/desktop.el (desktop-load-default):
* lisp/dired-x.el (dired-omit-here-always)
(dired-hack-local-variables, dired-default-directory):
* lisp/emacs-lisp/derived.el (derived-mode-class):
* lisp/emacs-lisp/timer.el (timer-set-time-with-usecs):
* lisp/emacs-lock.el (toggle-emacs-lock):
* lisp/epa.el (epa-display-verify-result):
* lisp/epg.el (epg-sign-keys, epg-start-sign-keys)
(epg-passphrase-callback-function):
* lisp/eshell/esh-util.el (eshell-for):
* lisp/eshell/eshell.el (eshell-remove-from-window-buffer-names)
(eshell-add-to-window-buffer-names):
* lisp/files.el (locate-file-completion):
* lisp/imenu.el (imenu-example--create-c-index)
(imenu-example--create-lisp-index)
(imenu-example--lisp-extract-index-name)
(imenu-example--name-and-position):
* lisp/international/mule-cmds.el (princ-list):
* lisp/international/mule-diag.el (decode-codepage-char):
* lisp/international/mule-util.el (detect-coding-with-priority):
* lisp/iswitchb.el (iswitchb-read-buffer):
* lisp/mail/mailalias.el (mail-complete):
* lisp/mail/sendmail.el (mail-sent-via):
* lisp/mouse.el (mouse-popup-menubar-stuff, mouse-popup-menubar)
(mouse-major-mode-menu):
* lisp/password-cache.el (password-read-and-add):
* lisp/pcomplete.el (pcomplete-parse-comint-arguments):
* lisp/progmodes/sh-script.el (sh-maybe-here-document):
* lisp/replace.el (query-replace-regexp-eval):
* lisp/savehist.el (savehist-load):
* lisp/simple.el (choose-completion-delete-max-match):
* lisp/term.el (term-dynamic-simple-complete):
* lisp/vc/ediff-init.el (ediff-check-version):
* lisp/vc/ediff-wind.el (ediff-choose-window-setup-function-automatically):
* lisp/vc/vc.el (vc-diff-switches-list):
* lisp/view.el (view-return-to-alist-update): Likewise.

* lisp/iswitchb.el (iswitchb-read-buffer): Move code of
iswitchb-define-mode-map here, and delete that obsolete function.

* lisp/subr.el (eval-next-after-load, makehash, insert-string)
(assoc-ignore-representation, assoc-ignore-case): Use declare to
mark obsolete.
(mode-line-inverse-video): Variable deleted.

* lisp/emacs-lisp/byte-run.el (make-obsolete): Doc fix; emphasize that
this applies to functions.

* lisp/erc/erc.el (erc-send-command): Use define-obsolete-function-alias.

* lisp/international/mule-util.el (string-to-sequence): Remove.

* lisp/net/newst-backend.el (newsticker-cache-filename):
* lisp/net/newst-treeview.el (newsticker-groups-filename): Fix
incorrect obsolescence declaration.

* lisp/net/snmp-mode.el (snmp-font-lock-keywords-3): Don't use obsolete
font-lock-reference-face.

* lisp/url/url-parse.el (url-recreate-url-attributes):
* lisp/url/url-util.el (url-generate-unique-filename): Use declare to mark
obsolete.

* src/xdisp.c (mode_line_inverse_video): Delete obsolete variable.
2012-09-25 12:13:02 +08:00
Chong Yidong
a5f2b6ec3b Remove several obsolete vars and functions unlikely to be still in use.
* lisp/vc/log-edit.el (cvs-changelog-full-paragraphs)
(cvs-commit-buffer-require-final-newline): Obsolete variables
removed.

* lisp/font-lock.el (font-lock-reference-face): Use
define-obsolete-variable-alias.

* lisp/international/mule.el (set-char-table-default): Remove.
(set-coding-priority, make-coding-system, generic-char-p)
(charset-list, charset-bytes, charset-id): Use declare to mark
obsolete.

* lisp/mail/supercite.el (sc-version): Remove obsolete function.
(sc-describe): Don't mark as obsolete, since it is bound.
(sc-submit-bug-report): Remove.

* lisp/progmodes/compile.el (compile-internal): Remove obsolete
function.
(compilation-parse-errors-function): Fix typo.

* lisp/vc/emerge.el (emerge-mode): Make it an obsolete alias.
(emerge-version): Remove.

* lisp/vc/pcvs-defs.el (cvs-buffer-name-alist)
(cvs-invert-ignore-marks): Remove references to obsolete vars.
* lisp/vc/vc-hooks.el (vc-default-registered): Don't use
vc-master-templates.

* lisp/vc/pcvs-defs.el (cvs-diff-buffer-name, cvs-diff-ignore-marks)
* lisp/vc/vc-hooks.el (vc-ignore-vc-files, vc-master-templates)
* lisp/vc/vc.el (vc-checkout-carefully): Likewise.

* src/chartab.c (Fset_char_table_default): Obsolete function removed.
2012-09-24 20:23:25 +08:00
Roland Winkler
6d5842da83 etc/NEWS: clarify entry for proced-renice 2012-09-23 09:42:55 -05:00
Roland Winkler
bc7be45dbd lisp/proced.el: new command proced-renice 2012-09-23 07:34:23 -05:00
Chong Yidong
e109c4a651 Doc updates for read-only-mode.
* buffers.texi (Misc Buffer): Replace toggle-read-only with
read-only-mode.

* files.texi (Visiting): Likewise.

* backups.texi (Auto-Saving): Refer to Minor Mode Conventions for
calling conventions.

* buffers.texi (Read Only Buffers): Document read-only-mode.

* keymaps.texi (Alias Menu Items): Replace toggle-read-only with
read-only-mode.
2012-09-23 18:46:50 +08:00
Chong Yidong
f938eda9e3 Re-arrange and edit NEWS. 2012-09-23 01:19:28 +08:00
Martin Rudalics
8e17c9ba14 Make Temp Buffer Resize Mode less intrusive (Bug#1806).
* window.c (Fsplit_window_internal): Handle only Qt value of
Vwindow_combination_limit separately.
(Qtemp_buffer_resize): New symbol.
(Vwindow_combination_limit): New default value.  Rewrite
doc-string.
* cus-start.el (window-combination-limit): Add new optional
values.
* window.el (temp-buffer-window-show)
(window--try-to-split-window): Obey new values of
window-combination-limit.
(split-window): Test window-combination-limit for t instead of
non-nil.
(display-buffer-at-bottom): New buffer display action function.
* help.el (temp-buffer-resize-regexps): New option.
(temp-buffer-resize-mode): Rewrite doc-string.
(resize-temp-buffer-window): Obey temp-buffer-resize-regexps.
Don't resize reused window.  Suggested by Glen Morris.
2012-09-22 14:56:08 +02:00
Juri Linkov
eb2deaffd1 * lisp/replace.el (query-replace-read-from): Use `read-regexp' instead
of `read-from-minibuffer' when `regexp-flag' is non-nil.
(occur-read-primary-args): Use `read-regexp' instead of
`read-string'.
(multi-occur-in-matching-buffers): Use `read-regexp' instead of
`read-from-minibuffer'.
* lisp/isearch.el (isearch-occur): Use `read-regexp' instead of
`read-string'.
* lisp/dired.el (dired-read-regexp): Use `read-regexp' instead of
`read-from-minibuffer'.
* lisp/progmodes/grep.el (grep-read-regexp): Use `read-regexp' instead
of `read-string'.

Fixes: debbugs:7567
2012-09-21 00:57:13 +03:00
Stefan Merten
ee97deeedd * rst.el: Integrate support for imenu' and which-function'.
Fixes feature request bug#11711.

(rst-mode): Create `imenu-create-index-function'.
(rst-get-stripped-line): Delete after refactoring.
(rst-section-tree, rst-section-tree-rec)
(rst-section-tree-point): Refactor and document properly.
(rst-imenu-find-adornments-for-position)
(rst-imenu-convert-cell, rst-imenu-create-index): New
function.
2012-09-20 20:59:00 +02:00
Glenn Morris
69f6644cd4 Allow customization of calendar month header text
* lisp/calendar/calendar.el (calendar-american-month-header)
(calendar-european-month-header, calendar-iso-month-header)
(calendar-month-header): New options.
(calendar-set-date-style): Set calendar-month-header.  Redraw calendar.
(calendar-generate-month): Use calendar-month-header.

Fixes: debbugs:9510
2012-09-19 00:27:29 -07:00
Juri Linkov
2fd5e67d92 * lisp/dired-aux.el (dired-diff): Restore original functionality of
getting the default value, but keep new feature of using the
latest existing backup file (`diff-latest-backup-file').
2012-09-19 02:40:39 +03:00
Juri Linkov
42917e790e * lisp/dired.el (dired-mark): If the region is active in Transient Mark
mode, mark all files in the active region.  Doc fix.
(dired-unmark, dired-flag-file-deletion, dired-unmark-backward):
Doc fix.

Fixes: debbugs:10624
2012-09-19 02:18:06 +03:00
Juri Linkov
20f70ede43 * lisp/dired-aux.el (dired-do-chxxx, dired-do-chmod): Default file
attributes for M-n are pulled from the file at point.
(dired-do-chgrp, dired-do-chown, dired-do-touch): Doc fix.
Suggested by Drew Adams.

Fixes: debbugs:10624
2012-09-19 01:57:45 +03:00
Chong Yidong
71ce58e752 Mark display-buffer-function as obsolete.
* lisp/window.el (display-buffer-function): Mark as obsolete.

Fixes: debbugs:12166
2012-09-16 12:52:38 +08:00
Paul Eggert
c18e885bdd Use a more backwards-compatible timer format.
* etc/NEWS: Document it.
* lisp/emacs-lisp/timer.el (timer): PSECS is now at the end, rather than
being right after USECS, as that better supports old code that
inadvisedly looked directly at the timer vector.
* src/keyboard.c (decode_timer): Get PSECS from the 8th (origin-0)
vector element, not from the 4th, since PSECS is now at the end.
(Fcurrent_idle_time): Doc fix.

Fixes: debbugs:12430
2012-09-13 09:23:06 -07:00
Jan Djärv
1352271a4d * etc/NEWS (--with-x-toolkit): Mention Gtk+ 3 is now default. 2012-09-13 08:13:26 +02:00
Paul Eggert
72eac303ea Fix glitches caused by addition of psec to timers.
* etc/NEWS: Document timer format change.
* lisp/image.el (image-animate-timer):
* lisp/time.el (display-time-world-timer):
Use timer--function and timer--args rather than raw access to
timer vector.
* lisp/gnus/gnus-art.el (gnus-article-stop-animations):
Use timer--function rather than raw access to timer vector.

Fixes: debbugs:12430
2012-09-12 23:09:45 -07:00
Stefan Monnier
bfeae2cf09 Remove unread-command-char.
* src/keyboard.c (read_char, requeued_events_pending_p, Finput_pending_p)
(Fdiscard_input, quit_throw_to_read_char, init_keyboard)
(syms_of_keyboard): Remove support for unread-command-char.
* lisp/emacs-lisp/debug.el (debugger-outer-unread-command-char, debug)
(debugger-env-macro): Remove support for unread-command-char.

* lisp/ehelp.el (with-electric-help): Accept functions in
electric-help-form-to-execute.
(electric-help-execute-extended, electric-help-ctrl-x-prefix): Use it.
And replace unread-command-char -> unread-command-events.

* lisp/subr.el (set-temporary-overlay-map): Minimize slightly the impact of
the temporary map re-appearing on emulation-mode-map-alists.

* lisp/emacs-lisp/edebug.el (def-edebug-form-spec): Remove, it's been broken
since 22.1.
2012-09-12 15:16:36 -04:00
Stefan Monnier
45b82ad0eb * src/eval.c: Add `inhibit-debugger'.
(Qinhibit_debugger): New symbol.
(call_debugger): Bind it instead of Qdebug_on_error.
(maybe_call_debugger): Test Vinhibit_debugger.
(syms_of_eval): Define inhibit-debugger.
* src/xdisp.c (set_message): Don't bind Qinhibit_debug_on_message.
(syms_of_xdisp): Remove inhibit-debug-on-message.
* lisp/emacs-lisp/debug.el (debug): Don't bind debug-on-error since
inhibit-debugger is bound instead.
2012-09-11 20:14:50 -04:00
Paul Eggert
c990426a98 Simplify, document, and port floating-point.
The porting part of this patch fixes bugs on non-IEEE platforms
with frexp, ldexp, logb.
* admin/CPP-DEFINES (HAVE_CBRT, HAVE_LOGB, logb): Remove.
* configure.ac (logb, cbrt): Do not check for these functions,
as they are not being used.
* doc/lispref/numbers.texi (Float Basics, Arithmetic Operations, Math Functions):
Document that / and mod (with floating point arguments), along
with asin, acos, log, log10, expt and sqrt, return special values
instead of signaling exceptions.
(Float Basics): Document that logb operates on the absolute value
of its argument.
(Math Functions): Document that (log ARG BASE) also returns NaN if
BASE is negative.  Document that (expt X Y) returns NaN if X is a
finite negative number and Y a finite non-integer.
* etc/NEWS: Document NaNs versus signaling-error change.
* src/data.c, src/lisp.h (Qdomain_error, Qsingularity_error, Qunderflow_error):
Now static.
* src/floatfns.c: Simplify discussion of functions that Emacs doesn't
support, by removing commented-out code and briefly listing the
C89 functions excluded.  The commented-out stuff was confusing
maintenance, e.g., we thought we needed cbrt but it was commented out.
(logb): Remove decl; no longer needed.
(isfinite): New macro, if not already supplied.
(isnan): Don't replace any existing macro.
(Ffrexp, Fldexp): Define even if !HAVE_COPYSIGN, as frexp and ldexp
are present on all C89 platforms.
(Ffrexp): Do not special-case zero, as frexp does the right thing
for that case.
(Flogb): Do not use logb, as it doesn't have the desired meaning
on hosts that use non-base-2 floating point.  Instead, stick with
frexp, which is C89 anyway.  Do not pass an infinity or a NaN to
frexp, to avoid getting an unspecified result.
2012-09-10 19:28:27 -07:00
Michael Mauger
04e082b0dd * progmodes/sql.el: Version 3.1
(sql-db2-escape-newlines): New variable.
(sql-escape-newlines-filter): Use it.
2012-09-10 15:22:53 -04:00
Dan Nicolaescu
cdff2ce78c Mention diff-remove-trailing-whitespace. 2012-09-10 10:33:08 -04:00
Andreas Schwab
bfabf70a86 * lisp/register.el (register-separator): Rename from
separator-register.  All uses changed.  Doc fix.
(register): Fix version.
2012-09-09 10:10:56 +02:00
Chong Yidong
011474aa5a Allow scrolling in y-or-n-p.
* lisp/replace.el (query-replace-map): Bind four new symbols for
requesting window scrolling.

* lisp/subr.el (y-or-n-p): Handle the window-scrolling bindings in
query-replace-map.

* lisp/custom.el (custom-theme-load-confirm): Use y-or-n-p.

* lisp/window.el (scroll-other-window-down): Make the arg optional.

* lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Don't bind scrolling keys
since they are now in query-replace-map.

* doc/lispref/minibuf.texi (Yes-or-No Queries): Document recentering and
scrolling in y-or-n-p.  Remove gratuitous example.

* doc/lispref/searching.texi (Search and Replace): Document window scrolling
entries in query-replace-map.

Fixes: debbugs:8948
2012-09-09 14:43:47 +08:00
Jambunathan K
0979429b33 * lisp/register.el (increment-register): Route it to `append-to-register',
if register contains text so that `C-x r +' can now be
used for appending to a text register.
(register): New group.
(register-separator): New user option.
(append-to-register, prepend-to-register): Add separator based on
`register-separator.
* doc/emacs/regs.texi (Text Registers): `C-x r +' can now be used instead of
M-x append-to-register.  New option `register-separator'.
(Number Registers): Mention that `C-x r +' is polymorphic.

Fixes: debbugs:12217
2012-09-08 16:09:06 -04:00
Chong Yidong
35d98877f0 Don't bind M-= in Dired.
* lisp/dired.el (dired-mode-map): Don't bind M-=.

* lisp/dired-aux.el (dired-diff): Use backup file as default.
2012-09-08 22:48:26 +08:00
Martin Rudalics
fa2bcf435d Fix handling of debugger window. (Bug#8789)
* window.el (display-buffer-in-previous-window): New buffer
display action function.

* emacs-lisp/debug.el (debugger-bury-or-kill): New option.
(debugger-previous-window): New variable.
(debug): Rewrite using display-buffer-in-previous-window,
quit-restore-window and debugger-bury-or-kill.  (Bug#8789)
2012-09-08 15:28:11 +02:00
Chong Yidong
14ba4cf3b2 Remove obsolete display-buffer-reuse-frames from manuals.
* doc/emacs/windows.texi (Window Choice): Don't mention obsolete
display-buffer-reuse-frames.

* doc/lispref/windows.texi (Display Action Functions)
(Choosing Window Options): Remove obsolete variable
display-buffer-reuse-frames.
2012-09-07 18:27:11 +08:00
Chong Yidong
e5c2edf79b Add a utility function buffer-narrowed-p, and use it.
* lisp/subr.el (buffer-narrowed-p): New function.

* lisp/ses.el (ses-widen):
* lisp/simple.el (count-words--buffer-message):
* lisp/net/browse-url.el (browse-url-of-buffer): Use it

* lisp/simple.el (count-words-region): Don't signal an error if there
is a non-nil prefix arg and the mark is not set.

* doc/lispref/positions.texi (Narrowing): Document buffer-narrowed-p.
2012-09-07 16:58:31 +08:00
Chong Yidong
3424a4f61e * frame.el (window-system-version): Mark as obsolete.
See http://lists.gnu.org/archive/html/emacs-devel/2012-05/msg00412.html
2012-09-06 17:29:32 +08:00
Juri Linkov
826b323577 * lisp/replace.el (replace-lax-whitespace): New defcustom.
(query-replace, query-replace-regexp, query-replace-regexp-eval)
(replace-string, replace-regexp): Mention it in docstrings.
(perform-replace, replace-highlight): Let-bind
isearch-lax-whitespace and isearch-regexp-lax-whitespace according
to the values of replace-lax-whitespace and regexp-flag.
Don't let-bind search-whitespace-regexp. 

* lisp/isearch.el (isearch-query-replace): Let-bind
replace-lax-whitespace instead of let-binding
replace-search-function and replace-re-search-function.
(isearch-lazy-highlight-search): Let-bind isearch-lax-whitespace
and isearch-regexp-lax-whitespace to lazy-highlight variables.
(isearch-toggle-symbol): Set isearch-regexp to nil
in isearch-word mode (like in isearch-toggle-word).

Fixes: debbugs:10885
2012-09-06 11:49:40 +03:00
Martin Rudalics
ef6544601a Provide support for fitting frames to buffers.
* help.el (temp-buffer-max-height): New default value.
(temp-buffer-resize-frames): New option.
(resize-temp-buffer-window): Optionally resize frame.

* window.el (fit-frame-to-buffer-bottom-margin): New option.
(fit-frame-to-buffer): New function.
2012-09-05 11:22:20 +02:00
Lars Ingebrigtsen
7f7e0167cf Implement `debug-on-message'.
This allows tracking down what piece of code is outputting stuff in
the echo area.

* eval.c (call_debugger): Make the function non-static so that we
can call it from set_message.

* xdisp.c (set_message): Implement the new variable `debug-on-message'.
(syms_of_xdisp): Defvar it and `inhibit-debug-on-message'.
2012-09-04 23:21:00 +02:00
Paul Eggert
cf29dd84d2 Give more-useful info on a fatal error (Bug#12328).
* doc/emacs/trouble.texi (Crashing): New section, documenting this.
* etc/NEWS: Document the change.
* src/alloc.c [ENABLE_CHECKING]: Do not include <execinfo.h>.
(die) [ENABLE_CHECKING]: Call fatal_error_backtrace instead
of doing the work ourselves.
* src/emacs.c (fatal_error_signal): Let fatal_error_backtrace
do most of the work.
(fatal_error_backtrace): New function, taken from the guts
of the old fatal_error_signal, but with a new option to output
a backtrace.
(shut_down_emacs) [!DOS_NT]: Use strsignal to give more-useful
info about the signal than just its number.
* src/lisp.h (fatal_error_backtrace, emacs_backtrace): New decls.
* src/sysdep.c: Include <execinfo.h>
(emacs_backtrace): New function, taken partly from the previous
code of the 'die' function.
(emacs_abort): Call fatal_error_backtrace rather than abort.
2012-09-04 11:29:04 -07:00
Stefan Monnier
972debf2e7 Macro-expand interpreted code during load.
* src/lread.c (readevalloop): Call internal-macroexpand-for-load to perform
eager (load-time) macro-expansion.
* src/lisp.mk (lisp): Add macroexp.
* lisp/loadup.el: Load macroexp.  Remove hack.
* lisp/emacs-lisp/macroexp.el (macroexp--eval-if-compile): New function.
(macroexp--expand-all): Use it to get better warnings.
(macroexp--backtrace, macroexp--trim-backtrace-frame)
(internal-macroexpand-for-load): New functions.
(macroexp--pending-eager-loads): New var.
(emacs-startup-hook): New hack to replace one in loadup.el.
* lisp/emacs-lisp/cl-macs.el (cl--compiler-macro-list*)
(cl--compiler-macro-cXXr): Move to top, before they can be used.
(cl-psetf): Simplify.
(cl-defstruct): Add indent rule.
2012-09-04 13:40:25 -04:00
Lars Ingebrigtsen
8ce192e317 Have smtpmail.el prefer the From: header for the MAIL FROM envelope
* mail/smtpmail.el (smtpmail-send-it): Prefer the From: header
over `user-mail-address' for the SMTP MAIL FROM envelope.
(smtpmail-via-smtp): Ditto.
2012-09-04 18:00:10 +02:00
Martin Rudalics
c5e28e3927 New macro with-temp-buffer-window and related fixes.
* buffer.c (Fdelete_all_overlays): New function.

* window.el (temp-buffer-window-setup-hook)
(temp-buffer-window-show-hook): New hooks.
(temp-buffer-window-setup, temp-buffer-window-show)
(with-temp-buffer-window): New functions.
(fit-window-to-buffer): Remove unused optional argument
OVERRIDE.
(special-display-popup-frame): Make sure the window used shows
BUFFER.

* help.el (temp-buffer-resize-mode): Fix doc-string.
(resize-temp-buffer-window): New optional argument WINDOW.

* files.el (recover-file, save-buffers-kill-emacs):
* dired.el (dired-mark-pop-up): Use with-temp-buffer-window.
2012-09-03 10:54:25 +02:00
Juri Linkov
63dd1c6fa4 Toggle whitespace matching mode with M-s SPC.
http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00008.html

* lisp/isearch.el (search-whitespace-regexp): Doc fix.
Remove cons cell customization.
(isearch-mode-map): Bind "\M-s " to isearch-toggle-lax-whitespace.
(isearch-lax-whitespace, isearch-regexp-lax-whitespace):
New variables.
(isearch-forward, isearch-forward-regexp): Doc fix.
(isearch-toggle-lax-whitespace): New command.
(search-forward-lax-whitespace, search-backward-lax-whitespace)
(re-search-forward-lax-whitespace)
(re-search-backward-lax-whitespace): New functions.
(isearch-whitespace-regexp): Remove function.
(isearch-query-replace): Let-bind replace-search-function and
replace-re-search-function.
(isearch-occur): Let-bind search-spaces-regexp according to the
value of isearch-lax-whitespace and isearch-regexp-lax-whitespace.
(isearch-quote-char): Check isearch-regexp-lax-whitespace in the
condition for C-q SPC.
(isearch-search-fun-default): Use new functions mentioned above.
(isearch-search-forward, isearch-search-backward): Remove functions.
(isearch-search): Don't let-bind search-spaces-regexp.
(isearch-lazy-highlight-space-regexp): Remove variable.
(isearch-lazy-highlight-lax-whitespace)
(isearch-lazy-highlight-regexp-lax-whitespace): New variables.
(isearch-lazy-highlight-new-loop): Use them.
(isearch-lazy-highlight-search): Don't let-bind search-spaces-regexp.
2012-09-02 12:31:45 +03:00
Chong Yidong
a828f05faf Expand on NEWS entry about deletion of `z' from special-mode-map. 2012-09-02 10:30:06 +08:00
Paul Eggert
0e23ef9dde Better seed support for (random).
* doc/lispref/numbers.texi (Random Numbers): Document new behavior of
the calls (random) and (random STRING).
* etc/NEWS: Document new behavior of (random), (random "string").
* lisp/play/5x5.el, lisp/play/animate.el, lisp/play/cookie1.el:
* lisp/play/dissociate.el, lisp/play/doctor.el, lisp/play/dunnet.el:
* lisp/play/gomoku.el, lisp/play/landmark.el, lisp/play/mpuz.el:
* lisp/play/tetris.el, lisp/play/zone.el:
* lisp/calc/calc-comb.el (math-init-random-base):
* lisp/play/blackbox.el (bb-init-board):
* lisp/play/life.el (life):
* lisp/server.el (server-use-tcp):
* lisp/type-break.el (type-break):
Remove unnecessary call to (random t).
* lisp/net/sasl.el (sasl-unique-id-function):
Change (random t) to (random), now that the latter is more random.
* lisp/play/life.el (life-initialized): Remove no-longer-needed var.
* lisp/gnus/gnus-sync.el (gnus-sync-lesync-setup):
* lisp/gnus/message.el (message-canlock-generate, message-unique-id):
Change (random t) to (random), now that the latter is more random.
* lisp/org/org-id.el (org-id-uuid):
Change (random t) to (random), now that the latter is more random.
* src/emacs.c (main): Call init_random.
* src/fns.c (Frandom): Set the seed from a string argument, if given.
Remove long-obsolete Gentzel cruft.
* src/lisp.h, src/sysdep.c (seed_random): Now takes address and size, not long.
(init_random): New function.
2012-08-31 18:04:26 -07:00
Richard M. Stallman
b118352941 Delete z binding in special-mode-map. 2012-08-30 13:09:51 -04:00
Martin Blais
f0019ede63 * lisp/progmodes/compile.el (compilation-always-kill): New var.
(compilation-start): Use it.
2012-08-29 14:15:12 -04:00
Stefan Monnier
35e62fc984 * lisp/files.el (read-only-mode): New minor mode.
(toggle-read-only): Use it and mark obsolete.
(find-file--read-only):
* lisp/vc/vc.el (vc-next-action, vc-checkout):
* lisp/vc/vc-cvs.el (vc-cvs-checkout):
* lisp/obsolete/vc-mcvs.el (vc-mcvs-update):
* lisp/ffap.el (ffap--toggle-read-only): Update callers.
2012-08-29 11:11:51 -04:00
Chong Yidong
77f1f99cb0 Make special-display-* and display-buffer-reuse-frames obsolete.
* lisp/window.el (special-display-regexps, special-display-frame-alist)
(special-display-buffer-names, special-display-function)
(display-buffer-reuse-frames): Mark as obsolete.

* lisp/progmodes/compile.el: Don't use display-buffer-reuse-frames.

* help.el (help-print-return-message): Don't treat
display-buffer-reuse-frames specially.
2012-08-26 21:42:18 +08:00
Paul Eggert
8b2e00a329 Spelling fixes.
* Makefile.in (.PHONY): versioclean -> versionclean.
2012-08-26 03:29:37 -07:00
Chong Yidong
d97af5a07f Clean up gdb-mi's usage of display-buffer.
* progmodes/gdb-mi.el (gdb-display-buffer-other-frame-action): New
variable, replacing gdb-frame-parameters.
(gdb-frame-io-buffer, gdb-frame-breakpoints-buffer)
(gdb-frame-threads-buffer, gdb-frame-memory-buffer)
(gdb-frame-disassembly-buffer, gdb-frame-stack-buffer)
(gdb-frame-locals-buffer, gdb-frame-registers-buffer): Use it.
(def-gdb-frame-for-buffer): Macro deleted.  It is easier to define
the functions directly with gdb-display-buffer-other-frame-action.
(gdb-display-breakpoints-buffer, gdb-display-threads-buffer)
(gdb-display-memory-buffer, gdb-display-disassembly-buffer)
(gdb-display-stack-buffer, gdb-display-locals-buffer)
(gdb-display-registers-buffer): Define directly.
(def-gdb-display-buffer): Macro deleted.
(gdb-display-buffer): Remove second and third args, callers don't
use them.  Defer to the default display-buffer behavior, apart
from making windows dedicated.
(gdb-setup-windows): Don't call display-buffer unnecessarily.

* window.el (display-buffer-pop-up-frame): Handle a
pop-up-frame-parameters alist entry.
(display-buffer): Document it.

* progmodes/gud.el (gud-display-line): Just use display-buffer.
2012-08-26 17:16:48 +08:00
Chong Yidong
dd7ffad60f Make ordinary isearch obey search-whitespace-regexp too.
* lisp/isearch.el (search-whitespace-regexp): Make string and nil
values apply to both ordinary and regexp search.  Allow a cons
cell value to distinguish between the two.
(isearch-whitespace-regexp, isearch-search-forward)
(isearch-search-backward): New functions.
(isearch-occur, isearch-search-fun-default, isearch-search)
(isearch-lazy-highlight-new-loop): Use them.
(isearch-forward, isearch-forward-regexp): Doc fix.
2012-08-26 11:57:55 +08:00
Glenn Morris
5af9cb6be0 Add option to not create bin/emacs link to bin/emacs-VERSION
* Makefile.in (install-arch-dep): If NO_BIN_LINK is non-null,
do not create the bin/emacs link. 

* etc/NEWS: Mention this.

Fixes: debbugs:12011
2012-08-21 23:55:44 -07:00
Chong Yidong
2170b1bdd5 Add yank-handled-properties; use it for font-lock-face' and category'
properties, instead of hard-coding these properties' special handling.

* lisp/simple.el (yank-handled-properties): New defcustom.
(yank-excluded-properties): Add font-lock-face and category.
(yank): Doc fix.

* lisp/subr.el (remove-yank-excluded-properties): Obey
yank-handled-properties.  The special handling of font-lock-face
and category is now done this way, instead of being hard-coded.
(insert-for-yank-1): Remove font-lock-face handling.
(yank-handle-font-lock-face-property)
(yank-handle-category-property): New function.
2012-08-18 13:11:38 +08:00
Glenn Morris
5190da91e6 Reword previous NEWS change. 2012-08-15 09:33:12 -07:00
Glenn Morris
2a1e24765b Replace version 24.2 with 24.3 where appropriate (hopefully) 2012-08-15 09:29:11 -07:00
Chong Yidong
f2045622a5 Extract better font information from the GTK >= 3.2 font chooser.
* gtkutil.c (xg_get_font): Rename from xg_get_font_name.  When
using the new font chooser, use gtk_font_chooser_get_font_desc to
extract the font descriptor instead of just the font name.  In
that case, return a font spec instead of a string.
(x_last_font_name): Move to this file from xfns.c.

* xfns.c (Fx_select_font): The return value can also be a font
spec.  Move x_last_font_name management to gtkutil.c.

* xfaces.c: Make font weight and style symbols non-static.

* lisp/frame.el (set-frame-font): Accept font objects.
2012-08-15 15:58:34 +08:00
Stefan Monnier
89660017d1 * lisp/subr.el (internal--before-with-selected-window)
(internal--after-with-selected-window): Fix typo seleted->selected.
(with-selected-window): Adjust callers.
Reported by Dmitry Gutov <dgutov@yandex.ru>.
2012-08-13 10:12:47 -04:00
Chong Yidong
e1293765d9 Bind M-= back to count-words-region, and let it accept a prefix arg.
* lisp/bindings.el: Bind M-= back to count-words-region.

* lisp/simple.el (count-words-region): Accept a prefix arg for acting
on the entire buffer.
(count-words--buffer-message): New helper function.
2012-08-11 00:02:48 +08:00
Stefan Monnier
e18941095a * lisp/term/x-win.el (x-menu-bar-open): Always pass last-nonmenu-event.
* lisp/subr.el (eventp): `nil' is not an event, and eventp is not hot.
(event-start, event-end): Use posn-at-point to return a more
informative posn.
(posnp): New function.
* lisp/mouse.el (popup-menu-normalize-position): Use it.
2012-08-10 10:47:12 -04:00
Dmitry Antipov
da3d210583 Fix and document recently introduced configuration options.
* configure.ac (--disable-features): Rename to --without-all.
(OPTION_DEFAULT_ON): Change to use with_features.
* INSTALL: Fix description.
* etc/NEWS: Mention --without-all and --enable-link-time-optimization.
2012-08-08 20:17:15 +04:00
Glenn Morris
32ac3a6ba3 Merge language/persian.el into language/misc-lang.el
* lisp/language/persian.el: Remove file.
* lisp/language/misc-lang.el: Move non-unique part of persian.el here.
* lisp/loadup.el: Remove language/persian.

* src/lisp.mk (lisp): Remove language/persian.elc.

* etc/NEWS: Improve entry.
2012-08-08 00:19:58 -07:00
Chong Yidong
9f6f48455f Merge from emacs-24; up to 2012-05-02T07:12:52Z!rgm@gnu.org. 2012-08-07 11:33:37 +08:00
Glenn Morris
9ce0496576 Add NEWS for language/persian.el. 2012-08-06 00:36:35 -07:00
Chong Yidong
90749b537a Add inhibit-switch-frame parameter for display-buffer, and use it in occur-edit.
* replace.el (occur-after-change-function): Avoid losing focus by
using the inhibit-switch-frame display action option.

* window.el (window--maybe-raise-frame): New function.
(window--display-buffer): Split off from here.
(display-buffer-reuse-window, display-buffer-pop-up-frame)
(display-buffer-pop-up-window, display-buffer-use-some-window):
Obey an inhibit-switch-frame action alist entry.
(display-buffer): Update doc.

Fixes: debbugs:12139
2012-08-06 13:33:39 +08:00
Lawrence Mitchell
d32e47aff6 * search.c (Freplace_match): Treat \? in the replacement text literally.
Fixes: debbugs:8161
2012-08-05 21:30:15 +08:00
Glenn Morris
8d5dd3701c NEWS clarification
Fixes: debbugs:12104
2012-08-04 21:56:28 -07:00
Eli Zaretskii
6dad71783c Support symlinks on latest versions of MS-Windows.
src/w32.c: Include winioctl.h and aclapi.h.
 (is_symlink, chase_symlinks, enable_privilege, restore_privilege)
 (revert_to_self): Forward declarations of static functions.
 <static BOOL g_b_init_get_security_info>:
 <g_b_init_create_symbolic_link>: New static flags.
 (globals_of_w32): Initialize them to zero.
 (GetSecurityInfo_Proc, CreateSymbolicLink_Proc): New typedefs.
 (map_w32_filename): Improve commentary.  Simplify switch.
 (SYMBOLIC_LINK_FLAG_DIRECTORY): Define if not defined in system
 headers (most versions of MinGW w32api don't).
 (get_security_info, create_symbolic_link)
 (get_file_security_desc_by_handle, is_symlink, chase_symlinks):
 New functions.
 (sys_access, sys_chmod): Call 'chase_symlinks' to resolve symlinks
 in the argument file name.
 (sys_access): Call unc_volume_file_attributes only if
 GetFileAttributes fails with network-related error codes.
 (sys_rename): Diagnose renaming of a symlink when the user doesn't
 have the required privileges.
 (get_file_security_desc_by_name): Renamed from
 get_file_security_desc.
 (stat_worker): New function, with most of the guts of 'stat', and
 with addition of handling of symlinks and support for 'lstat'.  If
 possible, get file's attributes and security information by
 handle, not by name.  Produce S_IFLNK bit for symlinks, when
 called from 'lstat'.
 (stat, lstat): New functions, call 'stat_worker'.
 (symlink, readlink, careadlinkat): Rewritten to create and resolve
 symlinks when the underlying filesystem supports them.

 lib/src/ntlib.c (lstat): New function, calls 'stat'.

 nt/inc/sys/stat.h (S_IFLNK): Define.
 (S_ISLNK): A non-trivial definition.
 (lstat): Prototype instead of a macro that redirects to 'stat'.

 lisp/files.el (file-truename): Don't skip symlink-chasing part on
 windows-nt.  Incorporate the resolution of 8+3 short aliases on
 Windows into the loop that recursively chases symlinks.  Compare
 directory and its parent case-insensitively on MS-Windows and
 MS-DOS.

 etc/NEWS: Announce the symlink support on MS-Windows.
2012-08-03 13:23:30 +03:00
Chong Yidong
f85f636ab6 Add NEWS entry for last change. 2012-08-03 16:30:48 +08:00
Paul Eggert
72b255c7e7 deactive->inactive, inactivate->deactivate spelling fixes (Bug#10150)
* NEWS: Document these changes.
* leim/quail/uni-input.el (ucs-input-deactivate):
Rename from ucs-input-inactivate.
* leim/quail/hangul.el (hangul-input-method-deactivate):
Rename from hangul-input-method-inactivate.
* emulation/viper-init.el (viper-deactivate-input-method-action):
Rename from viper-inactivate-input-method-action.
(viper-deactivate-input-method):
Rename from viper-inactivate-input-method.
* lisp/follow.el (follow-inactive-menu): Rename from follow-deactive-menu.
* lisp/international/mule-cmds.el (deactivate-input-method):
Rename from inactivate-input-method.
Also run input-method-deactivate-hook.
(deactivate-current-input-method-function):
Rename from inactivate-current-input-method-function.
(input-method-deactivate-hook): New hook.
(input-method-inactivate-hook): Mark obsolete.
* lisp/international/quail.el (quail-activate):
Also run quail-deactivate-hook.
(quail-deactivate): Rename from quail-inactivate.
* lisp/international/robin.el (robin-activate):
Also run robin-deactivate-hook.
(robin-deactivate): Rename from robin-inactivate.
2012-07-29 00:16:45 -07:00
Juri Linkov
17711ed9be * lisp/simple.el (async-shell-command-buffer): New defcustom.
(shell-command): Use it.

Fixes: debbugs:4719
2012-07-29 03:03:26 +03:00
Juanma Barranquero
a5c66610be etc/NEWS: Fix typo. 2012-07-28 18:35:52 +02:00
Chong Yidong
345a225867 * simple.el (delete-trailing-lines): New option.
(delete-trailing-whitespace): Obey it.

Fixes: debbugs:11879
2012-07-28 18:38:55 +08:00
Stefan Monnier
7abaf5ccc9 Autoload more carefully from Lisp. Follow aliases for function properties.
* lisp/subr.el (autoloadp): New function.
(symbol-file): Use it.
(function-get): New function.
* lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Use function-get and
autoload-do-load.
* lisp/emacs-lisp/lisp-mode.el (lisp-font-lock-syntactic-face-function)
(lisp-indent-function):
* lisp/emacs-lisp/gv.el (gv-get):
* lisp/emacs-lisp/edebug.el (get-edebug-spec, edebug-basic-spec):
* lisp/emacs-lisp/byte-opt.el (byte-optimize-form):
* lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
* lisp/emacs-lisp/autoload.el (make-autoload, autoload-print-form):
Use function-get.
* lisp/emacs-lisp/cl.el: Don't propagate function properties any more.

* src/eval.c (Fautoload_do_load): Rename from do_autoload, export to Lisp,
add argument, tune behavior, and adjust all callers.

* lisp/speedbar.el (speedbar-add-localized-speedbar-support):
* lisp/emacs-lisp/disass.el (disassemble-internal):
* lisp/desktop.el (desktop-load-file):
* lisp/help-fns.el (help-function-arglist, find-lisp-object-file-name)
(describe-function-1):
* lisp/emacs-lisp/find-func.el (find-function-noselect):
* lisp/emacs-lisp/elp.el (elp-instrument-function):
* lisp/emacs-lisp/advice.el (ad-has-proper-definition):
* lisp/apropos.el (apropos-safe-documentation, apropos-macrop):
* lisp/emacs-lisp/debug.el (debug-on-entry):
* lisp/emacs-lisp/cl-macs.el (cl-compiler-macroexpand):
* lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
* lisp/calc/calc.el (name): Use autoloadp & autoload-do-load.
2012-07-25 21:27:33 -04:00
Paul Eggert
494913d6de Spelling fixes. 2012-07-21 21:11:49 -07:00
Chong Yidong
d7d9a49959 Fix last commit. 2012-07-18 22:48:25 +08:00
Chong Yidong
0fe776a1e4 * lisp/bindings.el: Bind M-= to count-words. 2012-07-18 22:17:49 +08:00
Juri Linkov
6dafa0d535 * lisp/dired-aux.el (dired-do-async-shell-command): Doc fix.
(dired-do-async-shell-command): Don't add `*' at the end of the
command (Bug#11815).
(dired-do-shell-command): Doc fix.
(dired-shell-stuff-it): Strip the trailing "&" and ";" if any.
Join the individual commands using either "&" or ";" as the
separator depending on the values of these trailing characters.
At the end re-add the trailing "&".  (Bug#10598)

* lisp/simple.el (async-shell-command): Sync the interactive spec with
`shell-command'.  Doc fix.
(shell-command): Doc fix.
2012-07-17 21:40:15 +03:00
Chong Yidong
9ea10cc343 Document insert-char changes.
* doc/emacs/basic.texi (Inserting Text): Replace ucs-insert with
insert-char.  Provide more details of input.

* doc/lispref/mule.texi (International Chars, Input Methods): Likewise.

* doc/lispref/text.texi (Insertion): Document insert-char changes.

* src/editfns.c (Finsert_char): Doc fix.
2012-07-17 15:43:01 +08:00
René Kyllingstad
ddfc881345 Make insert-char interactive, and ucs-insert an obsolete alias for it.
* lisp/international/mule-cmds.el (ucs-insert): Make it an obsolete
alias for insert-char.

* editfns.c (Finsert_char): Make it interactive, and make the second
arg optional.  Copy interactive spec and docstring from ucs-insert.
2012-07-17 12:17:23 +08:00
Leo Liu
2e2d2a13e5 Add news for exclamation-mark and flymake 2012-07-15 08:52:16 +08:00
Reuben Thomas
be755c79bd * rect.el (copy-rectangle-as-kill): New command.
* lisp/rect.el, lisp/register.el: Move bindings to bindings.el.

* lisp/bindings.el: Consolidate ctl-x-r-map bindings.  Bind
copy-rectangle-as-kill to C-x r w.

Fixes: debbugs:739
2012-07-14 10:19:07 +08:00
Chong Yidong
b68b33375c Don't warn on toggle-read-only calls.
Clarify the documentation of toggle-read-only, and audit the code tree
for uses of toggle-read-only; where appropriate, switch to setting the
variable buffer-read-only or calling toggle-read-only with a (new)
second arg.

* lisp/files.el (toggle-read-only): Doc fix and code cleanup.  New arg
to allow printing the message when called from Lisp.

* lisp/emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions):
Remove toggle-read-only.

* lisp/bindings.el (mode-line-toggle-read-only):
* lisp/dired.el (dired-toggle-read-only):
* lisp/ibuffer.el (ibuffer-do-toggle-read-only): Call toggle-read-only
with non-nil second arg.

* lisp/bs.el (bs-toggle-readonly):
* lisp/buff-menu.el (Buffer-menu-toggle-read-only): Remove
with-no-warnings around toggle-read-only.

* lisp/ffap.el (ffap--toggle-read-only): Accept a list of buffers.
Remove with-no-warnings around toggle-read-only.
(ffap-read-only, ffap-read-only-other-window)
(ffap-read-only-other-frame): Callers changed.

* lisp/help-mode.el: Don't require view package.
(help-mode-finish): Set buffer-read-only instead of calling
toggle-read-only.

* lisp/emacs-lisp/eieio-custom.el (eieio-customize-object):
* lisp/vc/ediff.el (ediff-set-read-only-in-buf-A): Set buffer-read-only
directly.

* lisp/gnus/smime.el (smime-certificate-info): Set buffer-read-only directly,
instead of calling toggle-read-only with a (bogus) argument.

* doc/emacs/buffers.texi (Misc Buffer): Document view-read-only.

* doc/lispref/buffers.texi (Read Only Buffers): Document toggle-read-only
changes.  Reword to account for the fact that read-only is currently not
supported in overlay properties.
2012-07-13 15:06:09 +08:00
Eli Zaretskii
86aa551c1b etc/NEWS: Move announcement of tty-top-frame out of non-free section. 2012-07-11 20:42:24 +03:00
Glenn Morris
358c19d98c NEWS copyedits 2012-07-10 18:38:06 -04:00
Glenn Morris
4107c81e89 Tiny NEWS edit 2012-07-09 20:57:55 -04:00
Paul Eggert
e3ac128172 Spelling fixes. 2012-07-02 01:00:05 -07:00
Julien Danjou
ae4969c2d6 term: rework color cutomizing
* term.el (term-handle-colors-array): Use a set of new faces to
color the terminal.  Also uses :inverse-video property.
(term-default-fg-color): Set to nil by default, deprecate in favor
of `term-face'.
(term-default-bg-color): Set to nil by default, deprecate in favor
of `term-face'.
(term-current-face): Use `term-face' by default.
(term-bold-attribute): Variable deleted.
2012-06-28 12:40:24 +02:00
Chong Yidong
c89926a5f1 Let C-h f do autoloading, and report if a function was previously autoloaded.
* lisp/help-fns.el (help-fns--autoloaded-p): New function.
(describe-function-1): Refer to a function as "autoloaded" if it
was autoloaded at any time in the past.  Perform autoloading if
help-enable-auto-load is non-nil.

* lisp/help.el (help-enable-auto-load): New variable.

* src/doc.c (Fsubstitute_command_keys): Fix punctuation.
2012-06-27 13:47:14 +08:00
Glenn Morris
0d14cc218e NEWS, ChangeLog fixes 2012-06-26 20:23:23 -07:00
Lawrence Mitchell
bbf908bc69 * etc/NEWS: Move and improve the defun/defalias changes.
Fixes: debbugs:11686
2012-06-24 13:07:26 -04:00
Paul Eggert
d35af63cd6 Support higher-resolution time stamps.
Fixes: debbugs:9000
2012-06-22 14:17:42 -07:00
Stefan Monnier
2ee3d7f0aa Provide generalized variables in core Elisp.
* lisp/emacs-lisp/gv.el: New file.
* lisp/subr.el (push, pop): Extend to generalized variables.
* lisp/loadup.el (macroexp): Unload if preloaded and uncompiled.
* lisp/emacs-lisp/cl-lib.el (cl-pop, cl-push, cl--set-nthcdr): Remove.
* lisp/emacs-lisp/cl-macs.el: Require gv.  Use gv-define-setter,
gv-define-simple-setter, and gv-define-expander.
Remove setf-methods defined in gv.  Rename cl-setf -> setf.
(cl-setf, cl-do-pop, cl-get-setf-method): Remove.
(cl-letf, cl-letf*, cl-define-modify-macro, cl-defsetf)
(cl-define-setf-expander, cl-struct-setf-expander): Move to cl.el.
(cl-remf, cl-shiftf, cl-rotatef, cl-callf, cl-callf2): Rewrite with
gv-letplace.
(cl-defstruct): Don't define setf-method any more.
* lisp/emacs-lisp/cl.el (flet): Don't autoload.
(cl--letf, letf, cl--letf*, letf*, cl--gv-adapt)
(define-setf-expander, defsetf, define-modify-macro)
(cl-struct-setf-expander): Move from cl-lib.el.
* lisp/emacs-lisp/syntax.el:
* lisp/emacs-lisp/ewoc.el:
* lisp/emacs-lisp/smie.el:
* lisp/emacs-lisp/cconv.el:
* lisp/emacs-lisp/timer.el: Rename cl-setf -> setf, cl-push -> push.
(timer--time): Use gv-define-simple-setter.
* lisp/emacs-lisp/macroexp.el (macroexp-let2): Rename from macroexp-let²
to avoid coding-system problems in subr.el.  Adjust all users.
(macroexp--maxsize, macroexp-small-p): New functions.
* lisp/emacs-lisp/bytecomp.el (byte-compile-file): Don't use cl-letf.
* lisp/scroll-bar.el (scroll-bar-mode):
* lisp/simple.el (auto-fill-mode, overwrite-mode, binary-overwrite-mode)
(normal-erase-is-backspace-mode): Don't use the `eq' place.
* lisp/winner.el (winner-configuration, winner-make-point-alist)
(winner-set-conf, winner-get-point, winner-set): Don't abuse letf.
* lisp/files.el (locate-file-completion-table): Avoid list*.

Fixes: debbugs:11657
2012-06-22 09:42:38 -04:00
Chong Yidong
e76f0800d2 Fixes to desktop reading logic.
* desktop.el (desktop-read): Don't prompt if daemon.
(desktop-path): Remove . from the default value.
2012-06-21 15:15:42 +08:00
Chong Yidong
c6bf302224 Preserve tty top-frames under various window-changing operations.
* subr.el (with-selected-window): Preserve the selected window's
terminal's top-frame.

* window.el (save-selected-window): Likewise.

* frame.c (delete_frame): When selecting a frame on a different
text terminal, do not alter the terminal's top-frame.

* term.c (Ftty_top_frame): New function.

* xdisp.c (format_mode_line_unwind_data): Record the target
frame's selected window and its terminal's top-frame.
(unwind_format_mode_line): Restore them.
(x_consider_frame_title, display_mode_line, Fformat_mode_line):
Callers changed.
(x_consider_frame_title): Do not condition on HAVE_WINDOW_SYSTEM,
since tty frames can be explicitly named.
(prepare_menu_bars): Likewise.

Fixes: debbugs:4702
2012-06-19 14:49:50 +08:00
Stefan Monnier
1053a8716b Fix return value of `defun' and un-define it.
* src/data.c (Fdefalias): Return `symbol'.
* doc/lispref/functions.texi (Defining Functions):
* doc/lispref/macros.texi (Defining Macros): Un-define the return value of
`defun', `defmacro' and `defalias'.

Fixes: debbugs:11686
2012-06-18 11:57:41 -04:00
Paul Eggert
48d1354eb8 Spelling fixes. 2012-06-17 01:53:31 -07:00
Chong Yidong
41b7f8bc6c Merge changes from emacs-24; up to 2012-04-26T02:03:19Z!ueno@unixuser.org 2012-06-17 13:13:40 +08:00
Glenn Morris
db80bdc86f Mention face underwave 2012-06-16 18:49:50 -07:00
Glenn Morris
40d8bcb854 NEWS fixes: positioning, copyedits 2012-06-16 10:56:44 -07:00
Fabián Ezequiel Gallina
315f675857 Merge from trunk 2012-06-14 23:05:43 -03:00
Fabián Ezequiel Gallina
c6a506fefd Added python.el NEWS entry 2012-06-14 22:39:03 -03:00
Glenn Morris
9702b7a16e NEWS tweak 2012-06-13 16:09:42 -04:00
Andreas Schwab
646b5f55df Use a simple struct to implement compile time checks for the Lisp_Object type
* configure.in: Rename --enable-use-lisp-union-type to
--enable-check-lisp-object-type and define CHECK_LISP_OBJECT_TYPE
instead of USE_LISP_UNION_TYPE.

* admin/make-emacs: Rename --union-type to --check-lisp-type.  Define
CHECK_LISP_OBJECT_TYPE insted of USE_LISP_UNION_TYPE.
* admin/CPP-DEFINES (DEBUG_LISP_OBJECT_TYPE): Renamed from
USE_LISP_UNION_TYPE.

* src/lisp.h (Lisp_Object) [CHECK_LISP_OBJECT_TYPE]: Define as struct
instead of union.
(XLI, XIL): Define.
(XHASH, XTYPE, XINT, XUINT, make_number, XSET, XPNTR, XUNTAG): Use
them.
* src/emacs.c (gdb_use_struct): Renamed from gdb_use_union.
* src/.gdbinit: Check gdb_use_struct instead of gdb_use_union.
* src/alloc.c (widen_to_Lisp_Object): Removed.
(mark_memory): Use XIL instead of widen_to_Lisp_Object.
* src/frame.c (delete_frame): Remove outdated comment.
* src/w32fns.c (Fw32_register_hot_key): Use XLI instead of checking
USE_LISP_UNION_TYPE.
(Fw32_unregister_hot_key): Likewise.
(Fw32_toggle_lock_key): Likewise.
* src/w32menu.c (add_menu_item): Likewise.
(w32_menu_display_help): Use XIL instead of checking
USE_LISP_UNION_TYPE.
* src/w32heap.c (allocate_heap): Don't check USE_LISP_UNION_TYPE.
(init_heap): Likewise.
* src/w32term.c (w32_read_socket): Update comment.
2012-06-13 15:40:48 +02:00
Chong Yidong
6005792624 In the Package Menu, indicate packages that are newly-available.
* lisp/emacs-lisp/package.el (list-packages): Compute a list of
packages that are newly-available since the last list-packages
invocation.
(package-menu--new-package-list): New var.
(package-menu--generate, package-menu--print-info)
(package-menu--status-predicate, package-menu-mark-install):
Handle new status label "new".
2012-06-13 15:33:38 +08:00
Nguyen Thai Ngoc Duy
6b79ce7e18 New input method vietnamese-vni.
* leim/quail/vnvi.el: New file.

Fixes: debbugs:11660
2012-06-12 12:35:14 +08:00
Chong Yidong
1b9b4cf4c1 Support transparency for ImageMagick images.
* src/image.c (imagemagick_load_image): Implement transparency.

* doc/lispref/display.texi (ImageMagick Images): ImageMagick now supports the
:background property.
2012-06-11 22:42:55 +08:00
Michael Albinus
05ecb49739 New Tramp features. 2012-06-11 15:22:53 +02:00
Chong Yidong
8b0823d609 Add NEWS item about Buffer Menu rewrite. 2012-06-07 22:39:28 +08:00
Michael Albinus
21ffb35a97 Add enable-remote-dir-locals. 2012-06-06 17:13:15 +02:00
Glenn Morris
276d5f5de5 Remove lib-src/vcdiff
* lib-src/vcdiff: Remove file.
* lib-src/Makefile.in (SCRIPTS, STAMP_SCRIPTS): Remove vcdiff.
(stamp-vcdiff): Remove.

* INSTALL, make-dist: Remove vcdiff.

* lisp/emacs-lisp/authors.el (authors-fixed-entries): Remove vcdiff
2012-06-05 21:06:54 -04:00
Glenn Morris
daed40034f Make ledit.el obsolete.
Also, etc/LEDIT was removed some time ago.
2012-06-05 13:47:27 -04:00
Stefan Monnier
d32926ffaa * emacs-list/cust-print.el: Move to obsolete. 2012-06-05 12:50:28 -04:00
Martin Rudalics
51a5f9d816 Clean up and simplify buffer display routines.
* window.el (get-lru-window, get-mru-window, get-largest-window):
New argument NOT-SELECTED to avoid picking the selected window.
(window--display-buffer-1, window--display-buffer-2): Replace by
new function window--display-buffer
(display-buffer-same-window, display-buffer-reuse-window)
(display-buffer-pop-up-frame, display-buffer-pop-up-window): Use
window--display-buffer.
(display-buffer-use-some-window): Remove temporary dedication
hack by calling get-lru-window and get-largest-window with
NOT-SELECTED argument non-nil.  Call window--display-buffer.
2012-06-05 11:11:06 +02:00
Stefan Monnier
7c1898a7b9 * lisp/emacs-lisp/cl-lib.el: Rename from cl.el.
* lisp/emacs-lisp/cl.el: New compatibility file.
* emacs-lisp/cl-lib.el, lisp/emacs-lisp/cl-seq.el, lisp/emacs-lisp/cl-macs.el:
* lisp/emacs-lisp/cl-extra.el: Rename all top-level functions and variables
to obey the "cl-" prefix.
* lisp/emacs-lisp/macroexp.el (macroexpand-all-1): Adjust to new name.
2012-06-03 21:05:17 -04:00
Glenn Morris
7afbaca445 * etc/NEWS: Update for renamed variable.
* lisp/image.el (imagemagick-types-inhibit): Bump :version.
2012-06-03 16:07:48 -07:00
Chong Yidong
cbe46e5fae Allow clicking mouse-3 on mode line to change coding system.
* lisp/bindings.el (mode-line-coding-system-map): Allow using mouse-3
to invoke set-buffer-file-coding-system.
(mode-line-mule-info-help-echo): Update help text.

Fixes: debbugs:289
2012-06-03 18:54:22 +08:00
Chong Yidong
383f7350f3 Make mode line help-echo visible for unibyte buffers.
* src/xdisp.c (decode_mode_spec_coding): Display a space for a unibyte
buffer.

* lisp/bindings.el (mode-line-mule-info-help-echo)
(mode-line-read-only-help-echo, mode-line-modified-help-echo):
New functions.
(mode-line-mule-info, mode-line-modified): Use them.
(mode-line-eol-desc, propertized-buffer-identification):
Consistency fixes for help text.

Fixes: debbugs:11226
2012-06-03 18:23:49 +08:00
Paul Eggert
501390c597 Remove --disable-maintainer-mode option from 'configure'. (Bug#11555)
It is confusingly named and rarely useful.  See, for example,
<http://lists.gnu.org/archive/html/emacs-devel/2011-12/msg00089.html>.
* INSTALL.BZR: Don't mention --disable-maintainer-mode.
* Makefile.in (MAINTAINER_MODE_FLAG): Remove; all uses removed.
* configure.in: Remove --disable-maintainer-mode.
(USE_MAINTAINER_MODE, MAINT): Remove.
* admin/make-tarball.txt: Don't worry about maintainer mode.
* etc/NEWS: Mention this.
2012-06-01 11:26:21 -07:00
Glenn Morris
60b5f1870c Split off imagemagick-filter-types from imagemagick-register-types
* lisp/image.el: (imagemagick-filter-types): New function.  (Bug#7406)
(imagemagick-register-types): Use imagemagick-filter-types.

* etc/NEWS: Mention this.
2012-05-31 13:14:46 -04:00
Glenn Morris
32d72c2f5d Add option imagemagick-types-enable
* lisp/image.el: For clarity, call imagemagick-register-types at
top-level, rather than relying on a custom :initialize.
(imagemagick-types-enable): New option. 
(imagemagick-register-types): Respect imagemagick-types-inhibit.
If disabling support, remove elements altogether rather
than using an impossible regexp.
(imagemagick-types-inhibit): Give it the default init function.

* src/image.c (Fimagemagick_types): Doc fix.

* etc/NEWS: Mention this.

Fixes: debbugs:11557
2012-05-31 00:22:33 -07:00
Stefan Monnier
500fcedc32 Add declare' for defun'. Align `defmacro's with it.
* lisp/emacs-lisp/easy-mmode.el (define-minor-mode)
(define-globalized-minor-mode): Don't autoload the var definitions.
* lisp/emacs-lisp/byte-run.el: Use lexical-binding.
(defun-declarations-alist, macro-declarations-alist): New vars.
(defmacro, defun): Use them.
(make-obsolete, define-obsolete-function-alias)
(make-obsolete-variable, define-obsolete-variable-alias):
Use `declare'.
(macro-declaration-function): Mark obsolete.
* lisp/emacs-lisp/autoload.el: Use lexical-binding.
(make-autoload): Add `expansion' arg.  Rely more on macro expansion.
2012-05-30 21:41:17 -04:00
Juri Linkov
b03b4c0063 * etc/NEWS: Doc fix.
Fixes: debbugs:11574
2012-05-31 04:09:41 +03:00
Stefan Merten
6d3f7c2fff Silence `checkdoc-ispell' errors where possible. Fix authors. Improve
comments.  Improve loading of `cl'.

(rst-mode-abbrev-table): Merge definition.
(rst-mode): Make sure `font-lock-defaults' is buffer local.
(rst-define-key, rst-deprecated-keys, rst-call-deprecated): Refactor.
2012-05-29 22:14:18 +02:00
Juri Linkov
b9cb23871e * lisp/isearch.el (isearch-mode-map): Bind M-s _' to isearch-toggle-symbol'.
Bind `M-s c' to `isearch-toggle-case-fold'.
(search-map): Bind `M-s _' to `isearch-forward-symbol'.
(isearch-forward): Add `M-s _' to the docstring.
(isearch-forward-symbol, isearch-toggle-case-fold)
(isearch-symbol-regexp): New functions.

Fixes: debbugs:11381
2012-05-29 12:46:06 +03:00
Reto Zimmermann
fda9126866 * lisp/progmodes/vhdl-mode.el: Sync with upstream 3.33.28.
http://www.iis.ee.ethz.ch/~zimmi/emacs/vhdl-mode.html#release-notes-3.33
2012-05-27 23:42:18 -04:00
Stefan Monnier
434163923d * lisp/subr.el (buffer-has-markers-at): Mark obsolete. 2012-05-26 15:55:07 -04:00
Eli Zaretskii
53a63be64d Extend mouse support on W32 text-mode console.
src/xdisp.c (draw_row_with_mouse_face): Call
 tty_draw_row_with_mouse_face for WINDOWSNT as well.
 src/w32console.c: Include window.h.
 (w32con_write_glyphs_with_face, tty_draw_row_with_mouse_face): New
 functions.
 (initialize_w32_display): Initialize mouse-highlight data.
 src/w32inevt.c: Include termchar.h and window.h.
 (do_mouse_event): Support mouse-autoselect-window.  When the mouse
 moves, call note_mouse_highlight.  If help_echo changed, call
 gen_help_event to produce help-echo message in the echo area.
 Call clear_mouse_face if mouse_face_hidden is set in the mouse
 highlight info.

 etc/NEWS: Describe the changes.
2012-05-26 15:14:56 +03:00
Glenn Morris
87eb79c25b * lisp/image.el (imagemagick-types-inhibit): Doc fix.
* etc/NEWS: Related edits.
2012-05-25 16:24:58 -04:00
Juri Linkov
bc1b21bb4e Use the same diff color scheme as in modern VCSes (bug#10181).
* lisp/vc/diff-mode.el (diff-header, diff-file-header): Remove "green"
to avoid confusion with `diff-added' that now uses green colors.
(diff-removed): Use shades of red.
(diff-added): Use shades of green.
(diff-changed): Leave just the yellow color.
(diff-use-changed-face): New variable.
(diff-font-lock-keywords): Use `diff-use-changed-face' to decide
how to highlight context diff changes.
(diff-refine-change): Use shades of yellow.
(diff-refine-removed): New face that uses shades of red.
(diff-refine-added): New face that uses shades of green.
(diff-refine-hunk): Use `diff-refine-change', `diff-refine-added',
`diff-refine-removed' in the call to `smerge-refine-subst'
depending on the value of `diff-use-changed-face'.

* lisp/vc/ediff-init.el (ediff-current-diff-A, ediff-fine-diff-A):
Add face condition `min-colors 88' with shades of red.
(ediff-current-diff-B, ediff-fine-diff-B): Add face condition
`min-colors 88' with shades of green.
(ediff-current-diff-C, ediff-fine-diff-C): Add face condition
`min-colors 88' with shades of yellow.

* lisp/vc/smerge-mode.el (smerge-mine): Use shades of red.
(smerge-other): Use shades of green.
(smerge-base): Use shades of yellow.
(smerge-refined-change): Empty face.
(smerge-refined-removed): New face that uses shades of red.
(smerge-refined-added): New face that uses shades of green.
(smerge-refine-subst): Rename arg `props' to `props-c'.  Add new
args `props-r' and `props-a', and use them.  Doc fix.
(smerge-refine): Evaluate `smerge-use-changed-face' and depending
on its value use different faces `smerge-refined-change',
`smerge-refined-removed', `smerge-refined-added' in the call to
`smerge-refine-subst'.
2012-05-25 03:55:40 +03:00
Glenn Morris
136c45eee7 Stop adding Fink directories to search path on OS X
* configure.in (GCC_TEST_OPTIONS, NON_GCC_TEST_OPTIONS) <darwin>:
No longer unconditonally add /sw directories. 

* etc/NEWS: Mention this.

Fixes: debbugs:2280
2012-05-18 00:14:45 -07:00
Glenn Morris
f9e7d610b5 NEWS fixes 2012-05-15 13:38:41 -04:00
Stefan Monnier
ff46c759dd * lisp/progmodes/sh-script.el: Use post-self-insert-hook&electric-pair-mode.
Provide SMIE-based indentation (not enabled by default yet).
(sh-mode-map): Don't bind electric keys.
Use electric-pair-mode instead of skeleton-pair.
(sh-assignment-regexp): Fit within 80 columns.
(sh-indent-supported): Specify actual shell name instead of boolean.
(sh--maybe-here-document): New fun, from sh-maybe-here-document.
(sh-maybe-here-document): Use it.  Make obsolete.
(sh-electric-here-document-mode) New minor mode.
(sh-mode): Use it.  Don't set sh-indent-supported-here here.
(sh-smie-sh-grammar, sh-smie--sh-operators, sh-smie--sh-operators-re)
(sh-smie--sh-operators-back-re, sh-indent-after-continuation)
(sh-smie-rc-grammar, sh-use-smie): New vars.
(sh-smie--keyword-p, sh-smie--newline-semi-p, sh-smie--sh-keyword-p)
(sh-smie-sh-forward-token, sh-smie--looking-back-at-continuation-p)
(sh-smie-sh-backward-token, sh-smie--continuation-start-indent)
(sh-smie-sh-rules, sh-smie-rc-rules, sh-smie--sh-keyword-in-p)
(sh-smie--rc-after-special-arg-p, sh-smie-rc-backward-token)
(sh-smie-sh-rules, sh-smie--rc-newline-semi-p): New functions.
(sh-set-shell): Use smie-setup if requested.
2012-05-11 10:24:50 -04:00
Chong Yidong
9f9aa0448a Cleanups and improvements for FFAP and URL.
* ffap.el (ffap-url-unwrap-local): Make it work right.
Use url-generic-parse-url, and handle host names and Windows
filenames properly.
(ffap-url-unwrap-remote): Use url-generic-parse-url.
(ffap-url-unwrap-remote): Accept list values, specifying a list of
URL schemes to work on.
(ffap--toggle-read-only): New function.
(ffap-read-only, ffap-read-only-other-window)
(ffap-read-only-other-frame): Use it.
(ffap-fixup-url): Don't check ffap-ftp-regexp, since it is not
necessary for ffap-url-unwrap-remote.

* url-parse.el (url-path-and-query, url-port-if-non-default): New
functions.
(url-generic-parse-url): Don't set the portspec slot if it is not
specified; that is what `url-port' is for.
(url-port): Only require the scheme to be specified to call
url-scheme-get-property.

* url-util.el (url-encode-url): Use url-path-and-query.

* url-vars.el (url-mime-charset-string): Load mm-util lazily.

Fixes: debbugs:9131
2012-05-10 14:27:12 +08:00
Glenn Morris
b8a82b6930 Update doc for obsolescence of "unibyte: t"
* doc/emacs/mule.texi (Disabling Multibyte):
* doc/lispref/loading.texi (Loading Non-ASCII):
Replace the obsolete "unibyte: t" with "coding: raw-text".
* etc/NEWS: Related markup.
2012-05-09 19:54:07 -07:00
Glenn Morris
dc0f75c82c Document new create-lockfiles option 2012-05-09 20:58:16 -04:00
Chong Yidong
ce7b18ec41 Improve RFC 3986 conformance of url package.
Fix 2012-04-10 change to url.el.

* url-http.el (url-http-create-request): Ignore obsolete
attributes slot of url-object.

* url-parse.el: Improve RFC 3986 conformance.
(url-generic-parse-url): Do not populate the ATTRIBUTES slot,
since this is not reliable for general RFC 3986 URIs.  Keep the
whole path and query inside the FILENAME slot.  Improve docstring.
(url-recreate-url-attributes): Mark as obsolete.
(url-recreate-url): Handle missing scheme and userinfo.

* url-util.el (url-encode-url): New function for URL quoting.
(url-encoding-table, url-host-allowed-chars)
(url-path-allowed-chars): New constants.
(url--allowed-chars): New helper function.
(url-hexify-string): Use them.

* url-vars.el (url-nonrelative-link): Make the regexp stricter.

* url.el (url-retrieve-internal): Use url-encode-url.

Fixes: debbugs:7017
2012-05-09 16:33:48 +08:00
Glenn Morris
57699e3735 Fix NEWS typo 2012-05-07 18:40:58 -04:00
Glenn Morris
037945709a * lisp/international/mule.el (find-auto-coding): Make "unibyte: t" obsolete.
* etc/NEWS: Edits.

Ref: http://lists.gnu.org/archive/html/emacs-devel/2012-04/msg00434.html
2012-05-07 17:26:08 -04:00
Stefan Merten
d13c8be67c 2012-05-05 Stefan Merten <smerten@oekonux.de>
* rst.el: Major merge with upstream development up to Docutils
	SVN r7399 / rst.el V1.2.1.

	Clarified maintainership and authors.

	(rst-extract-version, rst-cvs-header, rst-cvs-rev)
	(rst-cvs-timestamp, rst-svn-rev, rst-svn-timestamp)
	(rst-official-version, rst-official-cvs-rev, rst-version)
	(rst-package-emacs-version-alist): New functions and variables
	for version information.

	(rst-bullets, rst-uri-schemes, rst-adornment-chars)
	(rst-max-inline-length, rst-re-alist-def, rst-re-alist)
	(rst-mode-syntax-table, rst-mode): New and corrected functions
	and variables representing reStructuredText features.

	(rst-re): New function for reStructuredText regexes. Used in
	many places.

	(rst-deprecated-keys, rst-call-deprecated, rst-define-key)
	(rst-mode-map): Rebound keys.

	(rst-mode-lazy, rst-font-lock-keywords)
	(rst-font-lock-extend-region)
	(rst-font-lock-extend-region-internal)
	(rst-font-lock-extend-region-extend)
	(rst-font-lock-find-unindented-line-limit)
	(rst-font-lock-find-unindented-line-match)
	(rst-adornment-level, rst-font-lock-adornment-level)
	(rst-font-lock-adornment-match)
	(rst-font-lock-handle-adornment-pre-match-form)
	(rst-font-lock-handle-adornment-matcher): Major revision of
	font-locking. Integrated with other code. `jit-lock-mode' is
	used now.

	(rst-preferred-adornments, rst-adjust-hook)
	(rst-new-adornment-down, rst-preferred-bullets)
	(rst-preferred-bullets, rst-indent, rst-indent-width)
	(rst-indent-field, rst-indent-literal-normal)
	(rst-indent-literal-minimized, rst-indent-comment): Changed,
	extended and improved customization.

	(rst-line-homogeneous-p, rst-line-homogeneous-nodent-p)
	(rst-normalize-cursor-position, rst-get-decoration)
	(rst-straighten-deco-spacing, rst-re-bullets, rst-re-items)
	(rst-rstrip, rst-toc-insert-find-delete-contents)
	(rst-shift-fill-region, rst-compute-bullet-tabs)
	(rst-debug-print-tabs, rst-debug-mark-found)
	(rst-shift-region-guts, rst-shift-region-right)
	(rst-shift-region-left, rst-use-char-classes)
	(rst-font-lock-keywords-function)
	(rst-font-lock-indentation-point)
	(rst-font-lock-find-unindented-line-begin)
	(rst-font-lock-find-unindented-line-end)
	(rst-font-lock-find-unindented-line)
	(rst-font-lock-adornment-point, rst-font-lock-level)
	(rst-adornment-level-alist): Removed functions and variables.

	(rst-compare-adornments, rst-get-adornment-match)
	(rst-suggest-new-adornment, rst-get-adornments-around)
	(rst-adornment-complete-p, rst-get-next-adornment)
	(rst-adjust-adornment, rst-display-adornments-hierarchy)
	(rst-straighten-adornments): Standardized function names to
	use "adornment" instead of "decoration". Corrected callers.
	Similar standardizing happened in many places.

	(rst-update-section, rst-adjust, rst-promote-region)
	(rst-enumerate-region, rst-bullet-list-region)
	(rst-repeat-last-character): Corrected use of `interactive'.

	(rst-classify-adornment, rst-find-all-adornments)
	(rst-get-hierarchy, rst-adjust-adornment, rst-toc-update)
	(rst-find-leftmost-column, rst-repeat-last-character):
	Refactored functions.

	(rst-find-title-line, rst-reset-section-caches)
	(rst-get-adornments-around, rst-adjust-adornment-work)
	(rst-arabic-to-roman, rst-roman-to-arabic)
	(rst-insert-list-pos, rst-insert-list-new-item)
	(rst-insert-list-continue, rst-insert-list, rst-forward-line):
	New functions.

	(rst-all-sections, rst-section-hierarchy)
	(rst-arabic-to-roman, rst-initial-enums, rst-initial-items):
	New variables.

	(rst-toc-return-wincfg, rst-toc-quit-window): Using window
	configuration instead of only buffer. Changed where necessary.

	(rst-line-tabs, rst-compute-tabs, rst-indent-line)
	(rst-shift-region, rst-adaptive-fill): New functions for
	indentation and filling.

	(rst-comment-line-break, rst-comment-indent)
	(rst-comment-insert-comment, rst-comment-region)
	(rst-uncomment-region): New functions for handling comments.

	(rst-compile): Shell arguments are quoted.

	(rst-compile-pdf-preview, rst-compile-slides-preview):
	Temporary files are deleted after use.
2012-05-07 21:51:25 +02:00
Chong Yidong
e5f9458fe8 * lisp/buff-menu.el: Convert to Tabulated List mode.
(Buffer-menu-buffer+size-width): Make obsolete.
(Buffer-menu-name-width, Buffer-menu-size-width): New variables.
(Buffer-menu-mode-map): Inherit from tabulated-list-mode-map.
(Buffer-menu-mode): Derive from tabulated-list-mode.  Move command
documentation into docstring of buffer-menu.
(Buffer-menu-toggle-files-only): Add an informative message.
(Buffer-menu-sort): Convert to alias for tabulated-list-sort.
(Buffer-menu-buffer, Buffer-menu-beginning, Buffer-menu-mark)
(Buffer-menu-unmark, Buffer-menu-backup-unmark)
(Buffer-menu-delete, Buffer-menu-save, Buffer-menu-not-modified)
(Buffer-menu-execute, Buffer-menu-select)
(Buffer-menu-marked-buffers, Buffer-menu-toggle-read-only)
(Buffer-menu-bury): Use Tabulated List machinery.
(Buffer-menu-mouse-select, Buffer-menu-sort-by-column)
(Buffer-menu-sort-button-map, Buffer-menu-make-sort-button):
Deleted.
(list-buffers--refresh): New function.
(list-buffers-noselect): Use it.
(tabulated-list-entry-size->, Buffer-menu--pretty-name)
(Buffer-menu--pretty-file-name): New helper functions.

* lisp/loadup.el: Preload tabulated-list.

* lisp/emacs-lisp/tabulated-list.el (tabulated-list-sort): Rename from
tabulated-list-sort-column.
(tabulated-list-init-header): Add the initial aligning space even
if tabulated-list-padding is zero.

* src/lisp.mk (lisp): Update.
2012-05-07 00:45:46 +08:00
Chong Yidong
6632d36111 Improvements for Tabulated List mode.
* lisp/emacs-lisp/tabulated-list.el (tabulated-list-format): Accept
additional plist in column descriptors.
(tabulated-list-init-header): Obey it.
(tabulated-list-get-entry): New function.
(tabulated-list-put-tag): Use it.  Use string-width instead of
length.
(tabulated-list--column-number): New function.
(tabulated-list-print): Use it.
(tabulated-list-print-col): New function.  Set
`tabulated-list-column-name' property on each column's text.
(tabulated-list-print-entry): Use it.
(tabulated-list-delete-entry, tabulated-list-set-col): New
functions.
(tabulated-list-sort-column): New command.

Fixes: debbugs:11337
2012-05-06 16:32:37 +08:00
Glenn Morris
48176e8bac Optionally include holidays in cal-html output
* lisp/calendar/cal-html.el: (cal-html-holidays): New option.
(cal-html-css-default): Add holiday entry.
(holiday-in-range): Autoload it.
(cal-html-htmlify-entry): Add optional class argument.
(cal-html-htmlify-list): Add optional holidays argument.
(cal-html-insert-agenda-days): Include holidays in the output.
(cal-html-one-month): Maybe include holidays.
2012-05-05 14:31:41 -07:00
Stefan Monnier
f95e9344c9 New function set-temporary-overlay-map and macros (defvar|setq)-local.
* lisp/subr.el (setq-local, defvar-local): New macros.
(kbd): Redefine as an alias.
(with-selected-window): Leave unrelated frames alone.
(set-temporary-overlay-map): New function.
2012-05-04 21:47:04 -04:00
Stefan Monnier
71873e2b33 Add new error and function `user-error'.
* lisp/subr.el (user-error): New function.
* lisp/window.el (switch-to-buffer):
* lisp/vc/smerge-mode.el (smerge-resolve-function, smerge-resolve)
(smerge-match-conflict):
* lisp/simple.el (previous-matching-history-element)
(next-matching-history-element, goto-history-element, undo-more)
(undo-start):
* lisp/progmodes/etags.el (visit-tags-table-buffer, find-tag-tag)
(find-tag-noselect, find-tag-in-order, etags-goto-tag-location)
(next-file, tags-loop-scan, list-tags, complete-tag):
* lisp/progmodes/compile.el (compilation-loop):
* lisp/mouse.el (mouse-minibuffer-check):
* lisp/man.el (Man-bgproc-sentinel, Man-goto-page):
* lisp/info.el (Info-find-node-2, Info-extract-pointer, Info-history-back)
(Info-history-forward, Info-follow-reference, Info-menu)
(Info-extract-menu-item, Info-extract-menu-counting)
(Info-forward-node, Info-backward-node, Info-next-menu-item)
(Info-last-menu-item, Info-next-preorder, Info-last-preorder)
(Info-next-reference, Info-prev-reference, Info-index)
(Info-index-next, Info-follow-nearest-node)
(Info-copy-current-node-name):
* lisp/imenu.el (imenu--make-index-alist)
(imenu-default-create-index-function, imenu-add-to-menubar):
* lisp/files.el (basic-save-buffer, recover-file):
* lisp/emacs-lisp/easy-mmode.el (easy-mmode-define-navigation):
* lisp/emacs-lisp/checkdoc.el (checkdoc-continue, checkdoc-comments)
(checkdoc-message-text, checkdoc-defun):
* lisp/dabbrev.el (dabbrev-completion, dabbrev--abbrev-at-point):
* lisp/cus-edit.el (customize-changed-options, customize-rogue)
(customize-saved, custom-variable-set, custom-variable-mark-to-save)
(custom-variable-mark-to-reset-standard)
(custom-variable-reset-backup, custom-face-mark-to-reset-standard)
(custom-file):
* lisp/completion.el (check-completion-length):
* lisp/comint.el (comint-search-arg)
(comint-previous-matching-input-string-position)
(comint-previous-matching-input)
(comint-replace-by-expanded-history-before-point, comint-send-input)
(comint-copy-old-input, comint-backward-matching-input)
(comint-goto-process-mark, comint-set-process-mark):
* lisp/calendar/calendar.el (calendar-cursor-to-date): Use it.
* lisp/bindings.el (debug-ignored-errors): Remove regexps, add `user-error'.
* src/data.c (PUT_ERROR): New macro.
(syms_of_data): Use it.  Add new error type `user-error'.
* src/undo.c (user_error): New function.
(Fprimitive_undo): Use it.
* src/print.c (print_error_message): Adjust print style for `user-error'.
* src/keyboard.c (user_error): New function.
(Fexit_recursive_edit, Fabort_recursive_edit): Use it.
2012-05-04 19:16:47 -04:00