0
0
Fork 1
mirror of https://git.savannah.gnu.org/git/emacs/org-mode.git synced 2024-07-15 16:16:26 +00:00

Whitespace

This commit is contained in:
Bernt Hansen 2008-12-16 11:10:13 -05:00
parent 2528ec0a6d
commit 3bd1132c86

View file

@ -15,7 +15,7 @@
;; GNU Emacs is distributed in the hope that it will be useful, ;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details. ;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License ;; You should have received a copy of the GNU General Public License
@ -91,7 +91,7 @@ Parse a LINK that looks like server:port/chan/user (port, chan
and user being optional) and return any of the port, channel or user and user being optional) and return any of the port, channel or user
attributes that are found." attributes that are found."
(let* ((parts (split-string link "/" t)) (let* ((parts (split-string link "/" t))
(len (length parts))) (len (length parts)))
(when (or (< len 1) (> len 3)) (when (or (< len 1) (> len 3))
(error "Failed to parse link needed 1-3 parts, got %d" len)) (error "Failed to parse link needed 1-3 parts, got %d" len))
(setcar parts (split-string (car parts) ":" t)) (setcar parts (split-string (car parts) ":" t))
@ -109,14 +109,14 @@ attributes that are found."
Strip starting and ending white space from STRING and replace any Strip starting and ending white space from STRING and replace any
chars that the value AFTER with '...'" chars that the value AFTER with '...'"
(let* ((after (number-to-string (or after 30))) (let* ((after (number-to-string (or after 30)))
(replace-map (list (cons "^[ \t]*" "") (replace-map (list (cons "^[ \t]*" "")
(cons "[ \t]*$" "") (cons "[ \t]*$" "")
(cons (concat "^\\(.\\{" after (cons (concat "^\\(.\\{" after
"\\}\\).*") "\\1...")))) "\\}\\).*") "\\1..."))))
(mapc (lambda (x) (mapc (lambda (x)
(when (string-match (car x) string) (when (string-match (car x) string)
(setq string (replace-match (cdr x) nil nil string)))) (setq string (replace-match (cdr x) nil nil string))))
replace-map) replace-map)
string)) string))
;; ERC specific functions ;; ERC specific functions
@ -134,14 +134,14 @@ result is a cons of the filename and search string."
(abbreviate-file-name buffer-file-name) (abbreviate-file-name buffer-file-name)
;; can we get a '::' part? ;; can we get a '::' part?
(if (string= erc-line (erc-prompt)) (if (string= erc-line (erc-prompt))
(progn (progn
(goto-char (point-at-bol)) (goto-char (point-at-bol))
(when (search-backward-regexp "^[^ ]" nil t) (when (search-backward-regexp "^[^ ]" nil t)
(buffer-substring-no-properties (point-at-bol) (buffer-substring-no-properties (point-at-bol)
(point-at-eol)))) (point-at-eol))))
(when (search-backward erc-line nil t) (when (search-backward erc-line nil t)
(buffer-substring-no-properties (point-at-bol) (buffer-substring-no-properties (point-at-bol)
(point-at-eol))))))) (point-at-eol)))))))
(defun org-irc-erc-store-link () (defun org-irc-erc-store-link ()
"Store a link to the IRC log file or the session itself. "Store a link to the IRC log file or the session itself.
@ -151,47 +151,47 @@ the session itself."
(require 'erc-log) (require 'erc-log)
(if org-irc-link-to-logs (if org-irc-link-to-logs
(let* ((erc-line (buffer-substring-no-properties (let* ((erc-line (buffer-substring-no-properties
(point-at-bol) (point-at-eol))) (point-at-bol) (point-at-eol)))
(parsed-line (org-irc-erc-get-line-from-log erc-line))) (parsed-line (org-irc-erc-get-line-from-log erc-line)))
(if (erc-logging-enabled nil) (if (erc-logging-enabled nil)
(progn (progn
(org-store-link-props (org-store-link-props
:type "file" :type "file"
:description (concat "'" (org-irc-elipsify-description :description (concat "'" (org-irc-elipsify-description
(cadr parsed-line) 20) (cadr parsed-line) 20)
"' from an IRC conversation") "' from an IRC conversation")
:link (concat "file:" (car parsed-line) "::" :link (concat "file:" (car parsed-line) "::"
(cadr parsed-line))) (cadr parsed-line)))
t) t)
(error "This ERC session is not being logged"))) (error "This ERC session is not being logged")))
(let* ((link-text (org-irc-get-erc-link)) (let* ((link-text (org-irc-get-erc-link))
(link (org-irc-parse-link link-text))) (link (org-irc-parse-link link-text)))
(if link-text (if link-text
(progn (progn
(org-store-link-props (org-store-link-props
:type "irc" :type "irc"
:link (org-make-link "irc:/" link-text) :link (org-make-link "irc:/" link-text)
:description (concat "irc session '" link-text "'") :description (concat "irc session '" link-text "'")
:server (car (car link)) :server (car (car link))
:port (or (string-to-number (cadr (pop link))) erc-default-port) :port (or (string-to-number (cadr (pop link))) erc-default-port)
:nick (pop link)) :nick (pop link))
t) t)
(error "Failed to create ('irc:/' style) ERC link"))))) (error "Failed to create ('irc:/' style) ERC link")))))
(defun org-irc-get-erc-link () (defun org-irc-get-erc-link ()
"Return an org compatible irc:/ link from an ERC buffer." "Return an org compatible irc:/ link from an ERC buffer."
(let* ((session-port (if (numberp erc-session-port) (let* ((session-port (if (numberp erc-session-port)
(number-to-string erc-session-port) (number-to-string erc-session-port)
erc-session-port)) erc-session-port))
(link (concat erc-session-server ":" session-port))) (link (concat erc-session-server ":" session-port)))
(concat link "/" (concat link "/"
(if (and (erc-default-target) (if (and (erc-default-target)
(erc-channel-p (erc-default-target)) (erc-channel-p (erc-default-target))
(car (get-text-property (point) 'erc-data))) (car (get-text-property (point) 'erc-data)))
;; we can get a nick ;; we can get a nick
(let ((nick (car (get-text-property (point) 'erc-data)))) (let ((nick (car (get-text-property (point) 'erc-data))))
(concat (erc-default-target) "/" nick)) (concat (erc-default-target) "/" nick))
(erc-default-target))))) (erc-default-target)))))
(defun org-irc-get-current-erc-port () (defun org-irc-get-current-erc-port ()
"Return the current port as a number. "Return the current port as a number.
@ -210,44 +210,44 @@ default."
(require 'erc) (require 'erc)
(require 'erc-log) (require 'erc-log)
(let* ((server (car (car link))) (let* ((server (car (car link)))
(port (or (string-to-number (cadr (pop link))) erc-default-port)) (port (or (string-to-number (cadr (pop link))) erc-default-port))
(server-buffer) (server-buffer)
(buffer-list (buffer-list
(erc-buffer-filter (erc-buffer-filter
(lambda nil (lambda nil
(let ((tmp-server-buf (erc-server-buffer))) (let ((tmp-server-buf (erc-server-buffer)))
(and tmp-server-buf (and tmp-server-buf
(with-current-buffer tmp-server-buf (with-current-buffer tmp-server-buf
(and (and
(eq (org-irc-get-current-erc-port) port) (eq (org-irc-get-current-erc-port) port)
(string= erc-session-server server) (string= erc-session-server server)
(setq server-buffer tmp-server-buf))))))))) (setq server-buffer tmp-server-buf)))))))))
(if buffer-list (if buffer-list
(let ((chan-name (pop link))) (let ((chan-name (pop link)))
;; if we got a channel name then switch to it or join it ;; if we got a channel name then switch to it or join it
(if chan-name (if chan-name
(let ((chan-buf (catch 'found (let ((chan-buf (catch 'found
(dolist (x buffer-list) (dolist (x buffer-list)
(if (string= (buffer-name x) chan-name) (if (string= (buffer-name x) chan-name)
(throw 'found x)))))) (throw 'found x))))))
(if chan-buf (if chan-buf
(progn (progn
(switch-to-buffer chan-buf) (switch-to-buffer chan-buf)
;; if we got a nick, and they're in the chan, ;; if we got a nick, and they're in the chan,
;; then start a chat with them ;; then start a chat with them
(let ((nick (pop link))) (let ((nick (pop link)))
(when nick (when nick
(if (member nick (erc-get-server-nickname-list)) (if (member nick (erc-get-server-nickname-list))
(progn (progn
(goto-char (point-max)) (goto-char (point-max))
(insert (concat nick ": "))) (insert (concat nick ": ")))
(error "%s not found in %s" nick chan-name))))) (error "%s not found in %s" nick chan-name)))))
(progn (progn
(switch-to-buffer server-buffer) (switch-to-buffer server-buffer)
(erc-cmd-JOIN chan-name)))) (erc-cmd-JOIN chan-name))))
(switch-to-buffer server-buffer))) (switch-to-buffer server-buffer)))
;; no server match, make new connection ;; no server match, make new connection
(erc-select :server server :port port)))) (erc-select :server server :port port))))
(provide 'org-irc) (provide 'org-irc)