diff options
-rw-r--r-- | .dir-locals.el | 8 | ||||
-rw-r--r-- | Makefile.in | 4 | ||||
-rw-r--r-- | lisp/cedet/pulse.el | 2 | ||||
-rw-r--r-- | lisp/emacs-lisp/autoload.el | 42 | ||||
-rw-r--r-- | lisp/emacs-lisp/trace.el | 1 | ||||
-rw-r--r-- | lisp/erc/erc-menu.el | 24 | ||||
-rw-r--r-- | lisp/finder.el | 1 | ||||
-rw-r--r-- | lisp/gnus/gnus-uu.el | 1 | ||||
-rw-r--r-- | lisp/mail/unrmail.el | 4 | ||||
-rw-r--r-- | lisp/play/gamegrid.el | 30 | ||||
-rw-r--r-- | lisp/shadowfile.el | 14 | ||||
-rw-r--r-- | lisp/vc/vc.el | 28 |
12 files changed, 98 insertions, 61 deletions
diff --git a/.dir-locals.el b/.dir-locals.el index 203343f0842..001b4847e54 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 0c11828deb2..12e488eebba 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 e2a48a428a3..4d71bc0af50 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 38956df66de..c3aaa905afd 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 872bf86e545..1c0f6e7dc54 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 f54141287de..3c035e1e938 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 bb5b441e26d..4eb5485fe53 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 3f4bf1e1e05..1e78709dc95 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 49103e5714d..8c2f3c66757 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 4f2be487463..7817d71bc7e 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 2bf200d07dd..e463cb7eca5 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 5491d67e700..c2f8d78408a 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)))))) |