Now on revision 105838. ------------------------------------------------------------ revno: 105838 committer: Lars Magne Ingebrigtsen branch nick: trunk timestamp: Mon 2011-09-19 10:26:50 +0200 message: * .dir-locals.el: Change the debbugs regexp to allow having the bug number as the first thing on a line. diff: === modified file '.dir-locals.el' --- .dir-locals.el 2011-04-24 18:34:57 +0000 +++ .dir-locals.el 2011-09-19 08:26:50 +0000 @@ -5,7 +5,7 @@ ;; You must set bugtracker_debbugs_url in your bazaar.conf for this to work. ;; See admin/notes/bugtracker. (log-edit-mode . ((log-edit-rewrite-fixes - " (bug#\\([0-9]+\\))" . "debbugs:\\1"))) + "[ \n](bug#\\([0-9]+\\))" . "debbugs:\\1"))) (change-log-mode . ((add-log-time-zone-rule . t) (fill-column . 74) (bug-reference-url-format . "http://debbugs.gnu.org/%s") === modified file 'ChangeLog' --- ChangeLog 2011-09-15 03:01:25 +0000 +++ ChangeLog 2011-09-19 08:26:50 +0000 @@ -1,3 +1,8 @@ +2011-09-19 Lars Magne Ingebrigtsen + + * .dir-locals.el: Change the debbugs regexp to allow having the + bug number as the first thing on a line. + 2011-09-15 Glenn Morris * configure.in: Make configure work with recent GNUsteps. ------------------------------------------------------------ revno: 105837 fixes bug(s): http://debbugs.gnu.org/9493 committer: Lars Magne Ingebrigtsen branch nick: trunk timestamp: Mon 2011-09-19 10:25:35 +0200 message: * lread.c (Fread_from_string): Document what FINAL-STRING-INDEX is. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-09-18 20:01:37 +0000 +++ src/ChangeLog 2011-09-19 08:25:35 +0000 @@ -1,3 +1,8 @@ +2011-09-19 Lars Magne Ingebrigtsen + + * lread.c (Fread_from_string): Document what FINAL-STRING-INDEX is + (bug#9493). + 2011-09-18 Chong Yidong * xfns.c (Fx_create_frame): Handle the bitmapIcon resource as === modified file 'src/lread.c' --- src/lread.c 2011-09-09 01:06:52 +0000 +++ src/lread.c 2011-09-19 08:25:35 +0000 @@ -1965,6 +1965,8 @@ DEFUN ("read-from-string", Fread_from_string, Sread_from_string, 1, 3, 0, doc: /* Read one Lisp expression which is represented as text by STRING. Returns a cons: (OBJECT-READ . FINAL-STRING-INDEX). +FINAL-STRING-INDEX is an integer giving the position of the next + remaining chararacter in STRING. START and END optionally delimit a substring of STRING from which to read; they default to 0 and (length STRING) respectively. */) (Lisp_Object string, Lisp_Object start, Lisp_Object end) ------------------------------------------------------------ revno: 105836 committer: Lars Magne Ingebrigtsen branch nick: trunk timestamp: Mon 2011-09-19 10:14:13 +0200 message: * errors.texi (Standard Errors): Remove apparent placeholder text (bug#9491). diff: === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2011-09-18 20:01:37 +0000 +++ doc/lispref/ChangeLog 2011-09-19 08:14:13 +0000 @@ -1,3 +1,8 @@ +2011-09-19 Lars Magne Ingebrigtsen + + * errors.texi (Standard Errors): Remove apparent placeholder text + (bug#9491). + 2011-09-18 Chong Yidong * frames.texi (Management Parameters): Fix description of === modified file 'doc/lispref/errors.texi' --- doc/lispref/errors.texi 2011-01-25 04:08:28 +0000 +++ doc/lispref/errors.texi 2011-09-19 08:14:13 +0000 @@ -28,9 +28,6 @@ handled. @table @code -@item @var{symbol} -@var{string}; @var{reference}. - @item error @code{"error"}@* @xref{Errors}. ------------------------------------------------------------ revno: 105835 committer: Michael Albinus branch nick: trunk timestamp: Mon 2011-09-19 08:53:45 +0200 message: * net/tramp-sh.el (tramp-inline-compress-commands): Add "xz". Suggested by Liam Stitt . diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-09-18 20:43:20 +0000 +++ lisp/ChangeLog 2011-09-19 06:53:45 +0000 @@ -1,3 +1,8 @@ +2011-09-19 Michael Albinus + + * net/tramp-sh.el (tramp-inline-compress-commands): Add "xz". + Suggested by Liam Stitt . + 2011-09-18 Juri Linkov * buff-menu.el (Buffer-menu-mode-map): === modified file 'lisp/net/tramp-sh.el' --- lisp/net/tramp-sh.el 2011-09-18 11:26:15 +0000 +++ lisp/net/tramp-sh.el 2011-09-19 06:53:45 +0000 @@ -4025,6 +4025,7 @@ (defconst tramp-inline-compress-commands '(("gzip" "gzip -d") ("bzip2" "bzip2 -d") + ("xz" "xz -d") ("compress" "compress -d")) "List of compress and decompress commands for inline transfer. Each item is a list that looks like this: ------------------------------------------------------------ revno: 105834 committer: Juri Linkov branch nick: trunk timestamp: Sun 2011-09-18 23:43:20 +0300 message: Capitalize non-function content words in menu item strings. * lisp/buff-menu.el (Buffer-menu-mode-map): * lisp/dired.el (dired-mode-map): * lisp/emacs-lisp/lisp-mode.el (emacs-lisp-mode-map) (lisp-interaction-mode-map): * lisp/emacs-lisp/package.el (package-menu-mode-map): * lisp/epa.el (epa-key-list-mode-map): * lisp/menu-bar.el (menu-bar-showhide-tool-bar-menu) (menu-bar-options-menu): * lisp/outline.el (outline-mode-menu-bar-map): * lisp/vc/vc-bzr.el (vc-bzr-shelve-menu-map, vc-bzr-extra-menu-map): * lisp/vc/vc-dir.el (vc-dir-menu-map): * lisp/vc/vc-git.el (vc-git-stash-menu-map, vc-git-extra-menu-map): Capitalize non-function content words in menu item strings. * lisp/dired.el (dired-mode-map): Add menu item for `image-dired-dired-toggle-marked-thumbs'. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-09-18 20:28:45 +0000 +++ lisp/ChangeLog 2011-09-18 20:43:20 +0000 @@ -1,5 +1,24 @@ 2011-09-18 Juri Linkov + * buff-menu.el (Buffer-menu-mode-map): + * dired.el (dired-mode-map): + * emacs-lisp/lisp-mode.el (emacs-lisp-mode-map) + (lisp-interaction-mode-map): + * emacs-lisp/package.el (package-menu-mode-map): + * epa.el (epa-key-list-mode-map): + * menu-bar.el (menu-bar-showhide-tool-bar-menu) + (menu-bar-options-menu): + * outline.el (outline-mode-menu-bar-map): + * vc/vc-bzr.el (vc-bzr-shelve-menu-map, vc-bzr-extra-menu-map): + * vc/vc-dir.el (vc-dir-menu-map): + * vc/vc-git.el (vc-git-stash-menu-map, vc-git-extra-menu-map): + Capitalize non-function content words in menu item strings. + + * dired.el (dired-mode-map): Add menu item for + `image-dired-dired-toggle-marked-thumbs'. + +2011-09-18 Juri Linkov + * isearch.el (isearch-edit-string): Bind `isearch-new-case-fold' to `isearch-case-fold-search' and restore its original value after the `isearch-mode' call. === modified file 'lisp/buff-menu.el' --- lisp/buff-menu.el 2011-09-10 21:15:28 +0000 +++ lisp/buff-menu.el 2011-09-18 20:43:20 +0000 @@ -167,53 +167,53 @@ :help ,(purecopy "Refresh the *Buffer List* buffer contents"))) (define-key menu-map [s0] menu-bar-separator) (define-key menu-map [tf] - `(menu-item ,(purecopy "Show only file buffers") Buffer-menu-toggle-files-only + `(menu-item ,(purecopy "Show Only File Buffers") Buffer-menu-toggle-files-only :button (:toggle . Buffer-menu-files-only) :help ,(purecopy "Toggle whether the current buffer-menu displays only file buffers"))) (define-key menu-map [s1] menu-bar-separator) ;; FIXME: The "Select" entries could use better names... (define-key menu-map [sel] - `(menu-item ,(purecopy "Select marked") Buffer-menu-select + `(menu-item ,(purecopy "Select Marked") Buffer-menu-select :help ,(purecopy "Select this line's buffer; also display buffers marked with `>'"))) (define-key menu-map [bm2] - `(menu-item ,(purecopy "Select two") Buffer-menu-2-window + `(menu-item ,(purecopy "Select Two") Buffer-menu-2-window :help ,(purecopy "Select this line's buffer, with previous buffer in second window"))) (define-key menu-map [bm1] - `(menu-item ,(purecopy "Select current") Buffer-menu-1-window + `(menu-item ,(purecopy "Select Current") Buffer-menu-1-window :help ,(purecopy "Select this line's buffer, alone, in full frame"))) (define-key menu-map [ow] - `(menu-item ,(purecopy "Select in other window") Buffer-menu-other-window + `(menu-item ,(purecopy "Select in Other Window") Buffer-menu-other-window :help ,(purecopy "Select this line's buffer in other window, leaving buffer menu visible"))) (define-key menu-map [tw] - `(menu-item ,(purecopy "Select in current window") Buffer-menu-this-window + `(menu-item ,(purecopy "Select in Current Window") Buffer-menu-this-window :help ,(purecopy "Select this line's buffer in this window"))) (define-key menu-map [s2] menu-bar-separator) (define-key menu-map [is] - `(menu-item ,(purecopy "Regexp Isearch marked buffers") Buffer-menu-isearch-buffers-regexp + `(menu-item ,(purecopy "Regexp Isearch Marked Buffers...") Buffer-menu-isearch-buffers-regexp :help ,(purecopy "Search for a regexp through all marked buffers using Isearch"))) (define-key menu-map [ir] - `(menu-item ,(purecopy "Isearch marked buffers") Buffer-menu-isearch-buffers + `(menu-item ,(purecopy "Isearch Marked Buffers...") Buffer-menu-isearch-buffers :help ,(purecopy "Search for a string through all marked buffers using Isearch"))) (define-key menu-map [s3] menu-bar-separator) (define-key menu-map [by] `(menu-item ,(purecopy "Bury") Buffer-menu-bury :help ,(purecopy "Bury the buffer listed on this line"))) (define-key menu-map [vt] - `(menu-item ,(purecopy "Set unmodified") Buffer-menu-not-modified + `(menu-item ,(purecopy "Set Unmodified") Buffer-menu-not-modified :help ,(purecopy "Mark buffer on this line as unmodified (no changes to save)"))) (define-key menu-map [ex] `(menu-item ,(purecopy "Execute") Buffer-menu-execute :help ,(purecopy "Save and/or delete buffers marked with s or k commands"))) (define-key menu-map [s4] menu-bar-separator) (define-key menu-map [delb] - `(menu-item ,(purecopy "Mark for delete and move backwards") Buffer-menu-delete-backwards + `(menu-item ,(purecopy "Mark for Delete and Move Backwards") Buffer-menu-delete-backwards :help ,(purecopy "Mark buffer on this line to be deleted by x command and move up one line"))) (define-key menu-map [del] - `(menu-item ,(purecopy "Mark for delete") Buffer-menu-delete + `(menu-item ,(purecopy "Mark for Delete") Buffer-menu-delete :help ,(purecopy "Mark buffer on this line to be deleted by x command"))) (define-key menu-map [sv] - `(menu-item ,(purecopy "Mark for save") Buffer-menu-save + `(menu-item ,(purecopy "Mark for Save") Buffer-menu-save :help ,(purecopy "Mark buffer on this line to be saved by x command"))) (define-key menu-map [umk] `(menu-item ,(purecopy "Unmark") Buffer-menu-unmark === modified file 'lisp/dired.el' --- lisp/dired.el 2011-09-14 15:14:34 +0000 +++ lisp/dired.el 2011-09-18 20:43:20 +0000 @@ -1552,6 +1552,10 @@ [menu-bar immediate image-dired-dired-display-image] '(menu-item "Display Image" image-dired-dired-display-image :help "Display sized image in a separate window")) + (define-key map + [menu-bar immediate image-dired-dired-toggle-marked-thumbs] + '(menu-item "Toggle Image Thumbnails in This Buffer" image-dired-dired-toggle-marked-thumbs + :help "Add or remove image thumbnails in front of marked file names")) (define-key map [menu-bar immediate revert-buffer] '(menu-item "Refresh" revert-buffer @@ -1708,7 +1712,7 @@ :help "Add image comment to current or marked files")) (define-key map [menu-bar operate image-dired-display-thumbs] - '(menu-item "Display image thumbnails" image-dired-display-thumbs + '(menu-item "Display Image Thumbnails" image-dired-display-thumbs :help "Display image thumbnails for current or marked image files")) (define-key map [menu-bar operate dashes-4] === modified file 'lisp/emacs-lisp/lisp-mode.el' --- lisp/emacs-lisp/lisp-mode.el 2011-09-13 06:55:10 +0000 +++ lisp/emacs-lisp/lisp-mode.el 2011-09-18 20:43:20 +0000 @@ -297,7 +297,7 @@ `(menu-item ,(purecopy "Untrace All") untrace-all :help ,(purecopy "Untrace all currently traced functions"))) (define-key tracing-map [tr-uf] - `(menu-item ,(purecopy "Untrace function...") untrace-function + `(menu-item ,(purecopy "Untrace Function...") untrace-function :help ,(purecopy "Untrace function, and possibly activate all remaining advice"))) (define-key tracing-map [tr-sep] menu-bar-separator) (define-key tracing-map [tr-q] @@ -358,7 +358,7 @@ `(menu-item ,(purecopy "Byte-compile and Load") emacs-lisp-byte-compile-and-load :help ,(purecopy "Byte-compile the current file (if it has changed), then load compiled code"))) (define-key menu-map [byte-compile] - `(menu-item ,(purecopy "Byte-compile this File") emacs-lisp-byte-compile + `(menu-item ,(purecopy "Byte-compile This File") emacs-lisp-byte-compile :help ,(purecopy "Byte compile the file containing the current buffer"))) (define-key menu-map [separator-eval] menu-bar-separator) (define-key menu-map [ielm] @@ -509,7 +509,7 @@ `(menu-item ,(purecopy "Evaluate Defun") eval-defun :help ,(purecopy "Evaluate the top-level form containing point, or after point"))) (define-key menu-map [eval-print-last-sexp] - `(menu-item ,(purecopy "Evaluate and print") eval-print-last-sexp + `(menu-item ,(purecopy "Evaluate and Print") eval-print-last-sexp :help ,(purecopy "Evaluate sexp before point; print value into current buffer"))) (define-key menu-map [edebug-defun-lisp-interaction] `(menu-item ,(purecopy "Instrument Function for Debugging") edebug-defun === modified file 'lisp/emacs-lisp/package.el' --- lisp/emacs-lisp/package.el 2011-09-15 02:05:17 +0000 +++ lisp/emacs-lisp/package.el 2011-09-18 20:43:20 +0000 @@ -1297,30 +1297,30 @@ '(menu-item "Unmark" package-menu-mark-unmark :help "Clear any marks on a package and move to the next line")) (define-key menu-map [munm] - '(menu-item "Unmark backwards" package-menu-backup-unmark + '(menu-item "Unmark Backwards" package-menu-backup-unmark :help "Back up one line and clear any marks on that package")) (define-key menu-map [md] - '(menu-item "Mark for deletion" package-menu-mark-delete + '(menu-item "Mark for Deletion" package-menu-mark-delete :help "Mark a package for deletion and move to the next line")) (define-key menu-map [mi] - '(menu-item "Mark for install" package-menu-mark-install + '(menu-item "Mark for Install" package-menu-mark-install :help "Mark a package for installation and move to the next line")) (define-key menu-map [mupgrades] - '(menu-item "Mark upgradable packages" package-menu-mark-upgrades + '(menu-item "Mark Upgradable Packages" package-menu-mark-upgrades :help "Mark packages that have a newer version for upgrading")) (define-key menu-map [s3] '("--")) (define-key menu-map [mg] - '(menu-item "Update package list" revert-buffer + '(menu-item "Update Package List" revert-buffer :help "Update the list of packages")) (define-key menu-map [mr] - '(menu-item "Refresh package list" package-menu-refresh + '(menu-item "Refresh Package List" package-menu-refresh :help "Download the ELPA archive")) (define-key menu-map [s4] '("--")) (define-key menu-map [mt] - '(menu-item "Mark obsolete packages" package-menu-mark-obsolete-for-deletion + '(menu-item "Mark Obsolete Packages" package-menu-mark-obsolete-for-deletion :help "Mark all obsolete packages for deletion")) (define-key menu-map [mx] - '(menu-item "Execute actions" package-menu-execute + '(menu-item "Execute Actions" package-menu-execute :help "Perform all the marked actions")) (define-key menu-map [s5] '("--")) (define-key menu-map [mh] === modified file 'lisp/epa.el' --- lisp/epa.el 2011-08-16 02:18:10 +0000 +++ lisp/epa.el 2011-09-18 20:43:20 +0000 @@ -239,7 +239,7 @@ :help "Encrypt FILE for RECIPIENTS")) (define-key menu-map [separator-epa-key-list] '(menu-item "--")) (define-key menu-map [epa-key-list-delete-keys] - '(menu-item "Delete keys" epa-delete-keys + '(menu-item "Delete Keys" epa-delete-keys :help "Delete Marked Keys")) (define-key menu-map [epa-key-list-import-keys] '(menu-item "Import Keys" epa-import-keys === modified file 'lisp/menu-bar.el' --- lisp/menu-bar.el 2011-07-12 13:01:20 +0000 +++ lisp/menu-bar.el 2011-09-18 20:43:20 +0000 @@ -985,7 +985,7 @@ (let ((menu (make-sparse-keymap "Tool-bar"))) (define-key menu [showhide-tool-bar-left] - `(menu-item ,(purecopy "On the left") + `(menu-item ,(purecopy "On the Left") menu-bar-showhide-tool-bar-menu-customize-enable-left :help ,(purecopy "Tool-bar at the left side") :visible (display-graphic-p) @@ -997,7 +997,7 @@ 'left))))) (define-key menu [showhide-tool-bar-right] - `(menu-item ,(purecopy "On the right") + `(menu-item ,(purecopy "On the Right") menu-bar-showhide-tool-bar-menu-customize-enable-right :help ,(purecopy "Tool-bar at the right side") :visible (display-graphic-p) @@ -1009,7 +1009,7 @@ 'right))))) (define-key menu [showhide-tool-bar-bottom] - `(menu-item ,(purecopy "On the bottom") + `(menu-item ,(purecopy "On the Bottom") menu-bar-showhide-tool-bar-menu-customize-enable-bottom :help ,(purecopy "Tool-bar at the bottom") :visible (display-graphic-p) @@ -1021,7 +1021,7 @@ 'bottom))))) (define-key menu [showhide-tool-bar-top] - `(menu-item ,(purecopy "On the top") + `(menu-item ,(purecopy "On the Top") menu-bar-showhide-tool-bar-menu-customize-enable-top :help ,(purecopy "Tool-bar at the top") :visible (display-graphic-p) @@ -1200,7 +1200,7 @@ (define-key menu [menu-system-font] (menu-bar-make-toggle toggle-use-system-font font-use-system-font - "Use system font" + "Use System Font" "Use system font: %s" "Use the monospaced font defined by the system"))) @@ -1304,7 +1304,7 @@ (eq 'turn-on-auto-fill text-mode-hook))))) (define-key menu [line-wrapping] - `(menu-item ,(purecopy "Line Wrapping in this Buffer") + `(menu-item ,(purecopy "Line Wrapping in This Buffer") ,menu-bar-line-wrapping-menu)) === modified file 'lisp/outline.el' --- lisp/outline.el 2011-04-19 13:44:55 +0000 +++ lisp/outline.el 2011-09-18 20:43:20 +0000 @@ -137,24 +137,23 @@ (cons "Headings" (make-sparse-keymap "Headings"))) (define-key map [headings demote-subtree] - '(menu-item "Demote subtree" outline-demote + '(menu-item "Demote Subtree" outline-demote :help "Demote headings lower down the tree")) (define-key map [headings promote-subtree] - '(menu-item "Promote subtree" outline-promote + '(menu-item "Promote Subtree" outline-promote :help "Promote headings higher up the tree")) (define-key map [headings move-subtree-down] - '(menu-item "Move subtree down" outline-move-subtree-down + '(menu-item "Move Subtree Down" outline-move-subtree-down :help "Move the currrent subtree down past arg headlines of the same level")) (define-key map [headings move-subtree-up] - '(menu-item "Move subtree up" outline-move-subtree-up + '(menu-item "Move Subtree Up" outline-move-subtree-up :help "Move the currrent subtree up past arg headlines of the same level")) (define-key map [headings copy] - '(menu-item "Copy to kill ring" outline-headers-as-kill + '(menu-item "Copy to Kill Ring" outline-headers-as-kill :enable mark-active :help "Save the visible outline headers in region at the start of the kill ring")) (define-key map [headings outline-insert-heading] - - '(menu-item "New heading" outline-insert-heading + '(menu-item "New Heading" outline-insert-heading :help "Insert a new heading at same depth at point")) (define-key map [headings outline-backward-same-level] === modified file 'lisp/vc/vc-bzr.el' --- lisp/vc/vc-bzr.el 2011-07-08 14:02:44 +0000 +++ lisp/vc/vc-bzr.el 2011-09-18 20:43:20 +0000 @@ -964,23 +964,23 @@ (defvar vc-bzr-shelve-menu-map (let ((map (make-sparse-keymap "Bzr Shelve"))) (define-key map [de] - '(menu-item "Delete shelf" vc-bzr-shelve-delete-at-point + '(menu-item "Delete Shelf" vc-bzr-shelve-delete-at-point :help "Delete the current shelf")) (define-key map [ap] - '(menu-item "Apply and keep shelf" vc-bzr-shelve-apply-and-keep-at-point + '(menu-item "Apply and Keep Shelf" vc-bzr-shelve-apply-and-keep-at-point :help "Apply the current shelf and keep it")) (define-key map [po] - '(menu-item "Apply and remove shelf (pop)" vc-bzr-shelve-apply-at-point + '(menu-item "Apply and Remove Shelf (Pop)" vc-bzr-shelve-apply-at-point :help "Apply the current shelf and remove it")) (define-key map [sh] - '(menu-item "Show shelve" vc-bzr-shelve-show-at-point + '(menu-item "Show Shelve" vc-bzr-shelve-show-at-point :help "Show the contents of the current shelve")) map)) (defvar vc-bzr-extra-menu-map (let ((map (make-sparse-keymap))) (define-key map [bzr-sn] - '(menu-item "Shelve a snapshot" vc-bzr-shelve-snapshot + '(menu-item "Shelve a Snapshot" vc-bzr-shelve-snapshot :help "Shelve the current state of the tree and keep the current state")) (define-key map [bzr-sh] '(menu-item "Shelve..." vc-bzr-shelve === modified file 'lisp/vc/vc-dir.el' --- lisp/vc/vc-dir.el 2011-05-22 19:36:07 +0000 +++ lisp/vc/vc-dir.el 2011-09-18 20:43:20 +0000 @@ -125,15 +125,15 @@ :enable (not (vc-dir-busy)) :help "Refresh the contents of the directory buffer")) (define-key map [remup] - '(menu-item "Hide up-to-date" vc-dir-hide-up-to-date + '(menu-item "Hide Up-to-date" vc-dir-hide-up-to-date :help "Hide up-to-date items from display")) ;; Movement. (define-key map [sepmv] '("--")) (define-key map [next-line] - '(menu-item "Next line" vc-dir-next-line + '(menu-item "Next Line" vc-dir-next-line :help "Go to the next line" :keys "n")) (define-key map [previous-line] - '(menu-item "Previous line" vc-dir-previous-line + '(menu-item "Previous Line" vc-dir-previous-line :help "Go to the previous line")) ;; Marking. (define-key map [sepmrk] '("--")) @@ -142,7 +142,7 @@ :help "Unmark all files that are in the same state as the current file\ \nWith prefix argument unmark all files")) (define-key map [unmark-previous] - '(menu-item "Unmark previous " vc-dir-unmark-file-up + '(menu-item "Unmark Previous " vc-dir-unmark-file-up :help "Move to the previous line and unmark the file")) (define-key map [mark-all] @@ -171,10 +171,10 @@ '(menu-item "Isearch Files..." vc-dir-isearch :help "Incremental search a string in the marked files")) (define-key map [open-other] - '(menu-item "Open in other window" vc-dir-find-file-other-window + '(menu-item "Open in Other Window" vc-dir-find-file-other-window :help "Find the file on the current line, in another window")) (define-key map [open] - '(menu-item "Open file" vc-dir-find-file + '(menu-item "Open File" vc-dir-find-file :help "Find the file on the current line")) (define-key map [sepvcdet] '("--")) ;; FIXME: This needs a key binding. And maybe a better name @@ -203,10 +203,10 @@ ;; VC commands. (define-key map [sepvccmd] '("--")) (define-key map [update] - '(menu-item "Update to latest version" vc-update + '(menu-item "Update to Latest Version" vc-update :help "Update the current fileset's files to their tip revisions")) (define-key map [revert] - '(menu-item "Revert to base version" vc-revert + '(menu-item "Revert to Base Version" vc-revert :help "Revert working copies of the selected fileset to their repository contents.")) (define-key map [next-action] ;; FIXME: This really really really needs a better name! === modified file 'lisp/vc/vc-git.el' --- lisp/vc/vc-git.el 2011-09-07 12:17:54 +0000 +++ lisp/vc/vc-git.el 2011-09-18 20:43:20 +0000 @@ -486,16 +486,16 @@ (defvar vc-git-stash-menu-map (let ((map (make-sparse-keymap "Git Stash"))) (define-key map [de] - '(menu-item "Delete stash" vc-git-stash-delete-at-point + '(menu-item "Delete Stash" vc-git-stash-delete-at-point :help "Delete the current stash")) (define-key map [ap] - '(menu-item "Apply stash" vc-git-stash-apply-at-point + '(menu-item "Apply Stash" vc-git-stash-apply-at-point :help "Apply the current stash and keep it in the stash list")) (define-key map [po] - '(menu-item "Apply and remove stash (pop)" vc-git-stash-pop-at-point + '(menu-item "Apply and Remove Stash (Pop)" vc-git-stash-pop-at-point :help "Apply the current stash and remove it")) (define-key map [sh] - '(menu-item "Show stash" vc-git-stash-show-at-point + '(menu-item "Show Stash" vc-git-stash-show-at-point :help "Show the contents of the current stash")) map)) @@ -933,7 +933,7 @@ '(menu-item "Git grep..." vc-git-grep :help "Run the `git grep' command")) (define-key map [git-sn] - '(menu-item "Stash a snapshot" vc-git-stash-snapshot + '(menu-item "Stash a Snapshot" vc-git-stash-snapshot :help "Stash the current state of the tree and keep the current state")) (define-key map [git-st] '(menu-item "Create Stash..." vc-git-stash ------------------------------------------------------------ revno: 105833 committer: Juri Linkov branch nick: trunk timestamp: Sun 2011-09-18 23:28:45 +0300 message: Preserve current isearch case-fold value in `isearch-edit-string'. * lisp/isearch.el (isearch-edit-string): Bind `isearch-new-case-fold' to `isearch-case-fold-search' and restore its original value after the `isearch-mode' call. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-09-18 20:20:08 +0000 +++ lisp/ChangeLog 2011-09-18 20:28:45 +0000 @@ -1,5 +1,11 @@ 2011-09-18 Juri Linkov + * isearch.el (isearch-edit-string): Bind `isearch-new-case-fold' + to `isearch-case-fold-search' and restore its original value + after the `isearch-mode' call. + +2011-09-18 Juri Linkov + * progmodes/grep.el (grep-process-setup): Don't check code for 1 because `zgrep' returns 1 for successful matches (bug#9226). === modified file 'lisp/isearch.el' --- lisp/isearch.el 2011-09-14 16:07:42 +0000 +++ lisp/isearch.el 2011-09-18 20:28:45 +0000 @@ -1110,6 +1110,7 @@ (isearch-new-message isearch-message) (isearch-new-forward isearch-forward) (isearch-new-word isearch-word) + (isearch-new-case-fold isearch-case-fold-search) (isearch-regexp isearch-regexp) (isearch-op-fun isearch-op-fun) @@ -1203,7 +1204,8 @@ (setq isearch-string isearch-new-string isearch-message isearch-new-message isearch-forward isearch-new-forward - isearch-word isearch-new-word)) + isearch-word isearch-new-word + isearch-case-fold-search isearch-new-case-fold)) ;; Empty isearch-string means use default. (when (= 0 (length isearch-string)) ------------------------------------------------------------ revno: 105832 fixes bug(s): http://debbugs.gnu.org/9226 committer: Juri Linkov branch nick: trunk timestamp: Sun 2011-09-18 23:20:08 +0300 message: * lisp/progmodes/grep.el (grep-process-setup): Don't check code for 1 because `zgrep' returns 1 for successful matches. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-09-18 20:14:16 +0000 +++ lisp/ChangeLog 2011-09-18 20:20:08 +0000 @@ -1,5 +1,10 @@ 2011-09-18 Juri Linkov + * progmodes/grep.el (grep-process-setup): Don't check code for 1 + because `zgrep' returns 1 for successful matches (bug#9226). + +2011-09-18 Juri Linkov + * info.el (Info-extract-menu-node-name): Check the second match for empty string (second test-case of bug#9528). (Info-last-preorder): Let-bind `Info-history' to nil to not add === modified file 'lisp/progmodes/grep.el' --- lisp/progmodes/grep.el 2011-09-08 12:07:52 +0000 +++ lisp/progmodes/grep.el 2011-09-18 20:20:08 +0000 @@ -476,7 +476,7 @@ ;; so the buffer is still unmodified if there is no output. (cond ((and (zerop code) (buffer-modified-p)) '("finished (matches found)\n" . "matched")) - ((or (= code 1) (not (buffer-modified-p))) + ((not (buffer-modified-p)) '("finished with no matches found\n" . "no match")) (t (cons msg code))) ------------------------------------------------------------ revno: 105831 fixes bug(s): http://debbugs.gnu.org/9528 committer: Juri Linkov branch nick: trunk timestamp: Sun 2011-09-18 23:14:16 +0300 message: * lisp/info.el (Info-extract-menu-node-name): Check the second match for empty string (second test-case of bug#9528). (Info-last-preorder): Let-bind `Info-history' to nil to not add intermediate nodes to the history (first test-case of bug#9528). diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-09-18 19:56:12 +0000 +++ lisp/ChangeLog 2011-09-18 20:14:16 +0000 @@ -1,5 +1,12 @@ 2011-09-18 Juri Linkov + * info.el (Info-extract-menu-node-name): Check the second match + for empty string (second test-case of bug#9528). + (Info-last-preorder): Let-bind `Info-history' to nil to not add + intermediate nodes to the history (first test-case of bug#9528). + +2011-09-18 Juri Linkov + * info.el (Info-mode-syntax-table): New variable. (Info-mode): Set `:syntax-table' to `Info-mode-syntax-table'. (Bug#3312) === modified file 'lisp/info.el' --- lisp/info.el 2011-09-18 19:56:12 +0000 +++ lisp/info.el 2011-09-18 20:14:16 +0000 @@ -2440,7 +2440,8 @@ ) (replace-regexp-in-string "[ \n]+" " " - (or (match-string-no-properties 2) + (or (and (not (equal (match-string-no-properties 2) "")) + (match-string-no-properties 2)) ;; If the node name is the menu entry name (using `entry::'). (buffer-substring-no-properties (match-beginning 0) (1- (match-beginning 1))))))) @@ -2765,22 +2766,24 @@ ;; so we can scroll back through it. (goto-char (point-max))) ;; Keep going down, as long as there are nested menu nodes. - (while (Info-no-error - (Info-last-menu-item) - ;; If we go down a menu item, go to the end of the node - ;; so we can scroll back through it. - (goto-char (point-max)))) + (let (Info-history) ; Don't add intermediate nodes to the history. + (while (Info-no-error + (Info-last-menu-item) + ;; If we go down a menu item, go to the end of the node + ;; so we can scroll back through it. + (goto-char (point-max))))) (recenter -1)) ((and (Info-no-error (Info-extract-pointer "prev")) (not (equal (Info-extract-pointer "up") (Info-extract-pointer "prev")))) (Info-no-error (Info-prev)) (goto-char (point-max)) - (while (Info-no-error - (Info-last-menu-item) - ;; If we go down a menu item, go to the end of the node - ;; so we can scroll back through it. - (goto-char (point-max)))) + (let (Info-history) ; Don't add intermediate nodes to the history. + (while (Info-no-error + (Info-last-menu-item) + ;; If we go down a menu item, go to the end of the node + ;; so we can scroll back through it. + (goto-char (point-max))))) (recenter -1)) ((Info-no-error (Info-up t)) (goto-char (point-min)) ------------------------------------------------------------ revno: 105830 fixes bug(s): http://debbugs.gnu.org/9154 committer: Chong Yidong branch nick: trunk timestamp: Sun 2011-09-18 16:01:37 -0400 message: Fix handling of X resource for window icons. * src/xfns.c (Fx_create_frame): Handle bitmapIcon resource as a boolean. * doc/emacs/cmdargs.texi (Icons X): Fix description of Emacs icon. * doc/emacs/xresources.texi (Table of Resources): Fix documentation of bitmapIcon. * doc/lispref/frames.texi (Management Parameters): Fix description of icon-type parameter. diff: === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2011-09-15 02:10:52 +0000 +++ doc/emacs/ChangeLog 2011-09-18 20:01:37 +0000 @@ -1,3 +1,10 @@ +2011-09-18 Chong Yidong + + * cmdargs.texi (Icons X): Fix description of Emacs icon. + + * xresources.texi (Table of Resources): Fix documentation of + bitmapIcon. + 2011-09-15 Chong Yidong * package.texi (Package Menu): Add package-menu-mark-upgrades. === modified file 'doc/emacs/cmdargs.texi' --- doc/emacs/cmdargs.texi 2011-07-12 01:38:28 +0000 +++ doc/emacs/cmdargs.texi 2011-09-18 20:01:37 +0000 @@ -1107,7 +1107,7 @@ @itemx --no-bitmap-icon @opindex --no-bitmap-icon @cindex Emacs icon, a gnu -Do not use a picture of a gnu as the Emacs icon. +Do not display the Emacs icon. @end table Most window managers allow you to ``iconify'' (or ``minimize'') an === modified file 'doc/emacs/xresources.texi' --- doc/emacs/xresources.texi 2011-05-17 02:26:56 +0000 +++ doc/emacs/xresources.texi 2011-09-18 20:01:37 +0000 @@ -169,11 +169,10 @@ @item @code{background} (class @code{Background}) Background color name. -@ifnottex @item @code{bitmapIcon} (class @code{BitmapIcon}) -Use a bitmap icon (a picture of a gnu) if @samp{on}, let the window -manager choose an icon if @samp{off}. -@end ifnottex +Tell the window manager to display the Emacs icon if @samp{on}; don't +do so if @samp{off}. (The icon is usually shown in the ``taskbar'' on +a graphical desktop.) @item @code{borderColor} (class @code{BorderColor}) Color name for the external border. === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2011-09-17 19:49:57 +0000 +++ doc/lispref/ChangeLog 2011-09-18 20:01:37 +0000 @@ -1,3 +1,8 @@ +2011-09-18 Chong Yidong + + * frames.texi (Management Parameters): Fix description of + icon-type parameter. + 2011-09-17 Chong Yidong * tips.texi (Key Binding Conventions): Don't bind a key sequence === modified file 'doc/lispref/frames.texi' --- doc/lispref/frames.texi 2011-08-28 18:49:59 +0000 +++ doc/lispref/frames.texi 2011-09-18 20:01:37 +0000 @@ -779,10 +779,10 @@ @vindex icon-type, a frame parameter @item icon-type -The type of icon to use for this frame when it is iconified. If the -value is a string, that specifies a file containing a bitmap to use. -Any other non-@code{nil} value specifies the default bitmap icon (a -picture of a gnu); @code{nil} specifies a text icon. +The type of icon to use for this frame. If the value is a string, +that specifies a file containing a bitmap to use; @code{nil} specifies +no icon (in which case the window manager decides what to show); any +other non-@code{nil} value specifies the default Emacs icon. @vindex icon-name, a frame parameter @item icon-name === modified file 'src/ChangeLog' --- src/ChangeLog 2011-09-18 19:02:17 +0000 +++ src/ChangeLog 2011-09-18 20:01:37 +0000 @@ -1,3 +1,8 @@ +2011-09-18 Chong Yidong + + * xfns.c (Fx_create_frame): Handle the bitmapIcon resource as + boolean (Bug#9154). + 2011-09-18 Eli Zaretskii * xdisp.c (display_line): Record maximum and minimum buffer === modified file 'src/xfns.c' --- src/xfns.c 2011-09-09 01:06:52 +0000 +++ src/xfns.c 2011-09-18 20:01:37 +0000 @@ -3369,7 +3369,7 @@ /* We need to do this after creating the X window, so that the icon-creation functions can say whose icon they're describing. */ x_default_parameter (f, parms, Qicon_type, Qt, - "bitmapIcon", "BitmapIcon", RES_TYPE_SYMBOL); + "bitmapIcon", "BitmapIcon", RES_TYPE_BOOLEAN); x_default_parameter (f, parms, Qauto_raise, Qnil, "autoRaise", "AutoRaiseLower", RES_TYPE_BOOLEAN); ------------------------------------------------------------ revno: 105829 fixes bug(s): http://debbugs.gnu.org/3312 committer: Juri Linkov branch nick: trunk timestamp: Sun 2011-09-18 22:56:12 +0300 message: * lisp/info.el (Info-mode-syntax-table): New variable. (Info-mode): Set `:syntax-table' to `Info-mode-syntax-table'. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-09-18 19:49:13 +0000 +++ lisp/ChangeLog 2011-09-18 19:56:12 +0000 @@ -1,5 +1,10 @@ 2011-09-18 Juri Linkov + * info.el (Info-mode-syntax-table): New variable. + (Info-mode): Set `:syntax-table' to `Info-mode-syntax-table'. (Bug#3312) + +2011-09-18 Juri Linkov + * info.el (Info-file-supports-index-cookies): Increment line-beginning-position's arg from 3 to 4 because makeinfo outputs one more line for long file names (bug#4142). === modified file 'lisp/info.el' --- lisp/info.el 2011-09-18 19:49:13 +0000 +++ lisp/info.el 2011-09-18 19:56:12 +0000 @@ -3887,6 +3887,14 @@ (defvar tool-bar-map) (defvar bookmark-make-record-function) +(defvar Info-mode-syntax-table + (let ((st (copy-syntax-table text-mode-syntax-table))) + ;; Use punctuation syntax for apostrophe because of + ;; extensive use of quotes like `this' in Info manuals. + (modify-syntax-entry ?' "." st) + st) + "Syntax table used in `Info-mode'.") + ;; Autoload cookie needed by desktop.el ;;;###autoload (define-derived-mode Info-mode nil "Info" @@ -3951,7 +3959,7 @@ \\[clone-buffer] Select a new cloned Info buffer in another window. \\[universal-argument] \\[info] Move to new Info file with completion. \\[universal-argument] N \\[info] Select Info buffer with prefix number in the name *info*." - :syntax-table text-mode-syntax-table + :syntax-table Info-mode-syntax-table :abbrev-table text-mode-abbrev-table (setq tab-width 8) (add-hook 'activate-menubar-hook 'Info-menu-update nil t) ------------------------------------------------------------ revno: 105828 fixes bug(s): http://debbugs.gnu.org/4142 committer: Juri Linkov branch nick: trunk timestamp: Sun 2011-09-18 22:49:13 +0300 message: * lisp/info.el (Info-file-supports-index-cookies): Increment line-beginning-position's arg from 3 to 4 because makeinfo outputs one more line for long file names. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-09-18 18:10:01 +0000 +++ lisp/ChangeLog 2011-09-18 19:49:13 +0000 @@ -1,3 +1,9 @@ +2011-09-18 Juri Linkov + + * info.el (Info-file-supports-index-cookies): Increment + line-beginning-position's arg from 3 to 4 because makeinfo outputs + one more line for long file names (bug#4142). + 2011-09-18 Chong Yidong * newcomment.el (comment-normalize-vars): If prompting for === modified file 'lisp/info.el' --- lisp/info.el 2011-09-11 18:30:07 +0000 +++ lisp/info.el 2011-09-18 19:49:13 +0000 @@ -540,7 +540,7 @@ (condition-case () (if (and (re-search-forward "makeinfo[ \n]version[ \n]\\([0-9]+.[0-9]+\\)" - (line-beginning-position 3) t) + (line-beginning-position 4) t) (not (version< (match-string 1) "4.7"))) (setq found t)) (error nil)) ------------------------------------------------------------ revno: 105827 fixes bug(s): http://debbugs.gnu.org/9545 committer: Eli Zaretskii branch nick: trunk timestamp: Sun 2011-09-18 22:02:17 +0300 message: Fix bug #9545 with crash in Dired when $ is pressed. src/xdisp.c (reseat_at_next_visible_line_start): Undo the change made on 2011-09-17 that saved paragraph information and restored it after the call to `reseat'. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-09-18 16:17:40 +0000 +++ src/ChangeLog 2011-09-18 19:02:17 +0000 @@ -8,6 +8,9 @@ (produce_stretch_glyph): Fix a bug in :align-to on a TTY when the column is beyond frame width: don't subtract 1 "pixel" when computing width of the stretch. + (reseat_at_next_visible_line_start): Undo the change made on + 2011-09-17 that saved paragraph information and restored it after + the call to `reseat'. (Bug#9545) 2011-09-18 YAMAMOTO Mitsuharu === modified file 'src/xdisp.c' --- src/xdisp.c 2011-09-18 16:17:40 +0000 +++ src/xdisp.c 2011-09-18 19:02:17 +0000 @@ -5722,10 +5722,6 @@ { int newline_found_p, skipped_p = 0; struct bidi_it bidi_it_prev; - int new_paragraph IF_LINT (= 0), first_elt IF_LINT (= 0); - int disp_prop IF_LINT (= 0); - EMACS_INT paragraph_end IF_LINT (= 0), disp_pos IF_LINT (= 0); - bidi_dir_t paragraph_dir IF_LINT (= 0); newline_found_p = forward_to_next_line_start (it, &skipped_p, &bidi_it_prev); @@ -5742,23 +5738,6 @@ forward_to_next_line_start (it, &skipped_p, &bidi_it_prev); } - /* Under bidi iteration, save the attributes of the paragraph we are - in, to be restored after the call to `reseat' below. That's - because `reseat' overwrites them, which requires unneeded and - potentially expensive backward search for paragraph beginning. - This search is unnecessary because we will be `reseat'ed to the - same position where we are now, for which we already have all the - information we need in the bidi iterator. */ - if (it->bidi_p && !STRINGP (it->string)) - { - new_paragraph = it->bidi_it.new_paragraph; - first_elt = it->bidi_it.first_elt; - paragraph_end = it->bidi_it.separator_limit; - paragraph_dir = it->bidi_it.paragraph_dir; - disp_pos = it->bidi_it.disp_pos; - disp_prop = it->bidi_it.disp_prop; - } - /* Position on the newline if that's what's requested. */ if (on_newline_p && newline_found_p) { @@ -5798,30 +5777,10 @@ IT_BYTEPOS (*it) = it->bidi_it.bytepos; } reseat (it, it->current.pos, 0); - if (it->bidi_p) - { - it->bidi_it.new_paragraph = new_paragraph; - it->bidi_it.first_elt = first_elt; - it->bidi_it.separator_limit = paragraph_end; - it->bidi_it.paragraph_dir = paragraph_dir; - it->bidi_it.disp_pos = disp_pos; - it->bidi_it.disp_prop = disp_prop; - } } } else if (skipped_p) - { - reseat (it, it->current.pos, 0); - if (it->bidi_p && !STRINGP (it->string)) - { - it->bidi_it.new_paragraph = new_paragraph; - it->bidi_it.first_elt = first_elt; - it->bidi_it.separator_limit = paragraph_end; - it->bidi_it.paragraph_dir = paragraph_dir; - it->bidi_it.disp_pos = disp_pos; - it->bidi_it.disp_prop = disp_prop; - } - } + reseat (it, it->current.pos, 0); CHECK_IT (it); } ------------------------------------------------------------ revno: 105826 fixes bug(s): http://debbugs.gnu.org/8424 committer: Chong Yidong branch nick: trunk timestamp: Sun 2011-09-18 14:10:01 -0400 message: Fix for uncommentin in Fundamental mode. * newcomment.el (comment-normalize-vars): If prompting for comment-start, set comment-start-skip too. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-09-18 16:13:01 +0000 +++ lisp/ChangeLog 2011-09-18 18:10:01 +0000 @@ -1,3 +1,8 @@ +2011-09-18 Chong Yidong + + * newcomment.el (comment-normalize-vars): If prompting for + comment-start, set comment-start-skip too (Bug#8424). + 2011-09-18 Johan Bockgård * icomplete.el: Fix previous fix of Bug#5849. === modified file 'lisp/newcomment.el' --- lisp/newcomment.el 2011-09-14 21:21:59 +0000 +++ lisp/newcomment.el 2011-09-18 18:10:01 +0000 @@ -316,7 +316,8 @@ (let ((cs (read-string "No comment syntax is defined. Use: "))) (if (zerop (length cs)) (error "No comment syntax defined") - (set (make-local-variable 'comment-start) cs)))) + (set (make-local-variable 'comment-start) cs) + (set (make-local-variable 'comment-start-skip) cs)))) ;; comment-use-syntax (when (eq comment-use-syntax 'undecided) (set (make-local-variable 'comment-use-syntax) ------------------------------------------------------------ revno: 105825 committer: Eli Zaretskii branch nick: trunk timestamp: Sun 2011-09-18 19:17:40 +0300 message: Fix a bug in :align-to on a TTY when the column is beyond frame width. src/xdisp.c (produce_stretch_glyph): Don't subtract 1 "pixel" when computing width of the stretch on a TTY. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-09-18 15:48:12 +0000 +++ src/ChangeLog 2011-09-18 16:17:40 +0000 @@ -5,6 +5,9 @@ stretch). Fixes bug#9530 on a TTY. Under word-wrap, don't record buffer positions that will be removed from the glyph row because they don't fit. + (produce_stretch_glyph): Fix a bug in :align-to on a TTY when the + column is beyond frame width: don't subtract 1 "pixel" when + computing width of the stretch. 2011-09-18 YAMAMOTO Mitsuharu === modified file 'src/xdisp.c' --- src/xdisp.c 2011-09-18 15:48:12 +0000 +++ src/xdisp.c 2011-09-18 16:17:40 +0000 @@ -23293,7 +23293,14 @@ if (width > 0 && it->line_wrap != TRUNCATE && it->current_x + width > it->last_visible_x) - width = it->last_visible_x - it->current_x - 1; + { + width = it->last_visible_x - it->current_x; +#ifdef HAVE_WINDOW_SYSTEM + /* Subtact one more pixel from the stretch width, but only on + GUI frames, since on a TTY each glyph is one "pixel" wide. */ + width -= FRAME_WINDOW_P (it->f); +#endif + } if (width > 0 && height > 0 && it->glyph_row) { ------------------------------------------------------------ revno: 105824 author: Johan Bockgård committer: Chong Yidong branch nick: trunk timestamp: Sun 2011-09-18 12:13:01 -0400 message: Fix previous fix of Bug#5849. * icomplete.el (icomplete-mode): Don't set completion-show-inline-help. (icomplete-minibuffer-setup): Set completion-show-inline-help locally during icompletion. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-09-18 16:03:48 +0000 +++ lisp/ChangeLog 2011-09-18 16:13:01 +0000 @@ -1,3 +1,10 @@ +2011-09-18 Johan Bockgård + + * icomplete.el: Fix previous fix of Bug#5849. + (icomplete-mode): Don't set completion-show-inline-help. + (icomplete-minibuffer-setup): Set completion-show-inline-help + locally during icompletion. + 2011-09-18 Chong Yidong * woman.el (woman2-process-escapes): Don't delete unrecognized === modified file 'lisp/icomplete.el' --- lisp/icomplete.el 2011-05-31 03:03:38 +0000 +++ lisp/icomplete.el 2011-09-18 16:13:01 +0000 @@ -179,11 +179,8 @@ (if icomplete-mode ;; The following is not really necessary after first time - ;; no great loss. - (progn - (setq completion-show-inline-help nil) - (add-hook 'minibuffer-setup-hook 'icomplete-minibuffer-setup)) - (remove-hook 'minibuffer-setup-hook 'icomplete-minibuffer-setup) - (setq completion-show-inline-help t))) + (add-hook 'minibuffer-setup-hook 'icomplete-minibuffer-setup) + (remove-hook 'minibuffer-setup-hook 'icomplete-minibuffer-setup))) ;;;_ > icomplete-simple-completing-p () (defun icomplete-simple-completing-p () @@ -209,6 +206,7 @@ "Run in minibuffer on activation to establish incremental completion. Usually run by inclusion in `minibuffer-setup-hook'." (when (and icomplete-mode (icomplete-simple-completing-p)) + (set (make-local-variable 'completion-show-inline-help) nil) (add-hook 'pre-command-hook (lambda () (run-hooks 'icomplete-pre-command-hook)) nil t) ------------------------------------------------------------ revno: 105823 fixes bug(s): http://debbugs.gnu.org/7843 committer: Chong Yidong branch nick: trunk timestamp: Sun 2011-09-18 12:03:48 -0400 message: Fix yet another woman parser snafu. * woman.el (woman2-process-escapes): Don't delete unrecognized escapes (Bug#7843). diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-09-18 15:30:10 +0000 +++ lisp/ChangeLog 2011-09-18 16:03:48 +0000 @@ -1,5 +1,8 @@ 2011-09-18 Chong Yidong + * woman.el (woman2-process-escapes): Don't delete unrecognized + escapes (Bug#7843). + * files.el (inhibit-first-line-modes-regexps): Add image files. (hack-local-variables-prop-line): Return nil for malformed prop-lines (Bug#9044). === modified file 'lisp/woman.el' --- lisp/woman.el 2011-09-09 06:34:59 +0000 +++ lisp/woman.el 2011-09-18 16:03:48 +0000 @@ -3954,6 +3954,8 @@ ;; Done like this to preserve any text properties of the `\' (while (search-forward "\\" to t) (let ((c (following-char))) + ;; Some other escapes, such as \f, are handled in + ;; `woman0-process-escapes'. (cond ((eq c ?') ; \' -> ' (delete-char -1) (cond (numeric ; except in numeric args, \' -> ` @@ -3967,12 +3969,7 @@ (insert "\t")) ((and numeric (memq c '(?w ?n ?h)))) ; leave \w, \n, \h (?????) - ((eq c ?l) (woman-horizontal-line)) - (t - ;; \? -> ? where ? is any remaining character - (WoMan-warn "Escape ignored: \\%c -> %c" c c) - (delete-char -1)) - ))) + ((eq c ?l) (woman-horizontal-line))))) (goto-char from) ;; Process non-default tab settings: (cond (tab-stop-list ------------------------------------------------------------ revno: 105822 fixes bug(s): http://debbugs.gnu.org/9530 committer: Eli Zaretskii branch nick: trunk timestamp: Sun 2011-09-18 18:48:12 +0300 message: Fix bug #9530 on a TTY. src/xdisp.c (display_line): Record maximum and minimum buffer positions even if no glyphs were produced (e.g., by a zero-width stretch). Fixes bug#9530 on a TTY. Under word-wrap, don't record buffer positions that will be removed from the glyph row because they don't fit. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-09-18 15:21:57 +0000 +++ src/ChangeLog 2011-09-18 15:48:12 +0000 @@ -1,3 +1,11 @@ +2011-09-18 Eli Zaretskii + + * xdisp.c (display_line): Record maximum and minimum buffer + positions even if no glyphs were produced (e.g., by a zero-width + stretch). Fixes bug#9530 on a TTY. Under word-wrap, don't record + buffer positions that will be removed from the glyph row because + they don't fit. + 2011-09-18 YAMAMOTO Mitsuharu * xdisp.c (expose_window): Save original value of phys_cursor_on_p === modified file 'src/xdisp.c' --- src/xdisp.c 2011-09-18 15:21:57 +0000 +++ src/xdisp.c 2011-09-18 15:48:12 +0000 @@ -18704,11 +18704,6 @@ it->current_x = new_x; it->continuation_lines_width += new_x; ++it->hpos; - /* Record the maximum and minimum buffer - positions seen so far in glyphs that will be - displayed by this row. */ - if (it->bidi_p) - RECORD_MAX_MIN_POS (it); if (i == nglyphs - 1) { /* If line-wrap is on, check if a previous @@ -18723,6 +18718,11 @@ || IT_DISPLAYING_WHITESPACE (it))) goto back_to_wrap; + /* Record the maximum and minimum buffer + positions seen so far in glyphs that will be + displayed by this row. */ + if (it->bidi_p) + RECORD_MAX_MIN_POS (it); set_iterator_to_next (it, 1); if (IT_OVERFLOW_NEWLINE_INTO_FRINGE (it)) { @@ -18740,6 +18740,8 @@ } } } + else if (it->bidi_p) + RECORD_MAX_MIN_POS (it); } else if (CHAR_GLYPH_PADDING_P (*glyph) && !FRAME_WINDOW_P (it->f)) @@ -18870,6 +18872,10 @@ xassert (it->first_visible_x <= it->last_visible_x); } } + /* Even if this display element produced no glyphs at all, + we want to record its position. */ + if (it->bidi_p && nglyphs == 0) + RECORD_MAX_MIN_POS (it); row->ascent = max (row->ascent, it->max_ascent); row->height = max (row->height, it->max_ascent + it->max_descent); ------------------------------------------------------------ revno: 105821 fixes bug(s): http://debbugs.gnu.org/9044 committer: Chong Yidong branch nick: trunk timestamp: Sun 2011-09-18 11:30:10 -0400 message: Allow visiting files with malformed prop-lines. * files.el (inhibit-first-line-modes-regexps): Add image files. (hack-local-variables-prop-line): Return nil for malformed prop-lines. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-09-18 11:26:15 +0000 +++ lisp/ChangeLog 2011-09-18 15:30:10 +0000 @@ -1,3 +1,9 @@ +2011-09-18 Chong Yidong + + * files.el (inhibit-first-line-modes-regexps): Add image files. + (hack-local-variables-prop-line): Return nil for malformed + prop-lines (Bug#9044). + 2011-09-18 Michael Albinus * net/tramp.el (top): Don't require 'shell. === modified file 'lisp/files.el' --- lisp/files.el 2011-09-12 20:45:56 +0000 +++ lisp/files.el 2011-09-18 15:30:10 +0000 @@ -2461,7 +2461,9 @@ See also `auto-mode-alist'.") -(defvar inhibit-first-line-modes-regexps (mapcar 'purecopy '("\\.tar\\'" "\\.tgz\\'")) +(defvar inhibit-first-line-modes-regexps + (mapcar 'purecopy '("\\.tar\\'" "\\.tgz\\'" "\\.tiff?\\'" + "\\.gif\\'" "\\.png\\'" "\\.jpe?g\\'")) "List of regexps; if one matches a file name, don't look for `-*-'.") (defvar inhibit-first-line-modes-suffixes nil @@ -2952,60 +2954,62 @@ and VAL is the specified value. Ignores any specification for `mode:' and `coding:' (which should have already been handled by `set-auto-mode' and `set-auto-coding', respectively). -Throws an error if the -*- line is malformed. +Return nil if the -*- line is malformed. If MODE-ONLY is non-nil, just returns the symbol specifying the mode, if there is one, otherwise nil." - (save-excursion - (goto-char (point-min)) - (let ((end (set-auto-mode-1)) - result) - (cond ((not end) - nil) - ((looking-at "[ \t]*\\([^ \t\n\r:;]+\\)\\([ \t]*-\\*-\\)") - ;; Simple form: "-*- MODENAME -*-". - (if mode-only - (intern (concat (match-string 1) "-mode")))) - (t - ;; Hairy form: '-*-' [ ':' ';' ]* '-*-' - ;; (last ";" is optional). - ;; If MODE-ONLY, just check for `mode'. - ;; Otherwise, parse the -*- line into the RESULT alist. - (while (and (or (not mode-only) - (not result)) - (< (point) end)) - (or (looking-at "[ \t]*\\([^ \t\n:]+\\)[ \t]*:[ \t]*") - (error "Malformed -*- line")) - (goto-char (match-end 0)) - ;; There used to be a downcase here, - ;; but the manual didn't say so, - ;; and people want to set var names that aren't all lc. - (let* ((key (intern (match-string 1))) - (val (save-restriction - (narrow-to-region (point) end) - (let ((read-circle nil)) - (read (current-buffer))))) - ;; It is traditional to ignore - ;; case when checking for `mode' in set-auto-mode, - ;; so we must do that here as well. - ;; That is inconsistent, but we're stuck with it. - ;; The same can be said for `coding' in set-auto-coding. - (keyname (downcase (symbol-name key)))) - (if mode-only - (and (equal keyname "mode") - (setq result - (intern (concat (downcase (symbol-name val)) - "-mode")))) - (or (equal keyname "coding") - (condition-case nil - (push (cons (cond ((eq key 'eval) 'eval) - ;; Downcase "Mode:". - ((equal keyname "mode") 'mode) - (t (indirect-variable key))) - val) result) - (error nil)))) - (skip-chars-forward " \t;"))) - result))))) + (catch 'malformed-line + (save-excursion + (goto-char (point-min)) + (let ((end (set-auto-mode-1)) + result) + (cond ((not end) + nil) + ((looking-at "[ \t]*\\([^ \t\n\r:;]+\\)\\([ \t]*-\\*-\\)") + ;; Simple form: "-*- MODENAME -*-". + (if mode-only + (intern (concat (match-string 1) "-mode")))) + (t + ;; Hairy form: '-*-' [ ':' ';' ]* '-*-' + ;; (last ";" is optional). + ;; If MODE-ONLY, just check for `mode'. + ;; Otherwise, parse the -*- line into the RESULT alist. + (while (and (or (not mode-only) + (not result)) + (< (point) end)) + (unless (looking-at "[ \t]*\\([^ \t\n:]+\\)[ \t]*:[ \t]*") + (message "Malformed mode-line") + (throw 'malformed-line nil)) + (goto-char (match-end 0)) + ;; There used to be a downcase here, + ;; but the manual didn't say so, + ;; and people want to set var names that aren't all lc. + (let* ((key (intern (match-string 1))) + (val (save-restriction + (narrow-to-region (point) end) + (let ((read-circle nil)) + (read (current-buffer))))) + ;; It is traditional to ignore + ;; case when checking for `mode' in set-auto-mode, + ;; so we must do that here as well. + ;; That is inconsistent, but we're stuck with it. + ;; The same can be said for `coding' in set-auto-coding. + (keyname (downcase (symbol-name key)))) + (if mode-only + (and (equal keyname "mode") + (setq result + (intern (concat (downcase (symbol-name val)) + "-mode")))) + (or (equal keyname "coding") + (condition-case nil + (push (cons (cond ((eq key 'eval) 'eval) + ;; Downcase "Mode:". + ((equal keyname "mode") 'mode) + (t (indirect-variable key))) + val) result) + (error nil)))) + (skip-chars-forward " \t;"))) + result)))))) (defun hack-local-variables-filter (variables dir-name) "Filter local variable settings, querying the user if necessary. ------------------------------------------------------------ revno: 105820 [merge] committer: Chong Yidong branch nick: trunk timestamp: Sun 2011-09-18 11:21:57 -0400 message: Merge changes from emacs-23 branch diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-09-18 15:16:47 +0000 +++ src/ChangeLog 2011-09-18 15:21:57 +0000 @@ -1,3 +1,13 @@ +2011-09-18 YAMAMOTO Mitsuharu + + * xdisp.c (expose_window): Save original value of phys_cursor_on_p + and turn window cursor on if cleared (Bug#9415). + +2011-09-18 Andreas Schwab + + * search.c (boyer_moore): Take unibyte characters from pattern + literally. (Bug#9458) + 2011-09-18 Eli Zaretskii * xdisp.c (reseat_at_next_visible_line_start): Fix last change. === modified file 'src/search.c' --- src/search.c 2011-09-04 17:27:38 +0000 +++ src/search.c 2011-09-18 15:20:30 +0000 @@ -1760,7 +1760,7 @@ ch = -1; } - if (ch >= 0200) + if (ch >= 0200 && multibyte) j = (ch & 0x3F) | 0200; else j = *ptr; @@ -1779,7 +1779,7 @@ while (1) { TRANSLATE (ch, inverse_trt, ch); - if (ch >= 0200) + if (ch >= 0200 && multibyte) j = (ch & 0x3F) | 0200; else j = ch; === modified file 'src/xdisp.c' --- src/xdisp.c 2011-09-18 15:16:47 +0000 +++ src/xdisp.c 2011-09-18 15:21:57 +0000 @@ -27261,7 +27261,7 @@ { int yb = window_text_bottom_y (w); struct glyph_row *row; - int cursor_cleared_p; + int cursor_cleared_p, phys_cursor_on_p; struct glyph_row *first_overlapping_row, *last_overlapping_row; TRACE ((stderr, "expose_window (%d, %d, %d, %d)\n", @@ -27281,6 +27281,13 @@ else cursor_cleared_p = 0; + /* If the row containing the cursor extends face to end of line, + then expose_area might overwrite the cursor outside the + rectangle and thus notice_overwritten_cursor might clear + w->phys_cursor_on_p. We remember the original value and + check later if it is changed. */ + phys_cursor_on_p = w->phys_cursor_on_p; + /* Update lines intersecting rectangle R. */ first_overlapping_row = last_overlapping_row = NULL; for (row = w->current_matrix->rows; @@ -27347,7 +27354,8 @@ x_draw_vertical_border (w); /* Turn the cursor on again. */ - if (cursor_cleared_p) + if (cursor_cleared_p + || (phys_cursor_on_p && !w->phys_cursor_on_p)) update_window_cursor (w, 1); } } ------------------------------------------------------------ revno: 105819 committer: Eli Zaretskii branch nick: trunk timestamp: Sun 2011-09-18 18:16:47 +0300 message: src/xdisp.c (reseat_at_next_visible_line_start): Fix last change. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-09-18 09:01:39 +0000 +++ src/ChangeLog 2011-09-18 15:16:47 +0000 @@ -1,3 +1,7 @@ +2011-09-18 Eli Zaretskii + + * xdisp.c (reseat_at_next_visible_line_start): Fix last change. + 2011-09-18 Paul Eggert Fix minor problem found by static checking. === modified file 'src/xdisp.c' --- src/xdisp.c 2011-09-18 09:01:39 +0000 +++ src/xdisp.c 2011-09-18 15:16:47 +0000 @@ -5812,7 +5812,7 @@ else if (skipped_p) { reseat (it, it->current.pos, 0); - if (it->bidi_p) + if (it->bidi_p && !STRINGP (it->string)) { it->bidi_it.new_paragraph = new_paragraph; it->bidi_it.first_elt = first_elt; ------------------------------------------------------------ revno: 105818 committer: Michael Albinus branch nick: trunk timestamp: Sun 2011-09-18 13:26:15 +0200 message: * net/tramp.el (top): Don't require 'shell. (tramp-methods): Fix docstring. (tramp-get-remote-tmpdir): New defun, moved from tramp-sh.el. Return complete remote file name. Handle "smb" case. Use `tramp-tmpdir', if defined for the respective method. (tramp-make-tramp-temp-file): Adapt call of `tramp-get-remote-tmpdir'. * net/tramp-compat.el (top): Require 'shell. * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band) (tramp-maybe-open-connection): Use `tramp-file-name-real-host' for `tramp-current-host'. (tramp-get-remote-tmpdir): Remove. * net/tramp-smb.el (tramp-methods): Add `tramp-remote-shell' and `tramp-tmpdir' entries. (tramp-smb-errors): Add "NT_STATUS_IMAGE_ALREADY_LOADED". (tramp-smb-handle-file-attributes): Ignore errors. (tramp-smb-wait-for-output): Check also for process end. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-09-18 07:36:20 +0000 +++ lisp/ChangeLog 2011-09-18 11:26:15 +0000 @@ -1,3 +1,25 @@ +2011-09-18 Michael Albinus + + * net/tramp.el (top): Don't require 'shell. + (tramp-methods): Fix docstring. + (tramp-get-remote-tmpdir): New defun, moved from tramp-sh.el. + Return complete remote file name. Handle "smb" case. Use + `tramp-tmpdir', if defined for the respective method. + (tramp-make-tramp-temp-file): Adapt call of `tramp-get-remote-tmpdir'. + + * net/tramp-compat.el (top): Require 'shell. + + * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band) + (tramp-maybe-open-connection): Use `tramp-file-name-real-host' for + `tramp-current-host'. + (tramp-get-remote-tmpdir): Remove. + + * net/tramp-smb.el (tramp-methods): Add `tramp-remote-shell' and + `tramp-tmpdir' entries. + (tramp-smb-errors): Add "NT_STATUS_IMAGE_ALREADY_LOADED". + (tramp-smb-handle-file-attributes): Ignore errors. + (tramp-smb-wait-for-output): Check also for process end. + 2011-09-18 Lars Magne Ingebrigtsen * mail/smtpmail.el (smtpmail-via-smtp): Ignore errors that arise === modified file 'lisp/net/tramp-compat.el' --- lisp/net/tramp-compat.el 2011-07-14 01:40:30 +0000 +++ lisp/net/tramp-compat.el 2011-09-18 11:26:15 +0000 @@ -41,6 +41,7 @@ (require 'advice) (require 'custom) (require 'format-spec) + (require 'shell) ;; As long as password.el is not part of (X)Emacs, it shouldn't be ;; mandatory. === modified file 'lisp/net/tramp-sh.el' --- lisp/net/tramp-sh.el 2011-09-04 18:14:34 +0000 +++ lisp/net/tramp-sh.el 2011-09-18 11:26:15 +0000 @@ -2280,7 +2280,7 @@ ;; password. (setq tramp-current-method (tramp-file-name-method v) tramp-current-user (tramp-file-name-user v) - tramp-current-host (tramp-file-name-host v)) + tramp-current-host (tramp-file-name-real-host v)) ;; Expand hops. Might be necessary for gateway methods. (setq v (car (tramp-compute-multi-hops v))) @@ -4292,7 +4292,7 @@ (gw (tramp-get-file-property hop "" "gateway" nil)) (g-method (and gw (tramp-file-name-method gw))) (g-user (and gw (tramp-file-name-user gw))) - (g-host (and gw (tramp-file-name-host gw))) + (g-host (and gw (tramp-file-name-real-host gw))) (command login-program) ;; We don't create the temporary file. In fact, ;; it is just a prefix for the ControlPath option @@ -4721,16 +4721,6 @@ x)) remote-path))))) -(defun tramp-get-remote-tmpdir (vec) - (with-connection-property vec "tmp-directory" - (let ((dir (tramp-shell-quote-argument "/tmp"))) - (if (and (tramp-send-command-and-check - vec (format "%s -d %s" (tramp-get-test-command vec) dir)) - (tramp-send-command-and-check - vec (format "%s -w %s" (tramp-get-test-command vec) dir))) - dir - (tramp-error vec 'file-error "Directory %s not accessible" dir))))) - (defun tramp-get-ls-command (vec) (with-connection-property vec "ls" (tramp-message vec 5 "Finding a suitable `ls' command") === modified file 'lisp/net/tramp-smb.el' --- lisp/net/tramp-smb.el 2011-06-04 13:58:37 +0000 +++ lisp/net/tramp-smb.el 2011-09-18 11:26:15 +0000 @@ -38,7 +38,15 @@ ;; ... and add it to the method list. ;;;###tramp-autoload (unless (memq system-type '(cygwin windows-nt)) - (add-to-list 'tramp-methods (cons tramp-smb-method nil))) + (add-to-list 'tramp-methods + `(,tramp-smb-method + ;; We define an empty command, because `tramp-smb-call-winexe' + ;; opens already the powershell. Used in `tramp-handle-shell-command'. + (tramp-remote-shell "") + ;; This is just a guess. We don't know whether the share "$C" + ;; is available for public use, and whether the user has write + ;; access. + (tramp-tmpdir "/C$/Temp")))) ;; Add a default for `tramp-default-method-alist'. Rule: If there is ;; a domain in USER, it must be the SMB method. @@ -98,7 +106,8 @@ "ERRnomem" "ERRnosuchshare" ;; Windows 4.0 (Windows NT), Windows 5.0 (Windows 2000), - ;; Windows 5.1 (Windows XP), Windows 5.2 (Windows Server 2003). + ;; Windows 5.1 (Windows XP), Windows 5.2 (Windows Server 2003), + ;; Windows 6.0 (Windows Vista), Windows 6.1 (Windows 7). "NT_STATUS_ACCESS_DENIED" "NT_STATUS_ACCOUNT_LOCKED_OUT" "NT_STATUS_BAD_NETWORK_NAME" @@ -107,6 +116,7 @@ "NT_STATUS_DIRECTORY_NOT_EMPTY" "NT_STATUS_DUPLICATE_NAME" "NT_STATUS_FILE_IS_A_DIRECTORY" + "NT_STATUS_IMAGE_ALREADY_LOADED" "NT_STATUS_IO_TIMEOUT" "NT_STATUS_LOGON_FAILURE" "NT_STATUS_NETWORK_ACCESS_DENIED" @@ -490,39 +500,40 @@ (defun tramp-smb-handle-file-attributes (filename &optional id-format) "Like `file-attributes' for Tramp files." (unless id-format (setq id-format 'integer)) - (with-parsed-tramp-file-name filename nil - (with-file-property v localname (format "file-attributes-%s" id-format) - (if (and (tramp-smb-get-share v) (tramp-smb-get-stat-capability v)) - (tramp-smb-do-file-attributes-with-stat v id-format) - ;; Reading just the filename entry via "dir localname" is not - ;; possible, because when filename is a directory, some - ;; smbclient versions return the content of the directory, and - ;; other versions don't. Therefore, the whole content of the - ;; upper directory is retrieved, and the entry of the filename - ;; is extracted from. - (let* ((entries (tramp-smb-get-file-entries - (file-name-directory filename))) - (entry (assoc (file-name-nondirectory filename) entries)) - (uid (if (equal id-format 'string) "nobody" -1)) - (gid (if (equal id-format 'string) "nogroup" -1)) - (inode (tramp-get-inode v)) - (device (tramp-get-device v))) + (ignore-errors + (with-parsed-tramp-file-name filename nil + (with-file-property v localname (format "file-attributes-%s" id-format) + (if (and (tramp-smb-get-share v) (tramp-smb-get-stat-capability v)) + (tramp-smb-do-file-attributes-with-stat v id-format) + ;; Reading just the filename entry via "dir localname" is not + ;; possible, because when filename is a directory, some + ;; smbclient versions return the content of the directory, and + ;; other versions don't. Therefore, the whole content of the + ;; upper directory is retrieved, and the entry of the filename + ;; is extracted from. + (let* ((entries (tramp-smb-get-file-entries + (file-name-directory filename))) + (entry (assoc (file-name-nondirectory filename) entries)) + (uid (if (equal id-format 'string) "nobody" -1)) + (gid (if (equal id-format 'string) "nogroup" -1)) + (inode (tramp-get-inode v)) + (device (tramp-get-device v))) - ;; Check result. - (when entry - (list (and (string-match "d" (nth 1 entry)) - t) ;0 file type - -1 ;1 link count - uid ;2 uid - gid ;3 gid - '(0 0) ;4 atime - (nth 3 entry) ;5 mtime - '(0 0) ;6 ctime - (nth 2 entry) ;7 size - (nth 1 entry) ;8 mode - nil ;9 gid weird - inode ;10 inode number - device))))))) ;11 file system number + ;; Check result. + (when entry + (list (and (string-match "d" (nth 1 entry)) + t) ;0 file type + -1 ;1 link count + uid ;2 uid + gid ;3 gid + '(0 0) ;4 atime + (nth 3 entry) ;5 mtime + '(0 0) ;6 ctime + (nth 2 entry) ;7 size + (nth 1 entry) ;8 mode + nil ;9 gid weird + inode ;10 inode number + device)))))))) ;11 file system number (defun tramp-smb-do-file-attributes-with-stat (vec &optional id-format) "Implement `file-attributes' for Tramp files using stat command." @@ -1352,12 +1363,13 @@ (found (progn (goto-char (point-min)) (re-search-forward tramp-smb-prompt nil t))) (err (progn (goto-char (point-min)) - (re-search-forward tramp-smb-errors nil t)))) + (re-search-forward tramp-smb-errors nil t))) + buffer-read-only) ;; Algorithm: get waiting output. See if last line contains - ;; tramp-smb-prompt sentinel or tramp-smb-errors strings. + ;; `tramp-smb-prompt' sentinel or `tramp-smb-errors' strings. ;; If not, wait a bit and again get waiting output. - (while (and (not found) (not err)) + (while (and (not found) (not err) (memq (process-status p) '(run open))) ;; Accept pending output. (tramp-accept-process-output p) @@ -1393,12 +1405,11 @@ ;;; TODO: ;; * Error handling in case password is wrong. -;; * Read password from "~/.netrc". ;; * Return more comprehensive file permission string. ;; * Try to remove the inclusion of dummy "" directory. Seems to be at ;; several places, especially in `tramp-smb-handle-insert-directory'. ;; * (RMS) Use unwind-protect to clean up the state so as to make the state ;; regular again. -;; * Make it multi-hop capable. +;; * Ignore case in file names. ;;; tramp-smb.el ends here === modified file 'lisp/net/tramp.el' --- lisp/net/tramp.el 2011-09-04 18:14:34 +0000 +++ lisp/net/tramp.el 2011-09-18 11:26:15 +0000 @@ -58,7 +58,6 @@ ;;; Code: (require 'tramp-compat) -(require 'shell) ;;; User Customizable Internal Variables: @@ -192,15 +191,16 @@ Each NAME stands for a remote access method. Each PARAM is a pair of the form (KEY VALUE). The following KEYs are defined: * `tramp-remote-shell' - This specifies the Bourne shell to use on the remote host. This - MUST be a Bourne-like shell. It is normally not necessary to set - this to any value other than \"/bin/sh\": Tramp wants to use a shell - which groks tilde expansion, but it can search for it. Also note - that \"/bin/sh\" exists on all Unixen, this might not be true for - the value that you decide to use. You Have Been Warned. + This specifies the shell to use on the remote host. This + MUST be a Bourne-like shell. It is normally not necessary to + set this to any value other than \"/bin/sh\": Tramp wants to + use a shell which groks tilde expansion, but it can search + for it. Also note that \"/bin/sh\" exists on all Unixen, + this might not be true for the value that you decide to use. + You Have Been Warned. * `tramp-remote-shell-args' For implementation of `shell-command', this specifies the - argument to let `tramp-remote-shell' run a command. + arguments to let `tramp-remote-shell' run a single command. * `tramp-login-program' This specifies the name of the program to use for logging in to the remote host. This may be the name of rsh or a workalike program, @@ -255,6 +255,9 @@ not have to be newline or carriage return characters. Other login programs are happy with just one character, the newline character. We use \"xy\" as the value for methods using \"plink\". + * `tramp-tmpdir' + A directory on the remote host for temporary files. If not + specified, \"/tmp\" is taken as default. What does all this mean? Well, you should specify `tramp-login-program' for all methods; this program is used to log in to the remote site. Then, @@ -3531,20 +3534,26 @@ ;; loaded already. (zerop (tramp-compat-funcall 'tramp-get-remote-uid vec 'integer)))))) +(defun tramp-get-remote-tmpdir (vec) + "Return directory for temporary files on the remote host identified by VEC." + (with-connection-property vec "tmpdir" + (let ((dir (tramp-make-tramp-file-name + (tramp-file-name-method vec) + (tramp-file-name-user vec) + (tramp-file-name-host vec) + (or + (tramp-get-method-parameter + (tramp-file-name-method vec) 'tramp-tmpdir) + "/tmp")))) + (if (and (file-directory-p dir) (file-writable-p dir)) + dir + (tramp-error vec 'file-error "Directory %s not accessible" dir))))) + (defun tramp-make-tramp-temp-file (vec) "Create a temporary file on the remote host identified by VEC. Return the local name of the temporary file." - (let ((prefix - (tramp-make-tramp-file-name - (tramp-file-name-method vec) - (tramp-file-name-user vec) - (tramp-file-name-host vec) - (tramp-drop-volume-letter - (expand-file-name - tramp-temp-name-prefix - ;; This is defined in tramp-sh.el. Let's assume this is - ;; loaded already. - (tramp-compat-funcall 'tramp-get-remote-tmpdir vec))))) + (let ((prefix (expand-file-name + tramp-temp-name-prefix (tramp-get-remote-tmpdir vec))) result) (while (not result) ;; `make-temp-file' would be the natural choice for ------------------------------------------------------------ Use --include-merges or -n0 to see merged revisions.