Paul Eggert [Thu, 29 Dec 2011 20:44:31 +0000 (12:44 -0800)]
emacs: fix an auto-save permissions race condition
* fileio.c (auto_saving_dir_umask): New static var.
(Fmake_directory_internal): Use it.
(do_auto_save_make_dir): Set it, instead of invoking chmod after
creating the directory. The old code temporarily assigns
too-generous permissions to the directory.
(do_auto_save_eh): Clear it.
(Fdo_auto_save): Catch all errrors, not just file errors, so
that the var is always cleared.
Michael Albinus [Thu, 29 Dec 2011 11:34:44 +0000 (12:34 +0100)]
* net/tramp-sh.el (tramp-find-shell): Set "remote-shell" property
also for alternative shells.
(tramp-open-connection-setup-interactive-shell): Check, whether
the shell is a busybox.
(tramp-send-command): Don't suppress multiple prompts for
busyboxes, it hurts.
Kenichi Handa [Wed, 28 Dec 2011 07:55:49 +0000 (16:55 +0900)]
coding.c: (Fdefine_coding_system_internal): Make an utf-8 base coding-system ASCII compatible only when it does not produce BOM on encoding (Bug#10383).
Paul Eggert [Wed, 28 Dec 2011 06:59:21 +0000 (22:59 -0800)]
doc: Use clearer notations for permissions.
* doc/lispref/files.texi (File Attributes, Changing Files):
Use a more-natural notation for octal numbers.
* doc/misc/gnus.texi (Mail Source Customization, Mail Back End Variables):
Use octal notation for file permissions, which are normally
thought of in octal.
(Mail Back End Variables): Use more-plausible modes in example.
Chong Yidong [Mon, 26 Dec 2011 10:36:41 +0000 (18:36 +0800)]
Update Abbrevs and Dired chapters of Emacs manual.
* dired.texi (Dired Enter, Misc Dired Features): Document
dired-use-ls-dired changes. Mention quit-window.
(Dired Navigation): Add index entries.
(Dired Visiting): Fix View Mode xref.
(Marks vs Flags): Prefer C-/ binding for undo.
(Subdirectories in Dired): Add xrefs.
(Misc Dired Features): Document some Emacs 24 changes. Add index
entries.
* abbrevs.texi (Abbrev Concepts): No need to mention abbrev-mode
variable, since it is explained in Minor Modes node.
(Defining Abbrevs): Copyedits.
(Expanding Abbrevs): State default of abbrev-all-caps. Prefer the
C-/ binding for undo.
(Dabbrev Customization): Add xrefs for case-fold-search and
case-replace.
Chong Yidong [Sun, 25 Dec 2011 10:46:49 +0000 (18:46 +0800)]
Fix GDB/MI inline completion.
* progmodes/gdb-mi.el (gdb-input): Accept command and handler
function as separate arguments.
(gdb-init-1, gdb-non-stop-handler, gdb-check-target-async)
(gdb-tooltip-print-1, gud-watch, gdb-speedbar-update)
(gdb-var-list-children, gdb-var-set-format, gdb-var-delete-1)
(gdb-var-delete-children, gdb-edit-value, gdb-var-update)
(gdb-stopped, def-gdb-auto-update-trigger)
(gdb-place-breakpoints, gdb-select-thread, gdb-select-frame)
(gdb-get-changed-registers, gdb-get-main-selected-frame): Callers
changed.
(gud-gdbmi-completions): New function.
(gdb): Use it for generating the completion table.
* progmodes/gud.el (gud-gdb-fetch-lines-filter): Just use
gud-gdb-marker-filter without taking it as an argument.
(gud-gdb-run-command-fetch-lines): Caller changed.
(gud-gdb-completion-function): New variable.
(gud-gdb-completion-at-point): Use it.
(gud-gdb-completions-1): Split from gud-gdb-completions.
Eli Zaretskii [Fri, 23 Dec 2011 14:51:51 +0000 (16:51 +0200)]
Fix assertion violation in pop_it when org-indent-mode is used.
src/xdisp.c (handle_invisible_prop): Handle correctly an invisible
property that ends at ZV, so that the bidi iteration could be
resumed from there (after widening).
Chong Yidong [Thu, 22 Dec 2011 10:14:41 +0000 (18:14 +0800)]
More updates for VC documentation.
* doc/emacs/vc1-xtra.texi (Version Headers): Note that these are for
Subversion, CVS, etc. only.
(General VC Options): De-document vc-keep-workfiles. Fix RCS-isms.
* doc/emacs/maintaining.texi (Change Log Commands): Don't specially mention
vc-update-change-log which is CVS-only.
* maintaining.texi (Advanced C-x v v): Use fileset terminology.
(VC With A Merging VCS, VC Change Log): Add xref to VC Pull node.
(VC Pull): Mention vc-log-incoming.
(Log Buffer): Add CVS/RCS only disclaimer.
* vc1-xtra.texi (Remote Repositories): Update introduction.
(Local Version Control): Node deleted (obsolete with DVCSes).
(Remote Repositories, Version Backups): Node deleted. Move
documentation of vc-cvs-stay-local to CVS Options.
(CVS Options): Reduce verbosity of description of obscure CVS
locking feature.
(Making Revision Tags, Revision Tag Caveats): Merge into Revision
Tags node.
(Revision Tags): Move under Miscellaneous VC subsection.
(Change Logs and VC): Note that this is wrong for DVCSs.
De-document log entry manipulating features.
(Renaming and VC): Describe how it works on modern VCSes.
* programs.texi (Custom C Indent): Add index entries.
* nsfns.m (x_set_background_color): Assign return value from
ns_index_color to face-background instead of NSColor*.
(ns_implicitly_set_icon_type): Fix indentation.
Change assignment in for loop to comparison.
* nsfont.m (ns_spec_to_descriptor): Fix indentation,
autorelease fdesc, release fdAttrs and tdict.
(ns_get_covering_families): Release charset.
(ns_findfonts): Release NSFontDescriptor created with new.
(ns_uni_to_glyphs): Fix indentation.
(setString): Release attrStr before assigning new value.
* nsmenu.m (ns_update_menubar): Call free_menubar_widget_value_tree
before returning.
* nsterm.m (x_free_frame_resources): Release
f->output_data.ns->miniimage
(ns_index_color): Fix indentation. Do not retain
color_table->colors[i].
Alan Mackenzie [Tue, 20 Dec 2011 16:00:47 +0000 (16:00 +0000)]
Update programs.texi and cc-mode.texi for new CC Mode features:
cc-mode.texi: Update version string to 5.32.
programs.texi: Describe "guessing" of indentation style. Update C-M-a/e.
Chong Yidong [Tue, 20 Dec 2011 03:00:10 +0000 (11:00 +0800)]
More updates for VC documentation.
* doc/emacs/maintaining.texi (VCS Concepts): Add "working tree" terminology.
(Old Revisions): Use it.
(VCS Repositories): Add "distributed" terminology.
(Log Buffer): Remove duplicate description
about changesets. Fix "current VC fileset" ambiguity.
(Multi-User Branching): Node deleted.
(Branches, Switching Branches): Discuss decentralized version control systems.
(VC Pull): New node.
(Merging): Document merging on decentralized systems.
(Creating Branches): Note that this is specific to CVS and related systems.
Chong Yidong [Mon, 19 Dec 2011 07:25:46 +0000 (15:25 +0800)]
More updates for VC documentation.
* doc/emacs/maintaining.texi (VCS Merging, VCS Changesets): Index entries.
(VC Mode Line): Add index entry for "version control status".
(VC Undo): Use vc-revert instead of its vc-revert-buffer alias.
Document vc-revert-show-diff. De-document vc-rollback.
(VC Directory Mode): Rewrite introduction. Move prefix arg
documentation here from VC Directory Buffer node.
(VC Directory Buffer): Use a decentralized VCS example.
(VC Directory Commands): Use a table. Remove material duplicated
in previous nodes on multi-file VC filsets.
Chong Yidong [Mon, 19 Dec 2011 07:00:16 +0000 (15:00 +0800)]
Fix bugs in vc-dir-mark-unmark and vc-dir-mark-all-files.
* lisp/vc/vc-dir.el (vc-dir-parent-marked-p, vc-dir-children-marked-p):
Don't signal an error in a predicate function; return non-nil.
(vc-dir-mark-file): Move the error here.
(vc-dir-mark-unmark): If acting on the region, keep going if one
of the entries cannot be marked/unmarked.
(vc-dir-mark-all-files): If current entry is a directory, mark
only child files, as documented.
Vincent Belaïche [Mon, 19 Dec 2011 06:30:36 +0000 (07:30 +0100)]
Ooops... undo changes of 2011-12-11T14:49:48Z!vincentb1@users.sourceforge.net, as trunk branch is feature frozen, and 2011-12-11T14:49:48Z!vincentb1@users.sourceforge.net was a feature addition.
Jan Djärv [Sun, 18 Dec 2011 14:50:19 +0000 (15:50 +0100)]
Adapt code from AquaEmacs to handle occasional blank menus.
* nsmenu.m (trackingMenu): New variable.
(NSMenuDidBeginTrackingNotification): Declare if OSX < 10.5 and
NS_IMPL_COCOA.
(trackingNotification): New method (from AquaEmacs).
(menuNeedsUpdate): Expand comment and return if trackingMenu is 0,
from AquaEmacs.
(syms_of_nsmenu): Set trackingMenu to 1 if not NS_IMPL_COCOA.
* nsterm.m (ns_term_init): Subscribe for notifications
NSMenuDidBeginTrackingNotification and NSMenuDidEndTrackingNotification
to method trackingNotification in EmacsMenu.
Jan Djärv [Sun, 18 Dec 2011 13:49:38 +0000 (14:49 +0100)]
NS selection bug fix and cleanup, see thread C-g crash in C-x C-f (OSX Lion).
Thread is on emacs-devel.
* lisp/term/ns-win.el (ns-get-selection-internal)
(ns-store-selection-internal): Declare.
(ns-store-cut-buffer-internal, ns-get-cut-buffer-internal): Declare
as obsolete.
(ns-get-pasteboard, ns-paste-secondary): Use
ns-get-selection-internal.
(ns-set-pasteboard, ns-copy-including-secondary): Use
ns-store-selection-internal.
* src/nsselect.m (CUT_BUFFER_SUPPORT): Remove define.
(symbol_to_nsstring): Fix indentation.
(ns_symbol_to_pb): New function.
(Fns_get_selection_internal): Renamed from Fns_get_cut_buffer_internal.
(Fns_rotate_cut_buffers_internal): Removed.
(Fns_store_selection_internal): Renamed from
Fns_store_cut_buffer_internal.
(ns_get_foreign_selection, Fx_own_selection_internal)
(Fx_disown_selection_internal, Fx_selection_exists_p)
(Fns_get_selection_internal, Fns_store_selection_internal): Use
ns_symbol_to_pb and check if return value is nil.
(syms_of_nsselect): Remove ifdef CUT_BUFFER_SUPPORT. Remove
defsubr Sns_rotate_cut_buffers_internal. Sns_get_cut_buffer_internal
renamed to Sns_get_selection_internal, Sns_store_cut_buffer_internal
renamed to Sns_store_selection_internal.
(ns_handle_selection_request): Move code to Fx_own_selection_internal
and remove this function.
(ns_handle_selection_clear): Remove, never used.
(Fx_own_selection_internal): Move code from ns_handle_selection_request
here.
Chong Yidong [Sat, 17 Dec 2011 07:50:08 +0000 (15:50 +0800)]
More updates for VC documentation.
* doc/emacs/maintaining.texi (VCS Concepts): Make "revision" terminology
less CVS-specific.
(VC With A Merging VCS, VC With A Locking VCS): Add xref to
Registering node.
(Secondary VC Commands): Deleted. Promote subnodes.
(Log Buffer): Add command name for C-c C-c. Fix the name of the
log buffer. Add index entries.
(VCS Changesets, Types of Log File, VC With A Merging VCS): Use
"commit" terminology.
(Old Revisions): Move it to just before VC Change Log. "Tag" here
doesn't refer to tags tables. Note other possible forms of the
revision ID. C-x v = does not save.
(Registering): Note similarity to C-x v v action. Fix description
of how backends are chosen. De-document vc-default-init-revision.
(VC Change Log): Document C-x v l in VC-Dir buffer. Document RET
in root log buffers.
* lisp/vc/vc.el (vc-deduce-fileset): Minor doc fix.
(GC_MARK_SECONDARY_STACK): Omit removed 3rd arg to mark_memory,
which caused a build failure on GNU/Linux IA-64. This problem was
introduced by my 2011-10-07 patch.
Paul Eggert [Sat, 17 Dec 2011 00:51:40 +0000 (16:51 -0800)]
Port HAVE_PTHREAD configuration to MirBSD 10 (Bug#10201).
* configure.in (HAVE_PTHREAD): Check for pthread_atforkif linking
to gmalloc.c. This should prevent a MirBSD 10 build failure reported
by Nelson H. F. Beebe in
<http://lists.gnu.org/archive/html/emacs-devel/2011-12/msg00065.html>.
Chong Yidong [Fri, 16 Dec 2011 16:05:59 +0000 (00:05 +0800)]
Fixes for Maintaining chapter of Emacs manual.
* doc/emacs/maintaining.texi (Version Control Systems): Drop Meta-CVS.
(Basic VC Editing): Remove redundant descriptions.
(VC With A Merging VCS): Make description more general instead of
CVS-specific.
(VC With A Locking VCS): Use VC fileset terminology.
Juri Linkov [Thu, 15 Dec 2011 23:28:56 +0000 (01:28 +0200)]
* src/image.c (imagemagick_error): New function.
(imagemagick_load_image): Comment out `MagickSetResolution' call.
Use `imagemagick_error' where ImageMagick functions return
`MagickFalse'.
(Fimagemagick_types): Add `Fnreverse' to return the list in the
proper order.
Alan Mackenzie [Tue, 13 Dec 2011 18:47:08 +0000 (18:47 +0000)]
Large brace-block initialisation makes CC Mode slow: Fix.
Tidy up and accelerate c-in-literal, etc. by using the c-parse-state
routines. Limit backward searching in c-font-lock-enclosing.decl.
cc-engine.el (c-state-pp-to-literal): Return the pp-state and literal
type in addition to the limits.
(c-state-safe-place): New defun, extracted from c-state-literal-at.
(c-state-literal-at): Use the above new defun.
(c-slow-in-literal, c-fast-in-literal): Removed.
(c-in-literal, c-literal-limits): Amended to use c-state-pp-to-literal.
cc-fonts.el (c-font-lock-enclosing-decls): Check for being in a literal.
Add a limit for backward searching.
cc-mode.el (awk-mode): Don't alias c-in-literal to c-slow-in-literal.
Martin Rudalics [Tue, 13 Dec 2011 13:37:48 +0000 (14:37 +0100)]
Minor fixes in window handling code and docs.
* window.c (Vwindow_combination_resize)
(Vwindow_combination_limit): Use t instead of non-nil in
doc-strings.
* window.el (delete-other-windows): Use correct frame in call to
window-with-parameter.
* windows.texi (Splitting Windows): Use t instead of non-nil
when describing window-combination-resize.
Daniel Pfeiffer [Mon, 12 Dec 2011 21:23:42 +0000 (16:23 -0500)]
* lisp/progmodes/make-mode.el: Bring it up to date with makepp V2.0.
(makefile-make-font-lock-keywords): Extend meaning of `keywords'.
(makefile-gmake-statements, makefile-makepp-statements):
Use it and add new makepp keywords.
(makefile-makepp-font-lock-keywords): Add new patterns.
(makefile-match-function-end): Match new [...] and [[...]].
Chong Yidong [Mon, 12 Dec 2011 07:25:58 +0000 (15:25 +0800)]
More updates to Building chapter of Emacs manual.
* doc/emacs/building.texi (Executing Lisp): Fix xref for C-M-x.
(Lisp Libraries): Add xref to node explaining `load' in Lisp
manual. Note that load-path is not customizable.
(Lisp Eval): Note that listed commands are available globally.
Explain the meaning of "defun" in the C-M-x context.
(Lisp Interaction): Copyedits.
(External Lisp): Fix name of inferior Lisp buffer. Mention Scheme.
(Compilation): Define "inferior process".
Vincent Belaïche [Sun, 11 Dec 2011 14:49:48 +0000 (15:49 +0100)]
The overall change is to add cell renaming, that is
setting fancy names for cell symbols other than name matching
"\\`[A-Z]+[0-9]+\\'" regexp .
(ses-create-cell-variable): New defun.
(ses-relocate-formula): Relocate formulas only for cells the
symbols of which are not renamed, i.e. symbols whose names do not
match regexp "\\`[A-Z]+[0-9]+\\'".
(ses-relocate-all): Relocate values only for cells the symbols of
which are not renamed.
(ses-load): Create cells variables as the (ses-cell ...) are read,
in order to check row col consistency with cell symbol name only
for cells that are not renamed.
(ses-replace-name-in-formula): New defun.
(ses-rename-cell): New defun.
Eli Zaretskii [Sat, 10 Dec 2011 13:46:25 +0000 (15:46 +0200)]
Fix incorrect display of RFC2047 encoded names in Rmail summary buffers
lisp/mail/rmailsum.el (rmail-header-summary): RFC2047 decode the
`from' or `to' address before taking its substring. Fixes
incorrect display in Rmail summary buffer whereby an RFC2047
encoded name is chopped in the middle of the encoded string, and
thus displayed encoded.