summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2014-11-04 21:04:30 -0800
committerGlenn Morris <rgm@gnu.org>2014-11-04 21:04:30 -0800
commit6a278b64f7356613c4a7709ed699655fa7415260 (patch)
tree089f1e051d97e213382ee15633b45e831c60b9f2
parentfdcbfeac69b3e9c7edb114d47beb7e9ac9d10df4 (diff)
Merge from emacs-24; up to 117669
-rw-r--r--.dir-locals.el8
-rw-r--r--Makefile.in4
-rw-r--r--lisp/cedet/pulse.el2
-rw-r--r--lisp/emacs-lisp/autoload.el42
-rw-r--r--lisp/emacs-lisp/trace.el1
-rw-r--r--lisp/erc/erc-menu.el24
-rw-r--r--lisp/finder.el1
-rw-r--r--lisp/gnus/gnus-uu.el1
-rw-r--r--lisp/mail/unrmail.el4
-rw-r--r--lisp/play/gamegrid.el30
-rw-r--r--lisp/shadowfile.el14
-rw-r--r--lisp/vc/vc.el28
12 files changed, 98 insertions, 61 deletions
diff --git a/.dir-locals.el b/.dir-locals.el
index 203343f084..001b4847e5 100644
--- a/.dir-locals.el
+++ b/.dir-locals.el
@@ -1,6 +1,5 @@
((nil . ((tab-width . 8)
- (sentence-end-double-space . t)
- (fill-column . 70)))
+ (sentence-end-double-space . t)))
(c-mode . ((c-file-style . "GNU")))
(objc-mode . ((c-file-style . "GNU")))
;; You must set bugtracker_debbugs_url in your bazaar.conf for this to work.
@@ -10,7 +9,6 @@
(log-edit-font-lock-gnu-style . t)
(log-edit-setup-add-author . t)))
(change-log-mode . ((add-log-time-zone-rule . t)
- (fill-column . 74)
(bug-reference-url-format . "http://debbugs.gnu.org/%s")
- (mode . bug-reference)))
- (diff-mode . ((mode . whitespace))))
+ (mode . bug-reference)
+ )))
diff --git a/Makefile.in b/Makefile.in
index 0c11828deb..12e488eebb 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -721,8 +721,8 @@ uninstall: uninstall-$(NTDIR) uninstall-doc
-unset CDPATH; \
for dir in "$(DESTDIR)${lispdir}" "$(DESTDIR)${etcdir}" ; do \
if [ -d "$${dir}" ]; then \
- case `cd "$${dir}" ; /bin/pwd` in \
- "`cd ${srcdir} ; /bin/pwd`"* ) ;; \
+ case `cd "$${dir}" && /bin/pwd` in \
+ "`cd ${srcdir} && /bin/pwd`"* ) ;; \
* ) rm -rf "$${dir}" ;; \
esac ; \
case "$${dir}" in \
diff --git a/lisp/cedet/pulse.el b/lisp/cedet/pulse.el
index e2a48a428a..4d71bc0af5 100644
--- a/lisp/cedet/pulse.el
+++ b/lisp/cedet/pulse.el
@@ -91,6 +91,8 @@ Face used for temporary highlighting of tags for effect."
;;; Code:
;;
+
+;;FIXME
(defun pulse-int-to-hex (int &optional nb-digits)
"Convert integer argument INT to a #XXXXXXXXXXXX format hex string.
Each X in the output string is a hexadecimal digit.
diff --git a/lisp/emacs-lisp/autoload.el b/lisp/emacs-lisp/autoload.el
index 38956df66d..c3aaa905af 100644
--- a/lisp/emacs-lisp/autoload.el
+++ b/lisp/emacs-lisp/autoload.el
@@ -812,14 +812,40 @@ write its autoloads into the specified file instead."
(setq files (delete file files)))))
;; Elements remaining in FILES have no existing autoload sections yet.
(dolist (file files)
- (cond
- ((member (expand-file-name file) autoload-excludes) nil)
- ;; Passing nil as second argument forces
- ;; autoload-generate-file-autoloads to look for the right
- ;; spot where to insert each autoloads section.
- ((autoload-generate-file-autoloads file nil buffer-file-name)
- (push file no-autoloads))))
-
+ (unless (member (expand-file-name file) autoload-excludes)
+ ;; Passing nil as second argument forces
+ ;; autoload-generate-file-autoloads to look for the right
+ ;; spot where to insert each autoloads section.
+ (let ((obuf
+ (autoload-generate-file-autoloads file nil buffer-file-name))
+ ofile ofound oform opoint)
+ (when obuf
+ (push file no-autoloads)
+ ;; Did processing file update some other ofile?
+ (when (bufferp obuf)
+ (with-current-buffer obuf
+ (setq ofile (file-relative-name buffer-file-name)))
+ ;; Did we already scan ofile?
+ (and (member ofile done)
+ (not (member ofile no-autoloads))
+ (save-excursion
+ (goto-char (point-min))
+ (while
+ (and
+ (not ofound)
+ (search-forward
+ generate-autoload-section-header nil t))
+ (setq opoint (point)
+ oform (autoload-read-section-header))
+ (when (setq ofound
+ (string= ofile (nth 3 oform)))
+ (delete-region opoint (point))
+ (autoload-insert-section-header
+ (current-buffer)
+ (nth 1 oform)
+ (nth 2 oform)
+ (nth 3 oform)
+ (nth 5 (file-attributes ofile))))))))))))
(when no-autoloads
;; Sort them for better readability.
(setq no-autoloads (sort no-autoloads 'string<))
diff --git a/lisp/emacs-lisp/trace.el b/lisp/emacs-lisp/trace.el
index 872bf86e54..1c0f6e7dc5 100644
--- a/lisp/emacs-lisp/trace.el
+++ b/lisp/emacs-lisp/trace.el
@@ -139,7 +139,6 @@
:prefix "trace-"
:group 'lisp)
-;;;###autoload
(defcustom trace-buffer "*trace-output*"
"Trace output will by default go to that buffer."
:type 'string)
diff --git a/lisp/erc/erc-menu.el b/lisp/erc/erc-menu.el
index f54141287d..3c035e1e93 100644
--- a/lisp/erc/erc-menu.el
+++ b/lisp/erc/erc-menu.el
@@ -34,8 +34,12 @@
"ERC menu support."
:group 'erc)
+(defvar erc-menu-visible t
+ "Non-nil if the Erc menu is visible.")
+
(defvar erc-menu-definition
(list "ERC"
+ :visible (lambda () erc-menu-visible)
["Connect to server..." erc t]
["Disconnect from server..." erc-quit-server erc-server-connected]
"-"
@@ -104,33 +108,31 @@
"ERC menu definition.")
(defvar erc-menu-defined nil
- "Internal variable used to keep track of whether we've defined the
-ERC menu yet.")
+ "Internal ERC variable, non-nil if the ERC menu has been defined.")
;;;###autoload (autoload 'erc-menu-mode "erc-menu" nil t)
(define-erc-module menu nil
"Enable a menu in ERC buffers."
((unless erc-menu-defined
- ;; make sure the menu only gets defined once, since Emacs 22
- ;; activates it immediately
+ ;; Make sure the menu only gets defined once, since Emacs
+ ;; activates it immediately.
(easy-menu-define erc-menu erc-mode-map "ERC menu" erc-menu-definition)
(setq erc-menu-defined t))
(if (featurep 'xemacs)
(progn
- ;; the menu isn't automatically added to the menu bar in
- ;; XEmacs
+ ;; The menu isn't automatically added to the menu bar in XEmacs.
(add-hook 'erc-mode-hook 'erc-menu-add)
(dolist (buffer (erc-buffer-list))
(with-current-buffer buffer (erc-menu-add))))
+ (setq erc-menu-visible t)
(erc-menu-add)))
((if (featurep 'xemacs)
(progn
(remove-hook 'erc-mode-hook 'erc-menu-add)
(dolist (buffer (erc-buffer-list))
(with-current-buffer buffer (erc-menu-remove))))
- (erc-menu-remove)
- ;; `easy-menu-remove' is a no-op in Emacs 22
- (message "You might have to restart Emacs to remove the ERC menu"))))
+ (setq erc-menu-visible nil)
+ (erc-menu-remove))))
;; silence byte-compiler warning
(defvar erc-menu)
@@ -145,10 +147,10 @@ ERC menu yet.")
(provide 'erc-menu)
-;;; erc-menu.el ends here
-;;
+
;; Local Variables:
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+;;; erc-menu.el ends here
diff --git a/lisp/finder.el b/lisp/finder.el
index bb5b441e26..4eb5485fe5 100644
--- a/lisp/finder.el
+++ b/lisp/finder.el
@@ -429,6 +429,7 @@ FILE should be in a form suitable for passing to `locate-library'."
(goto-char (posn-point (event-start event)))
(finder-select)))
+;; FIXME why does this even exist - it's just an alias for finder-list-keywords?
;;;###autoload
(defun finder-by-keyword ()
"Find packages matching a given keyword."
diff --git a/lisp/gnus/gnus-uu.el b/lisp/gnus/gnus-uu.el
index 3f4bf1e1e0..1e78709dc9 100644
--- a/lisp/gnus/gnus-uu.el
+++ b/lisp/gnus/gnus-uu.el
@@ -978,6 +978,7 @@ When called interactively, prompt for REGEXP."
;; Binhex treatment - not very advanced.
+;; FIXME? This duplicates binhex-begin-line etc from binhex.el.
(defvar gnus-uu-binhex-body-line
"^[^:]...............................................................$")
(defvar gnus-uu-binhex-begin-line
diff --git a/lisp/mail/unrmail.el b/lisp/mail/unrmail.el
index 49103e5714..8c2f3c6675 100644
--- a/lisp/mail/unrmail.el
+++ b/lisp/mail/unrmail.el
@@ -241,8 +241,8 @@ The variable `unrmail-mbox-format' controls which mbox format to use."
;; Convert From to >From, etc.
(let ((case-fold-search nil)
(fromline (if (eq 'mboxrd unrmail-mbox-format)
- "^>*From "
- "^From ")))
+ "\n>*From "
+ "\nFrom ")))
(while (re-search-forward fromline nil t)
(beginning-of-line)
(insert ?>)
diff --git a/lisp/play/gamegrid.el b/lisp/play/gamegrid.el
index 4f2be48746..7817d71bc7 100644
--- a/lisp/play/gamegrid.el
+++ b/lisp/play/gamegrid.el
@@ -479,27 +479,28 @@ FILE is created there."
;; FILE in the user's home directory. There is presumably no
;; shared game directory.
-(defvar gamegrid-shared-game-dir)
-
(defun gamegrid-add-score-with-update-game-score (file score)
- (let ((gamegrid-shared-game-dir
+ (let ((setuid
(not (zerop (logand (file-modes
(expand-file-name "update-game-score"
exec-directory))
#o4000)))))
(cond ((file-name-absolute-p file)
(gamegrid-add-score-insecure file score))
- ((and gamegrid-shared-game-dir
+ ;; Use the setuid "update-game-score" program to update a
+ ;; pre-existing system-wide score file.
+ ((and setuid
(file-exists-p (expand-file-name file shared-game-score-directory)))
- ;; Use the setuid "update-game-score" program to update a
- ;; system-wide score file.
(gamegrid-add-score-with-update-game-score-1 file
- (expand-file-name file shared-game-score-directory) score))
- ;; Else: Add the score to a score file in the user's home
- ;; directory.
- (gamegrid-shared-game-dir
- ;; If `gamegrid-shared-game-dir' is non-nil, then
- ;; "update-gamescore" program is setuid, so don't use it.
+ (expand-file-name file shared-game-score-directory) score setuid))
+ ;; We have setuid, but the score file does not exist.
+ ;; FIXME - Why not try to create it?
+ ;; Maybe the logic is that this is being called by a game
+ ;; that is not part of the standard Emacs install?
+ ;; I see no reason why we should not try to use a shared
+ ;; score file though, and fall back to a private one if we
+ ;; lack permission to create a shared file.
+ (setuid
(unless (file-exists-p
(directory-file-name gamegrid-user-score-file-directory))
(make-directory gamegrid-user-score-file-directory t))
@@ -515,7 +516,8 @@ FILE is created there."
(write-region "" nil f nil 'silent nil 'excl))
(gamegrid-add-score-with-update-game-score-1 file f score))))))
-(defun gamegrid-add-score-with-update-game-score-1 (file target score)
+(defun gamegrid-add-score-with-update-game-score-1 (file target score
+ &optional setuid)
(let ((default-directory "/")
(errbuf (generate-new-buffer " *update-game-score loss*"))
(marker-string (concat
@@ -537,7 +539,7 @@ FILE is created there."
(expand-file-name "update-game-score" exec-directory)
nil errbuf nil
"-m" (int-to-string gamegrid-score-file-length)
- "-d" (if gamegrid-shared-game-dir
+ "-d" (if setuid
(expand-file-name shared-game-score-directory)
(file-name-directory target))
file
diff --git a/lisp/shadowfile.el b/lisp/shadowfile.el
index 2bf200d07d..e463cb7eca 100644
--- a/lisp/shadowfile.el
+++ b/lisp/shadowfile.el
@@ -117,6 +117,7 @@ ensure consistency. Default: ~/.emacs.d/shadows"
:type '(choice (const nil) file)
:group 'shadow)
+;; FIXME use .emacs.d
(defcustom shadow-todo-file nil
"File to store the list of uncopied shadows in.
This means that if a remote system is down, or for any reason you cannot or
@@ -438,14 +439,17 @@ It may have different filenames on each site. When this file is edited, the
new version will be copied to each of the other locations. Sites can be
specific hostnames, or names of clusters (see `shadow-define-cluster')."
(interactive)
- (let* ((hup (shadow-parse-fullname
- (shadow-contract-file-name (buffer-file-name))))
- (name (nth 2 hup))
- user site group)
+ (let ((name (if (buffer-file-name)
+ (nth 2 (shadow-parse-fullname
+ (shadow-contract-file-name (buffer-file-name))))))
+ user site group)
(while (setq site (shadow-read-site))
+ ;; FIXME fix read-string calls
(setq user (read-string (format "Username (default %s): "
(shadow-get-user site)))
- name (read-string "Filename: " name))
+ name (read-string "Filename: " nil nil name))
+ (if (zerop (length name))
+ (error "You must specify a filename"))
(setq group (cons (shadow-make-fullname site
(if (string-equal "" user)
(shadow-get-user site)
diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el
index 5491d67e70..c2f8d78408 100644
--- a/lisp/vc/vc.el
+++ b/lisp/vc/vc.el
@@ -2198,21 +2198,22 @@ Does nothing if IS-START-REVISION is non-nil, or if LIMIT is nil,
or if PL-RETURN is 'limit-unsupported."
(when (and limit (not (eq 'limit-unsupported pl-return))
(not is-start-revision))
- (goto-char (point-max))
- (insert "\n")
- (insert-text-button "Show 2X entries"
- 'action (lambda (&rest _ignore)
+ (save-excursion
+ (goto-char (point-max))
+ (insert "\n")
+ (insert-text-button "Show 2X entries"
+ 'action (lambda (&rest _ignore)
(vc-print-log-internal
log-view-vc-backend log-view-vc-fileset
working-revision nil (* 2 limit)))
- 'help-echo "Show the log again, and double the number of log entries shown")
- (insert " ")
- (insert-text-button "Show unlimited entries"
- 'action (lambda (&rest _ignore)
- (vc-print-log-internal
- log-view-vc-backend log-view-vc-fileset
- working-revision nil nil))
- 'help-echo "Show the log again, including all entries")))
+ 'help-echo "Show the log again, and double the number of log entries shown")
+ (insert " ")
+ (insert-text-button "Show unlimited entries"
+ 'action (lambda (&rest _ignore)
+ (vc-print-log-internal
+ log-view-vc-backend log-view-vc-fileset
+ working-revision nil nil))
+ 'help-echo "Show the log again, including all entries"))))
(defun vc-print-log-internal (backend files working-revision
&optional is-start-revision limit)
@@ -2249,7 +2250,8 @@ earlier revisions. Show up to LIMIT entries (non-nil means unlimited)."
(vc-print-log-setup-buttons working-revision
is-start-revision limit ret))
(lambda (bk)
- (vc-call-backend bk 'show-log-entry working-revision))
+ (if (or working-revision (eobp))
+ (vc-call-backend bk 'show-log-entry working-revision)))
(lambda (_ignore-auto _noconfirm)
(vc-print-log-internal backend files working-revision
is-start-revision limit))))))