Changeset 4140 for trunk/lisp/erc/erc-log.el
- Timestamp:
- 08/10/06 11:19:54 (2 years ago)
- Files:
-
- trunk/lisp/erc/erc-log.el (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/lisp/erc/erc-log.el
r4111 r4140 72 72 73 73 ;;; TODO: 74 ;; * Erc needs a generalised make-safe-file-name function, so that75 ;; generated file names don't contain any invalid file characters.76 74 ;; 77 75 ;; * Really, we need to lock the logfiles somehow, so that if a user … … 219 217 (add-hook 'erc-part-hook 'erc-conditional-save-buffer) 220 218 ;; append, so that 'erc-initialize-log-marker runs first 221 (add-hook 'erc-connect-pre-hook 'erc-log-setup-logging 'append)) 219 (add-hook 'erc-connect-pre-hook 'erc-log-setup-logging 'append) 220 (dolist (buffer (erc-buffer-list)) 221 (when (buffer-live-p buffer) 222 (with-current-buffer buffer (erc-log-setup-logging))))) 222 223 ;; disable 223 224 ((remove-hook 'erc-insert-post-hook 'erc-save-buffer-in-logs) … … 227 228 (remove-hook 'erc-quit-hook 'erc-conditional-save-queries) 228 229 (remove-hook 'erc-part-hook 'erc-conditional-save-buffer) 229 (remove-hook 'erc-connect-pre-hook 'erc-log-setup-logging))) 230 (remove-hook 'erc-connect-pre-hook 'erc-log-setup-logging) 231 (dolist (buffer (erc-buffer-list)) 232 (when (buffer-live-p buffer) 233 (with-current-buffer buffer (erc-log-disable-logging)))))) 230 234 231 235 (define-key erc-mode-map "\C-c\C-l" 'erc-save-buffer-in-logs) … … 237 241 (when (erc-logging-enabled) 238 242 (auto-save-mode -1) 239 (setq buffer-offer-save t 240 buffer-file-name "") 243 (setq buffer-file-name nil) 241 244 (set (make-local-variable 'write-file-functions) 242 245 '(erc-save-buffer-in-logs)) … … 245 248 (move-marker erc-last-saved-position 246 249 (1- (point-max))))))) 250 251 (defun erc-log-disable-logging () 252 "Disable logging in the current buffer." 253 (when (erc-logging-enabled) 254 (setq buffer-offer-save nil 255 erc-enable-logging nil))) 247 256 248 257 (defun erc-log-all-but-server-buffers (buffer) … … 283 292 erc-enable-logging))) 284 293 294 (defun erc-log-standardize-name (filename) 295 "Make FILENAME safe to use as the name of an ERC log. 296 This will not work with full paths, only names. 297 298 Any unsafe characters in the name are replaced with \"!\". The 299 filename is downcased." 300 (downcase (erc-replace-regexp-in-string 301 "[/\\]" "!" (convert-standard-filename filename)))) 302 285 303 (defun erc-current-logfile (&optional buffer) 286 304 "Return the logfile to use for BUFFER. … … 289 307 The result is converted to lowercase, as IRC is case-insensitive" 290 308 (expand-file-name 291 (downcase (funcall erc-generate-log-file-name-function 292 (or buffer (current-buffer)) 293 (or (erc-default-target) (buffer-name buffer)) 294 (erc-current-nick) 295 erc-session-server erc-session-port)) 309 (erc-log-standardize-name 310 (funcall erc-generate-log-file-name-function 311 (or buffer (current-buffer)) 312 (or (erc-default-target) (buffer-name buffer)) 313 (erc-current-nick) 314 erc-session-server erc-session-port)) 296 315 erc-log-channels-directory)) 297 316
