((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.
(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)
+ )))
-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 \
;;; 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.
(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<))
:prefix "trace-"
:group 'lisp)
-;;;###autoload
(defcustom trace-buffer "*trace-output*"
"Trace output will by default go to that buffer."
:type 'string)
"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]
"-"
"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)
(provide 'erc-menu)
-;;; erc-menu.el ends here
-;;
+\f
;; Local Variables:
;; indent-tabs-mode: t
;; tab-width: 8
;; End:
+;;; erc-menu.el ends here
(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."
;; 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
;; 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 ?>)
;; 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))
(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
(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
: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
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)
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)
(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))))))