Comments (13)
Database-connection info is buffer-local. So, to get a possibility to eval SQL statements from
any new buffer, you should run M-x ejc-connect
inside this buffer. No new REPL will launch in this case (if started already), it will add only database connection information. Different buffers can connect to different databases (even different database types). All connection-related data (e.g. database structure cache) shared between buffers with the same connection.
from ejc-sql.
But it have to start a new REPL for every new opened source blocks everytime. This is not convinient. I also tried ejc-connect-existing-repl
. It create a sibling REPL or something else. But it can't use [C-c C-c]
neither. I think I only need to create one new REPL, and use ejc-connect-existing-repl
for all new buffers.
I checked the ejc-connect
source code, I think might can extract the set buffer local steps into a single command, so that user can set those info in any new buffer to work like ejc-connect
.
from ejc-sql.
But it have to start a new REPL for every new opened source blocks everytime.
You have not start new REPL for every new source block. Once again. If you connected to nREPL with ejc-sql
project (your Emacs has buffer like *nrepl-server...ejc-sql...*
), than any time you run ejc-connect
, no new nREPL should be started. It will add buffer-local vars with database-connection info to this buffer. That's all. If not (and you see starting new REPL every time), this is either ejc-sql
bug, or you are doing something unexpected, so, please, describe it.
I think might can extract the set buffer local steps into a single command, so that user can set those info in any new buffer to work like ejc-connect.
It's possible and rather simple. As far as I understand, you want to keep database-connection info in some org-mode
buffer and automatically copy it to any source code dedicated buffers (via org-edit-special
). Am I right?
from ejc-sql.
As far as I understand, you want to keep database-connection info in some org-mode buffer and automatically copy it to any source code dedicated buffers (via org-edit-special). Am I right?
Yes, that's what I want.
About the ejc-connect
. I will try again. Thanks for your explaination. This sentence is clear than upper comment.
from ejc-sql.
I tested, ejc-connect
did link to existing database-connection. This is great.
from ejc-sql.
Oops, close issue by accidently.
I can use [C-c C-c]
now, but it does not gives out result, it seems always running:
You can see the major-mode
indicator in mode-line. The \
backslash symbol is keep running.
from ejc-sql.
I dive into the source code of ejc-eval-user-sql-at-point
with edebug.
And invoke (ejc-eval-user-sql-at-point :sync)
in buffer. It returns:
"{:runner #future[{:status :pending, :val nil} 0x518e1d76], :start-time (23524 55318 576661 903000), :stmt #object[com.mysql.jdbc.JDBC4PreparedStatement 0x1f1e78e7 \"com.mysql.jdbc.JDBC4PreparedStatement@1f1e78e7: statement has been closed, no further internal information available\"], :conn #object[com.mysql.jdbc.JDBC4Connection 0x64ef8c23 \"com.mysql.jdbc.JDBC4Connection@64ef8c23\"]}"
NOTE: the test table is very small which has only one record.
from ejc-sql.
@kostafey Hi, any update on this issue?
from ejc-sql.
@stardiviner Ok, lest figure out what we expect here.
First please, update ejc-sql, and try with a new version from master.
- Problem - infinite evaluation run of expression:
use testdb;
show tables;
Unfortunately, I can't reproduce it at all (tested with H2 and MySQL databases).
Any time I receive tables list as expected.
Could you confirm that problem persists for your MySQL database?
- Use ejc-sql for block dedicated buffer from org-mode buffer.
I can offer the following behaviour:
- run
ejc-connet
in youorg-mode
buffer as insql-mode
buffer - the
major-mode
for the currentorg-mode
buffer persists (asorg-mode
) - new
minor-mode
(ejc-sql-mode
) will be added to thisorg-mode
buffer - any time you run C-c ' (
org-edit-special
) you will get new buffer with thisminor-mode
(ejc-sql-mode
) and all connection-related data.
Is it acceptable behavior?
from ejc-sql.
About the first problem, I tried the latest version code. I pull from your master
branch. The latest commit is 17b633f7308d1f814eec141f46189e70effb3a5d
Here is my config:
(use-package ejc-sql
;; :ensure t
:load-path "~/Code/Emacs/ejc-sql"
:load (ejc-interaction)
:commands (ejc-connect ejc-connect-existing-repl ejc-sql-mode)
:config
(defun my-ejc-sql-ac-setup ()
(ejc-sql-mode 1)
(auto-complete-mode 1)
(ejc-ac-setup))
(add-hook 'sql-mode-hook #'my-ejc-sql-ac-setup)
;; (advice-add 'ejc-connect :before
;; #'(lambda (connection-name)
;; (switch-to-buffer-other-window (format "*ejc-sql %s*" connection-name))))
(ejc-create-connection
"PostgreSQL-db-postgres"
:classpath "~/.m2/repository/postgresql/postgresql/9.3-1102.jdbc41/postgresql-9.3-1102.jdbc41.jar"
:dbtype "postgresql"
:host "localhost"
:port "5432"
:user "postgres"
:password "password"
:dbname "postgres")
(ejc-create-connection
"MariaDB-db-test"
:classpath "~/.m2/repository/org/mariadb/jdbc/mariadb-java-client/1.1.7/mariadb-java-client-1.1.7.jar"
:dbtype "mysql" ; TODO: "mariadb"?
:host "localhost"
:port "3306"
:user "root"
:password "password"
:dbname "test")
(ejc-create-connection
"MySQL-db-test"
:classpath "~/.m2/repository/mysql/mysql-connector-java/5.1.32/mysql-connector-java-5.1.32.jar"
:dbtype "mysql"
:host "localhost"
:port "3306"
:user "root"
:password "password"
:dbname "test")
)
And here is my Org file contains steps of reproducing my problem.
I combined two "MySQL/MariaDB" and "PostgreSQL" reproduce steps into one file.
https://gist.github.com/stardiviner/7243e6c4a6ad4843304e796149f32c04
About 2:
Use ejc-sql for block dedicated buffer from org-mode buffer.
I can offer the following behaviour:
run ejc-connet in you org-mode buffer as in sql-mode buffer
in your org-mode buffer
, Do you mean the org-mode buffer, or the opened source block dedicate buffer? If org-mode buffer
. I think it's the best. But I tested with latest code. After execute command ejc-connect
. It still will make major mode org-mode
into sql-mode
.
the major-mode for the current org-mode buffer persists (as org-mode) new minor-mode (ejc-sql-mode) will be added to this org-mode buffer any time you run C-c ' (org-edit-special) you will get new buffer with this minor-mode (ejc-sql-mode) and all connection-related data.
Is it acceptable behavior?
This is what I want. That will be great!!
from ejc-sql.
- Problem - infinite evaluation run of expression.
I can't reproduce it anyway, BUT...
I've made some investigation of it. There are 2 probable cases leads to "infinite" evaluation run:
- An error when Clojure calls to Elisp (to notice Emacs about the end of SQL query evaluation).
- An error in Java SQL query evaluation thread itself.
So, please update ejc-sq
and clomacs
packages and try again. You should never fail into
"infinite" evaluation run and see the real problem description in minibuffer
, *Messages*
and *ejc-sql-output*
buffers (depends on the problem origin).
- Problem - Use
ejc-sql
fororg-mode
.
It's implemented as discussed above. Furthermore, you can evaluate SQL queries from code snippets
insideorg-mode
buffer directly.
For the detailed description, please read this section of README: https://github.com/kostafey/ejc-sql#use-with-org-mode
from ejc-sql.
I have tested the new update, this is great! Thanks for your great work!
I tested following:
- the
org-edit-special
([C-c ']
) worked as in ordinarysql-mode
buffer. -
[M-x ejc-connect]
works in org-mode buffers whcih persistent the org-mode majro mode. -
[C-c C-c]
to eval sql source block code snippet does not work.
Here is the error backtrace:
Debugger entered--Lisp error: (wrong-type-argument stringp nil)
insert-file-contents(nil)
(progn (insert-file-contents ejc-result-file-path) (buffer-string))
(unwind-protect (progn (insert-file-contents ejc-result-file-path) (buffer-string)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))
(save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (insert-file-contents ejc-result-file-path) (buffer-string)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))
(let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (insert-file-contents ejc-result-file-path) (buffer-string)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))
(if ejc-org-mode-show-results (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (insert-file-contents ejc-result-file-path) (buffer-string)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))))
(let* ((beg (save-excursion (goto-char (nth 5 (org-babel-get-src-block-info))) (end-of-line) (right-char 1) (point))) (end (save-excursion (goto-char beg) (+ beg (length body) (skip-chars-forward "\011 "))))) (ejc-eval-user-sql-at-point :beg beg :end end :sync ejc-org-mode-show-results :display-result (not ejc-org-mode-show-results)) (if ejc-org-mode-show-results (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (insert-file-contents ejc-result-file-path) (buffer-string)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))))
org-babel-execute:sql("CREATE TABLE product (\n id INT UNSIGNED NOT NULL AUTO_INCREMENT,\n name VARCHAR(30) NOT NULL,\n price DECIMAL(7,2)\n);" ((:colname-names) (:rowname-names) (:result-params "replace") (:result-type . value) (:results . "replace") (:exports . "") (:session . "none") (:noweb . "no") (:hlines . "no") (:tangle . "no") (:comments . "link") (:cache . "yes") (:eval . "never-export")))
funcall(org-babel-execute:sql "CREATE TABLE product (\n id INT UNSIGNED NOT NULL AUTO_INCREMENT,\n name VARCHAR(30) NOT NULL,\n price DECIMAL(7,2)\n);" ((:colname-names) (:rowname-names) (:result-params "replace") (:result-type . value) (:results . "replace") (:exports . "") (:session . "none") (:noweb . "no") (:hlines . "no") (:tangle . "no") (:comments . "link") (:cache . "yes") (:eval . "never-export")))
(let ((r (funcall cmd body params))) (if (and (eq (cdr (assq :result-type params)) 'value) (or (member "vector" result-params) (member "table" result-params)) (not (listp r))) (list (list r)) r))
(setq result (let ((r (funcall cmd body params))) (if (and (eq (cdr (assq :result-type params)) 'value) (or (member "vector" result-params) (member "table" result-params)) (not (listp r))) (list (list r)) r)))
(if (member "none" result-params) (progn (funcall cmd body params) (message "result silenced")) (setq result (let ((r (funcall cmd body params))) (if (and (eq (cdr (assq :result-type params)) 'value) (or (member "vector" result-params) (member "table" result-params)) (not (listp r))) (list (list r)) r))) (let ((file (and (member "file" result-params) (cdr (assq :file params))))) (if file (progn (if (and result (not (or (member "link" result-params) (member "graphics" result-params)))) (progn (let ((temp-file file) (temp-buffer (get-buffer-create (generate-new-buffer-name " *temp file*")))) (unwind-protect (prog1 (save-current-buffer (set-buffer temp-buffer) (insert (org-babel-format-result result (cdr (assq :sep params))))) (save-current-buffer (set-buffer temp-buffer) (write-region nil nil temp-file nil 0))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))) (setq result file))) (let ((post (cdr (assq :post params)))) (if post (progn (let ((*this* (if (not file) result (org-babel-result-to-file file (let ((desc (assq :file-desc params))) (and desc (or (cdr desc) result))))))) (setq result (org-babel-ref-resolve post)) (if file (progn (setq result-params (remove "file" result-params)))))))) (org-babel-insert-result result result-params info new-hash lang)))
(let* ((lang (nth 0 info)) (result-params (cdr (assq :result-params params))) (body (let ((coderef (nth 6 info)) (expand (if (org-babel-noweb-p params :eval) (org-babel-expand-noweb-references info) (nth 1 info)))) (if (not coderef) expand (replace-regexp-in-string (org-src-coderef-regexp coderef) "" expand nil nil 1)))) (dir (cdr (assq :dir params))) (default-directory (or (and dir (file-name-as-directory (expand-file-name dir))) default-directory)) (cmd (intern (concat "org-babel-execute:" lang))) result) (if (fboundp cmd) nil (error "No org-babel-execute function for %s!" lang)) (message "executing %s code block%s..." (capitalize lang) (let ((name (nth 4 info))) (if name (format " (%s)" name) ""))) (if (member "none" result-params) (progn (funcall cmd body params) (message "result silenced")) (setq result (let ((r (funcall cmd body params))) (if (and (eq (cdr (assq :result-type params)) 'value) (or (member "vector" result-params) (member "table" result-params)) (not (listp r))) (list (list r)) r))) (let ((file (and (member "file" result-params) (cdr (assq :file params))))) (if file (progn (if (and result (not (or (member "link" result-params) (member "graphics" result-params)))) (progn (let ((temp-file file) (temp-buffer (get-buffer-create (generate-new-buffer-name " *temp file*")))) (unwind-protect (prog1 (save-current-buffer (set-buffer temp-buffer) (insert (org-babel-format-result result (cdr (assq :sep params))))) (save-current-buffer (set-buffer temp-buffer) (write-region nil nil temp-file nil 0))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))) (setq result file))) (let ((post (cdr (assq :post params)))) (if post (progn (let ((*this* (if (not file) result (org-babel-result-to-file file (let ((desc (assq :file-desc params))) (and desc (or (cdr desc) result))))))) (setq result (org-babel-ref-resolve post)) (if file (progn (setq result-params (remove "file" result-params)))))))) (org-babel-insert-result result result-params info new-hash lang))) (run-hooks 'org-babel-after-execute-hook) result)
(cond (current-cache (save-excursion (goto-char (org-babel-where-is-src-block-result nil info)) (forward-line) (skip-chars-forward " \011") (let ((result (org-babel-read-result))) (message (replace-regexp-in-string "%" "%%" (format "%S" result))) result))) ((org-babel-confirm-evaluate info) (let* ((lang (nth 0 info)) (result-params (cdr (assq :result-params params))) (body (let ((coderef (nth 6 info)) (expand (if (org-babel-noweb-p params :eval) (org-babel-expand-noweb-references info) (nth 1 info)))) (if (not coderef) expand (replace-regexp-in-string (org-src-coderef-regexp coderef) "" expand nil nil 1)))) (dir (cdr (assq :dir params))) (default-directory (or (and dir (file-name-as-directory (expand-file-name dir))) default-directory)) (cmd (intern (concat "org-babel-execute:" lang))) result) (if (fboundp cmd) nil (error "No org-babel-execute function for %s!" lang)) (message "executing %s code block%s..." (capitalize lang) (let ((name (nth 4 info))) (if name (format " (%s)" name) ""))) (if (member "none" result-params) (progn (funcall cmd body params) (message "result silenced")) (setq result (let ((r (funcall cmd body params))) (if (and (eq (cdr (assq :result-type params)) 'value) (or (member "vector" result-params) (member "table" result-params)) (not (listp r))) (list (list r)) r))) (let ((file (and (member "file" result-params) (cdr (assq :file params))))) (if file (progn (if (and result (not (or (member "link" result-params) (member "graphics" result-params)))) (progn (let ((temp-file file) (temp-buffer (get-buffer-create (generate-new-buffer-name " *temp file*")))) (unwind-protect (prog1 (save-current-buffer (set-buffer temp-buffer) (insert (org-babel-format-result result (cdr (assq :sep params))))) (save-current-buffer (set-buffer temp-buffer) (write-region nil nil temp-file nil 0))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))) (setq result file))) (let ((post (cdr (assq :post params)))) (if post (progn (let ((*this* (if (not file) result (org-babel-result-to-file file (let ((desc (assq :file-desc params))) (and desc (or (cdr desc) result))))))) (setq result (org-babel-ref-resolve post)) (if file (progn (setq result-params (remove "file" result-params)))))))) (org-babel-insert-result result result-params info new-hash lang))) (run-hooks 'org-babel-after-execute-hook) result)))
(let* ((params (nth 2 info)) (cache (let ((c (cdr (assq :cache params)))) (and (not arg) c (string= "yes" c)))) (new-hash (and cache (org-babel-sha1-hash info :eval))) (old-hash (and cache (org-babel-current-result-hash))) (current-cache (and new-hash (equal new-hash old-hash)))) (cond (current-cache (save-excursion (goto-char (org-babel-where-is-src-block-result nil info)) (forward-line) (skip-chars-forward " \011") (let ((result (org-babel-read-result))) (message (replace-regexp-in-string "%" "%%" (format "%S" result))) result))) ((org-babel-confirm-evaluate info) (let* ((lang (nth 0 info)) (result-params (cdr (assq :result-params params))) (body (let ((coderef (nth 6 info)) (expand (if (org-babel-noweb-p params :eval) (org-babel-expand-noweb-references info) (nth 1 info)))) (if (not coderef) expand (replace-regexp-in-string (org-src-coderef-regexp coderef) "" expand nil nil 1)))) (dir (cdr (assq :dir params))) (default-directory (or (and dir (file-name-as-directory (expand-file-name dir))) default-directory)) (cmd (intern (concat "org-babel-execute:" lang))) result) (if (fboundp cmd) nil (error "No org-babel-execute function for %s!" lang)) (message "executing %s code block%s..." (capitalize lang) (let ((name (nth 4 info))) (if name (format " (%s)" name) ""))) (if (member "none" result-params) (progn (funcall cmd body params) (message "result silenced")) (setq result (let ((r (funcall cmd body params))) (if (and (eq (cdr (assq :result-type params)) 'value) (or (member "vector" result-params) (member "table" result-params)) (not (listp r))) (list (list r)) r))) (let ((file (and (member "file" result-params) (cdr (assq :file params))))) (if file (progn (if (and result (not (or (member "link" result-params) (member "graphics" result-params)))) (progn (let ((temp-file file) (temp-buffer (get-buffer-create (generate-new-buffer-name " *temp file*")))) (unwind-protect (prog1 (save-current-buffer (set-buffer temp-buffer) (insert (org-babel-format-result result (cdr (assq :sep params))))) (save-current-buffer (set-buffer temp-buffer) (write-region nil nil temp-file nil 0))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))) (setq result file))) (let ((post (cdr (assq :post params)))) (if post (progn (let ((*this* (if (not file) result (org-babel-result-to-file file (let ((desc (assq :file-desc params))) (and desc (or (cdr desc) result))))))) (setq result (org-babel-ref-resolve post)) (if file (progn (setq result-params (remove "file" result-params)))))))) (org-babel-insert-result result result-params info new-hash lang))) (run-hooks 'org-babel-after-execute-hook) result))))
(progn (let* ((c (nthcdr 2 info))) (setcar c (org-babel-process-params (car c)))) (let* ((params (nth 2 info)) (cache (let ((c (cdr (assq :cache params)))) (and (not arg) c (string= "yes" c)))) (new-hash (and cache (org-babel-sha1-hash info :eval))) (old-hash (and cache (org-babel-current-result-hash))) (current-cache (and new-hash (equal new-hash old-hash)))) (cond (current-cache (save-excursion (goto-char (org-babel-where-is-src-block-result nil info)) (forward-line) (skip-chars-forward " \011") (let ((result (org-babel-read-result))) (message (replace-regexp-in-string "%" "%%" (format "%S" result))) result))) ((org-babel-confirm-evaluate info) (let* ((lang (nth 0 info)) (result-params (cdr (assq :result-params params))) (body (let ((coderef (nth 6 info)) (expand (if (org-babel-noweb-p params :eval) (org-babel-expand-noweb-references info) (nth 1 info)))) (if (not coderef) expand (replace-regexp-in-string (org-src-coderef-regexp coderef) "" expand nil nil 1)))) (dir (cdr (assq :dir params))) (default-directory (or (and dir (file-name-as-directory (expand-file-name dir))) default-directory)) (cmd (intern (concat "org-babel-execute:" lang))) result) (if (fboundp cmd) nil (error "No org-babel-execute function for %s!" lang)) (message "executing %s code block%s..." (capitalize lang) (let ((name (nth 4 info))) (if name (format " (%s)" name) ""))) (if (member "none" result-params) (progn (funcall cmd body params) (message "result silenced")) (setq result (let ((r (funcall cmd body params))) (if (and (eq (cdr (assq :result-type params)) 'value) (or (member "vector" result-params) (member "table" result-params)) (not (listp r))) (list (list r)) r))) (let ((file (and (member "file" result-params) (cdr (assq :file params))))) (if file (progn (if (and result (not (or (member "link" result-params) (member "graphics" result-params)))) (progn (let ((temp-file file) (temp-buffer (get-buffer-create (generate-new-buffer-name " *temp file*")))) (unwind-protect (prog1 (save-current-buffer (set-buffer temp-buffer) (insert (org-babel-format-result result (cdr (assq :sep params))))) (save-current-buffer (set-buffer temp-buffer) (write-region nil nil temp-file nil 0))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))) (setq result file))) (let ((post (cdr (assq :post params)))) (if post (progn (let ((*this* (if (not file) result (org-babel-result-to-file file (let ((desc (assq :file-desc params))) (and desc (or (cdr desc) result))))))) (setq result (org-babel-ref-resolve post)) (if file (progn (setq result-params (remove "file" result-params)))))))) (org-babel-insert-result result result-params info new-hash lang))) (run-hooks 'org-babel-after-execute-hook) result)))))
(if (org-babel-check-evaluate info) (progn (let* ((c (nthcdr 2 info))) (setcar c (org-babel-process-params (car c)))) (let* ((params (nth 2 info)) (cache (let ((c (cdr (assq :cache params)))) (and (not arg) c (string= "yes" c)))) (new-hash (and cache (org-babel-sha1-hash info :eval))) (old-hash (and cache (org-babel-current-result-hash))) (current-cache (and new-hash (equal new-hash old-hash)))) (cond (current-cache (save-excursion (goto-char (org-babel-where-is-src-block-result nil info)) (forward-line) (skip-chars-forward " \011") (let ((result (org-babel-read-result))) (message (replace-regexp-in-string "%" "%%" (format "%S" result))) result))) ((org-babel-confirm-evaluate info) (let* ((lang (nth 0 info)) (result-params (cdr (assq :result-params params))) (body (let ((coderef (nth 6 info)) (expand (if (org-babel-noweb-p params :eval) (org-babel-expand-noweb-references info) (nth 1 info)))) (if (not coderef) expand (replace-regexp-in-string (org-src-coderef-regexp coderef) "" expand nil nil 1)))) (dir (cdr (assq :dir params))) (default-directory (or (and dir (file-name-as-directory (expand-file-name dir))) default-directory)) (cmd (intern (concat "org-babel-execute:" lang))) result) (if (fboundp cmd) nil (error "No org-babel-execute function for %s!" lang)) (message "executing %s code block%s..." (capitalize lang) (let ((name (nth 4 info))) (if name (format " (%s)" name) ""))) (if (member "none" result-params) (progn (funcall cmd body params) (message "result silenced")) (setq result (let ((r (funcall cmd body params))) (if (and (eq (cdr (assq :result-type params)) 'value) (or (member "vector" result-params) (member "table" result-params)) (not (listp r))) (list (list r)) r))) (let ((file (and (member "file" result-params) (cdr (assq :file params))))) (if file (progn (if (and result (not (or (member "link" result-params) (member "graphics" result-params)))) (progn (let ((temp-file file) (temp-buffer (get-buffer-create (generate-new-buffer-name " *temp file*")))) (unwind-protect (prog1 (save-current-buffer (set-buffer temp-buffer) (insert (org-babel-format-result result (cdr (assq :sep params))))) (save-current-buffer (set-buffer temp-buffer) (write-region nil nil temp-file nil 0))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))) (setq result file))) (let ((post (cdr (assq :post params)))) (if post (progn (let ((*this* (if (not file) result (org-babel-result-to-file file (let ((desc (assq :file-desc params))) (and desc (or (cdr desc) result))))))) (setq result (org-babel-ref-resolve post)) (if file (progn (setq result-params (remove "file" result-params)))))))) (org-babel-insert-result result result-params info new-hash lang))) (run-hooks 'org-babel-after-execute-hook) result))))))
(let* ((org-babel-current-src-block-location (or org-babel-current-src-block-location (nth 5 info) (org-babel-where-is-src-block-head))) (info (if info (copy-tree info) (org-babel-get-src-block-info)))) (let* ((c (nthcdr 2 info))) (setcar c (org-babel-merge-params (car c) params))) (if (org-babel-check-evaluate info) (progn (let* ((c (nthcdr 2 info))) (setcar c (org-babel-process-params (car c)))) (let* ((params (nth 2 info)) (cache (let ((c (cdr (assq :cache params)))) (and (not arg) c (string= "yes" c)))) (new-hash (and cache (org-babel-sha1-hash info :eval))) (old-hash (and cache (org-babel-current-result-hash))) (current-cache (and new-hash (equal new-hash old-hash)))) (cond (current-cache (save-excursion (goto-char (org-babel-where-is-src-block-result nil info)) (forward-line) (skip-chars-forward " \011") (let ((result (org-babel-read-result))) (message (replace-regexp-in-string "%" "%%" (format "%S" result))) result))) ((org-babel-confirm-evaluate info) (let* ((lang (nth 0 info)) (result-params (cdr (assq :result-params params))) (body (let ((coderef (nth 6 info)) (expand (if (org-babel-noweb-p params :eval) (org-babel-expand-noweb-references info) (nth 1 info)))) (if (not coderef) expand (replace-regexp-in-string (org-src-coderef-regexp coderef) "" expand nil nil 1)))) (dir (cdr (assq :dir params))) (default-directory (or (and dir (file-name-as-directory (expand-file-name dir))) default-directory)) (cmd (intern (concat "org-babel-execute:" lang))) result) (if (fboundp cmd) nil (error "No org-babel-execute function for %s!" lang)) (message "executing %s code block%s..." (capitalize lang) (let ((name (nth 4 info))) (if name (format " (%s)" name) ""))) (if (member "none" result-params) (progn (funcall cmd body params) (message "result silenced")) (setq result (let ((r (funcall cmd body params))) (if (and (eq (cdr (assq :result-type params)) 'value) (or (member "vector" result-params) (member "table" result-params)) (not (listp r))) (list (list r)) r))) (let ((file (and (member "file" result-params) (cdr (assq :file params))))) (if file (progn (if (and result (not (or (member "link" result-params) (member "graphics" result-params)))) (progn (let ((temp-file file) (temp-buffer (get-buffer-create (generate-new-buffer-name " *temp file*")))) (unwind-protect (prog1 (save-current-buffer (set-buffer temp-buffer) (insert (org-babel-format-result result (cdr (assq :sep params))))) (save-current-buffer (set-buffer temp-buffer) (write-region nil nil temp-file nil 0))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))) (setq result file))) (let ((post (cdr (assq :post params)))) (if post (progn (let ((*this* (if (not file) result (org-babel-result-to-file file (let ((desc (assq :file-desc params))) (and desc (or (cdr desc) result))))))) (setq result (org-babel-ref-resolve post)) (if file (progn (setq result-params (remove "file" result-params)))))))) (org-babel-insert-result result result-params info new-hash lang))) (run-hooks 'org-babel-after-execute-hook) result)))))))
(closure (*this* org-babel-confirm-evaluate-answer-no org-src-preserve-indentation org-src-lang-modes org-link-file-path-type org-edit-src-content-indentation org-babel-library-of-babel t) (&optional arg info params) "Execute the current source code block.\nInsert the results of execution into the buffer. Source code\nexecution and the collection and formatting of results can be\ncontrolled through a variety of header arguments.\n\nWith prefix argument ARG, force re-execution even if an existing\nresult cached in the buffer would otherwise have been returned.\n\nOptionally supply a value for INFO in the form returned by\n`org-babel-get-src-block-info'.\n\nOptionally supply a value for PARAMS which will be merged with\nthe header arguments specified at the front of the source code\nblock." (interactive) (let* ((org-babel-current-src-block-location (or org-babel-current-src-block-location (nth 5 info) (org-babel-where-is-src-block-head))) (info (if info (copy-tree info) (org-babel-get-src-block-info)))) (let* ((c (nthcdr 2 info))) (setcar c (org-babel-merge-params (car c) params))) (if (org-babel-check-evaluate info) (progn (let* ((c (nthcdr 2 info))) (setcar c (org-babel-process-params (car c)))) (let* ((params (nth 2 info)) (cache (let ((c (cdr (assq :cache params)))) (and (not arg) c (string= "yes" c)))) (new-hash (and cache (org-babel-sha1-hash info :eval))) (old-hash (and cache (org-babel-current-result-hash))) (current-cache (and new-hash (equal new-hash old-hash)))) (cond (current-cache (save-excursion (goto-char (org-babel-where-is-src-block-result nil info)) (forward-line) (skip-chars-forward " \011") (let ((result (org-babel-read-result))) (message (replace-regexp-in-string "%" "%%" (format "%S" result))) result))) ((org-babel-confirm-evaluate info) (let* ((lang (nth 0 info)) (result-params (cdr (assq :result-params params))) (body (let ((coderef (nth 6 info)) (expand (if (org-babel-noweb-p params :eval) (org-babel-expand-noweb-references info) (nth 1 info)))) (if (not coderef) expand (replace-regexp-in-string (org-src-coderef-regexp coderef) "" expand nil nil 1)))) (dir (cdr (assq :dir params))) (default-directory (or (and dir (file-name-as-directory (expand-file-name dir))) default-directory)) (cmd (intern (concat "org-babel-execute:" lang))) result) (if (fboundp cmd) nil (error "No org-babel-execute function for %s!" lang)) (message "executing %s code block%s..." (capitalize lang) (let ((name (nth 4 info))) (if name (format " (%s)" name) ""))) (if (member "none" result-params) (progn (funcall cmd body params) (message "result silenced")) (setq result (let ((r (funcall cmd body params))) (if (and (eq (cdr (assq :result-type params)) 'value) (or (member "vector" result-params) (member "table" result-params)) (not (listp r))) (list (list r)) r))) (let ((file (and (member "file" result-params) (cdr (assq :file params))))) (if file (progn (if (and result (not (or (member "link" result-params) (member "graphics" result-params)))) (progn (let ((temp-file file) (temp-buffer (get-buffer-create (generate-new-buffer-name " *temp file*")))) (unwind-protect (prog1 (save-current-buffer (set-buffer temp-buffer) (insert (org-babel-format-result result (cdr (assq :sep params))))) (save-current-buffer (set-buffer temp-buffer) (write-region nil nil temp-file nil 0))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))) (setq result file))) (let ((post (cdr (assq :post params)))) (if post (progn (let ((*this* (if (not file) result (org-babel-result-to-file file (let ((desc (assq :file-desc params))) (and desc (or (cdr desc) result))))))) (setq result (org-babel-ref-resolve post)) (if file (progn (setq result-params (remove "file" result-params)))))))) (org-babel-insert-result result result-params info new-hash lang))) (run-hooks 'org-babel-after-execute-hook) result))))))))(nil ("sql" "CREATE TABLE product (\n id INT UNSIGNED NOT NULL AUTO_INCREMENT,\n name VARCHAR(30) NOT NULL,\n price DECIMAL(7,2)\n);" ((:colname-names) (:rowname-names) (:result-params "replace") (:result-type . value) (:results . "replace") (:exports . "") (:eval . "never-export") (:cache . "yes") (:comments . "link") (:tangle . "no") (:hlines . "no") (:noweb . "no") (:session . "none")) "" nil 8261 "# (ref:%s)") nil)
ob-async-org-babel-execute-src-block((closure (*this* org-babel-confirm-evaluate-answer-no org-src-preserve-indentation org-src-lang-modes org-link-file-path-type org-edit-src-content-indentation org-babel-library-of-babel t) (&optional arg info params) "Execute the current source code block.\nInsert the results of execution into the buffer. Source code\nexecution and the collection and formatting of results can be\ncontrolled through a variety of header arguments.\n\nWith prefix argument ARG, force re-execution even if an existing\nresult cached in the buffer would otherwise have been returned.\n\nOptionally supply a value for INFO in the form returned by\n`org-babel-get-src-block-info'.\n\nOptionally supply a value for PARAMS which will be merged with\nthe header arguments specified at the front of the source code\nblock." (interactive) (let* ((org-babel-current-src-block-location (or org-babel-current-src-block-location (nth 5 info) (org-babel-where-is-src-block-head))) (info (if info (copy-tree info) (org-babel-get-src-block-info)))) (let* ((c (nthcdr 2 info))) (setcar c (org-babel-merge-params (car c) params))) (if (org-babel-check-evaluate info) (progn (let* ((c (nthcdr 2 info))) (setcar c (org-babel-process-params (car c)))) (let* ((params (nth 2 info)) (cache (let ((c (cdr (assq :cache params)))) (and (not arg) c (string= "yes" c)))) (new-hash (and cache (org-babel-sha1-hash info :eval))) (old-hash (and cache (org-babel-current-result-hash))) (current-cache (and new-hash (equal new-hash old-hash)))) (cond (current-cache (save-excursion (goto-char (org-babel-where-is-src-block-result nil info)) (forward-line) (skip-chars-forward " \011") (let ((result (org-babel-read-result))) (message (replace-regexp-in-string "%" "%%" (format "%S" result))) result))) ((org-babel-confirm-evaluate info) (let* ((lang (nth 0 info)) (result-params (cdr (assq :result-params params))) (body (let ((coderef (nth 6 info)) (expand (if (org-babel-noweb-p params :eval) (org-babel-expand-noweb-references info) (nth 1 info)))) (if (not coderef) expand (replace-regexp-in-string (org-src-coderef-regexp coderef) "" expand nil nil 1)))) (dir (cdr (assq :dir params))) (default-directory (or (and dir (file-name-as-directory (expand-file-name dir))) default-directory)) (cmd (intern (concat "org-babel-execute:" lang))) result) (if (fboundp cmd) nil (error "No org-babel-execute function for %s!" lang)) (message "executing %s code block%s..." (capitalize lang) (let ((name (nth 4 info))) (if name (format " (%s)" name) ""))) (if (member "none" result-params) (progn (funcall cmd body params) (message "result silenced")) (setq result (let ((r (funcall cmd body params))) (if (and (eq (cdr (assq :result-type params)) 'value) (or (member "vector" result-params) (member "table" result-params)) (not (listp r))) (list (list r)) r))) (let ((file (and (member "file" result-params) (cdr (assq :file params))))) (if file (progn (if (and result (not (or (member "link" result-params) (member "graphics" result-params)))) (progn (let ((temp-file file) (temp-buffer (get-buffer-create (generate-new-buffer-name " *temp file*")))) (unwind-protect (prog1 (save-current-buffer (set-buffer temp-buffer) (insert (org-babel-format-result result (cdr (assq :sep params))))) (save-current-buffer (set-buffer temp-buffer) (write-region nil nil temp-file nil 0))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))) (setq result file))) (let ((post (cdr (assq :post params)))) (if post (progn (let ((*this* (if (not file) result (org-babel-result-to-file file (let ((desc (assq :file-desc params))) (and desc (or (cdr desc) result))))))) (setq result (org-babel-ref-resolve post)) (if file (progn (setq result-params (remove "file" result-params)))))))) (org-babel-insert-result result result-params info new-hash lang))) (run-hooks 'org-babel-after-execute-hook) result)))))))) nil ("sql" "CREATE TABLE product (\n id INT UNSIGNED NOT NULL AUTO_INCREMENT,\n name VARCHAR(30) NOT NULL,\n price DECIMAL(7,2)\n);" ((:colname-names) (:rowname-names) (:result-params "replace") (:result-type . value) (:results . "replace") (:exports . "") (:eval . "never-export") (:cache . "yes") (:comments . "link") (:tangle . "no") (:hlines . "no") (:noweb . "no") (:session . "none")) "" nil 8261 "# (ref:%s)"))
apply(ob-async-org-babel-execute-src-block (closure (*this* org-babel-confirm-evaluate-answer-no org-src-preserve-indentation org-src-lang-modes org-link-file-path-type org-edit-src-content-indentation org-babel-library-of-babel t) (&optional arg info params) "Execute the current source code block.\nInsert the results of execution into the buffer. Source code\nexecution and the collection and formatting of results can be\ncontrolled through a variety of header arguments.\n\nWith prefix argument ARG, force re-execution even if an existing\nresult cached in the buffer would otherwise have been returned.\n\nOptionally supply a value for INFO in the form returned by\n`org-babel-get-src-block-info'.\n\nOptionally supply a value for PARAMS which will be merged with\nthe header arguments specified at the front of the source code\nblock." (interactive) (let* ((org-babel-current-src-block-location (or org-babel-current-src-block-location (nth 5 info) (org-babel-where-is-src-block-head))) (info (if info (copy-tree info) (org-babel-get-src-block-info)))) (let* ((c (nthcdr 2 info))) (setcar c (org-babel-merge-params (car c) params))) (if (org-babel-check-evaluate info) (progn (let* ((c (nthcdr 2 info))) (setcar c (org-babel-process-params (car c)))) (let* ((params (nth 2 info)) (cache (let ((c (cdr (assq :cache params)))) (and (not arg) c (string= "yes" c)))) (new-hash (and cache (org-babel-sha1-hash info :eval))) (old-hash (and cache (org-babel-current-result-hash))) (current-cache (and new-hash (equal new-hash old-hash)))) (cond (current-cache (save-excursion (goto-char (org-babel-where-is-src-block-result nil info)) (forward-line) (skip-chars-forward " \011") (let ((result (org-babel-read-result))) (message (replace-regexp-in-string "%" "%%" (format "%S" result))) result))) ((org-babel-confirm-evaluate info) (let* ((lang (nth 0 info)) (result-params (cdr (assq :result-params params))) (body (let ((coderef (nth 6 info)) (expand (if (org-babel-noweb-p params :eval) (org-babel-expand-noweb-references info) (nth 1 info)))) (if (not coderef) expand (replace-regexp-in-string (org-src-coderef-regexp coderef) "" expand nil nil 1)))) (dir (cdr (assq :dir params))) (default-directory (or (and dir (file-name-as-directory (expand-file-name dir))) default-directory)) (cmd (intern (concat "org-babel-execute:" lang))) result) (if (fboundp cmd) nil (error "No org-babel-execute function for %s!" lang)) (message "executing %s code block%s..." (capitalize lang) (let ((name (nth 4 info))) (if name (format " (%s)" name) ""))) (if (member "none" result-params) (progn (funcall cmd body params) (message "result silenced")) (setq result (let ((r (funcall cmd body params))) (if (and (eq (cdr (assq :result-type params)) 'value) (or (member "vector" result-params) (member "table" result-params)) (not (listp r))) (list (list r)) r))) (let ((file (and (member "file" result-params) (cdr (assq :file params))))) (if file (progn (if (and result (not (or (member "link" result-params) (member "graphics" result-params)))) (progn (let ((temp-file file) (temp-buffer (get-buffer-create (generate-new-buffer-name " *temp file*")))) (unwind-protect (prog1 (save-current-buffer (set-buffer temp-buffer) (insert (org-babel-format-result result (cdr (assq :sep params))))) (save-current-buffer (set-buffer temp-buffer) (write-region nil nil temp-file nil 0))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))) (setq result file))) (let ((post (cdr (assq :post params)))) (if post (progn (let ((*this* (if (not file) result (org-babel-result-to-file file (let ((desc (assq :file-desc params))) (and desc (or (cdr desc) result))))))) (setq result (org-babel-ref-resolve post)) (if file (progn (setq result-params (remove "file" result-params)))))))) (org-babel-insert-result result result-params info new-hash lang))) (run-hooks 'org-babel-after-execute-hook) result)))))))) (nil ("sql" "CREATE TABLE product (\n id INT UNSIGNED NOT NULL AUTO_INCREMENT,\n name VARCHAR(30) NOT NULL,\n price DECIMAL(7,2)\n);" ((:colname-names) (:rowname-names) (:result-params "replace") (:result-type . value) (:results . "replace") (:exports . "") (:eval . "never-export") (:cache . "yes") (:comments . "link") (:tangle . "no") (:hlines . "no") (:noweb . "no") (:session . "none")) "" nil 8261 "# (ref:%s)")))
org-babel-execute-src-block(nil ("sql" "CREATE TABLE product (\n id INT UNSIGNED NOT NULL AUTO_INCREMENT,\n name VARCHAR(30) NOT NULL,\n price DECIMAL(7,2)\n);" ((:colname-names) (:rowname-names) (:result-params "replace") (:result-type . value) (:results . "replace") (:exports . "") (:eval . "never-export") (:cache . "yes") (:comments . "link") (:tangle . "no") (:hlines . "no") (:noweb . "no") (:session . "none")) "" nil 8261 "# (ref:%s)"))
(if org-babel-no-eval-on-ctrl-c-ctrl-c nil (org-babel-eval-wipe-error-buffer) (org-babel-execute-src-block current-prefix-arg (org-babel-get-src-block-info nil context)))
(cond ((memq type '(src-block inline-src-block)) (if org-babel-no-eval-on-ctrl-c-ctrl-c nil (org-babel-eval-wipe-error-buffer) (org-babel-execute-src-block current-prefix-arg (org-babel-get-src-block-info nil context)))) ((org-match-line "[ \011]*$") (or (run-hook-with-args-until-success 'org-ctrl-c-ctrl-c-final-hook) (user-error (substitute-command-keys "`\\[org-ctrl-c-ctrl-c]' can do nothing useful here")))) ((memq type '(inline-babel-call babel-call)) (let ((info (org-babel-lob-get-info context))) (if info (progn (org-babel-execute-src-block nil info))))) ((eq type 'clock) (org-clock-update-time-maybe)) ((eq type 'dynamic-block) (save-excursion (goto-char (org-element-property :post-affiliated context)) (org-update-dblock))) ((eq type 'footnote-definition) (goto-char (org-element-property :post-affiliated context)) (call-interactively 'org-footnote-action)) ((eq type 'footnote-reference) (call-interactively (function org-footnote-action))) ((memq type '(inlinetask headline)) (save-excursion (goto-char (org-element-property :begin context)) (call-interactively (function org-set-tags-command)))) ((eq type 'item) (let* ((box (org-element-property :checkbox context)) (struct (org-element-property :structure context)) (old-struct (copy-tree struct)) (parents (org-list-parents-alist struct)) (prevs (org-list-prevs-alist struct)) (orderedp (org-not-nil (org-entry-get nil "ORDERED")))) (org-list-set-checkbox (org-element-property :begin context) struct (cond ((equal arg '(16)) "[-]") ((and (not box) (equal arg '(4))) "[ ]") ((or (not box) (equal arg '(4))) nil) ((eq box 'on) "[ ]") (t "[X]"))) (org-list-struct-fix-ind struct parents 2) (org-list-struct-fix-item-end struct) (org-list-struct-fix-bul struct prevs) (org-list-struct-fix-ind struct parents) (let ((block-item (org-list-struct-fix-box struct parents prevs orderedp))) (if (and box (equal struct old-struct)) (if (equal arg '(16)) (message "Checkboxes already reset") (user-error "Cannot toggle this checkbox: %s" (if (eq box 'on) "all subitems checked" "unchecked subitems"))) (org-list-struct-apply-struct struct old-struct) (org-update-checkbox-count-maybe)) (if block-item (progn (message "Checkboxes were removed due to empty box at line %d" (org-current-line block-item))))))) ((eq type 'keyword) (let ((org-inhibit-startup-visibility-stuff t) (org-startup-align-all-tables nil)) (if (boundp 'org-table-coordinate-overlays) (progn (mapc (function delete-overlay) org-table-coordinate-overlays) (setq org-table-coordinate-overlays nil))) (let* ((--invisible-types '(org-hide-block org-hide-drawer outline)) (--markers\? 'use-markers) (--data (mapcar (function (lambda (o) (let ((beg (overlay-start o)) (end (overlay-end o)) (type (overlay-get o 'invisible))) (and beg end (> end beg) (memq type --invisible-types) (list (if --markers\? (copy-marker beg) beg) (if --markers\? (copy-marker end t) end) type))))) (save-excursion (save-restriction (widen) (overlays-in (point-min) (point-max))))))) (unwind-protect (progn (org-mode-restart)) (save-excursion (save-restriction (widen) (let ((--dolist-tail-- --invisible-types)) (while --dolist-tail-- (let ((type (car --dolist-tail--))) (remove-overlays (point-min) (point-max) 'invisible type) (setq --dolist-tail-- (cdr --dolist-tail--))))) (let ((--dolist-tail-- (delq nil --data))) (while --dolist-tail-- (let ((x206 (car --dolist-tail--))) (let* ((x207 (car x206)) (x208 (cdr x206)) (x209 (car x208)) (x210 (cdr x208)) (x211 (car x210)) (x212 (cdr x210))) (let ((type x211) (end x209) (beg x207)) (progn (org-flag-region beg end t type) (if --markers\? (progn (set-marker beg nil) (set-marker end nil)))))) (setq --dolist-tail-- (cdr --dolist-tail--)))))))))) (message "Local setup has been refreshed")) ((eq type 'plain-list) (let* ((begin (org-element-property :contents-begin context)) (struct (org-element-property :structure context)) (old-struct (copy-tree struct)) (first-box (save-excursion (goto-char begin) (looking-at org-list-full-item-re) (match-string-no-properties 3))) (new-box (cond ((equal arg '(16)) "[-]") ((equal arg '(4)) (if first-box nil "[ ]")) ((equal first-box "[X]") "[ ]") (t "[X]")))) (cond (arg (let ((--dolist-tail-- (org-list-get-all-items begin struct (org-list-prevs-alist struct)))) (while --dolist-tail-- (let ((pos (car --dolist-tail--))) (org-list-set-checkbox pos struct new-box) (setq --dolist-tail-- (cdr --dolist-tail--)))))) ((and first-box (eq (point) begin)) (org-list-set-checkbox begin struct new-box))) (if (equal (org-list-write-struct struct (org-list-parents-alist struct) old-struct) old-struct) (progn (message "Cannot update this checkbox"))) (org-update-checkbox-count-maybe))) ((memq type '(node-property property-drawer)) (call-interactively (function org-property-action))) ((eq type 'radio-target) (call-interactively (function org-update-radio-target-regexp))) ((eq type 'statistics-cookie) (call-interactively (function org-update-statistics-cookies))) ((memq type '(table-row table-cell table)) (if (eq (org-element-property :type context) 'table\.el) (message "%s" (substitute-command-keys "\\<org-mode-map>Use `\\[org-edit-special]' to edit table.el tables")) (if (or (eq type 'table) (and (eq type 'table-row) (= (point) (org-element-property :end context)))) (save-excursion (if (org-at-TBLFM-p) (progn (require 'org-table) (org-table-calc-current-TBLFM)) (goto-char (org-element-property :contents-begin context)) (org-call-with-arg 'org-table-recalculate (or arg t)) (orgtbl-send-table 'maybe))) (org-table-maybe-eval-formula) (cond (arg (call-interactively (function org-table-recalculate))) ((org-table-maybe-recalculate-line)) (t (org-table-align)))))) ((eq type 'timestamp) (funcall pcase-0)) ((eq type 'planning) (cond ((org-at-timestamp-p 'lax) (funcall pcase-0)) ((run-hook-with-args-until-success 'org-ctrl-c-ctrl-c-final-hook) nil) (t (user-error (substitute-command-keys "`\\[org-ctrl-c-ctrl-c]' can do nothing useful here"))))) ((null type) (cond ((org-at-heading-p) (call-interactively (function org-set-tags-command))) ((run-hook-with-args-until-success 'org-ctrl-c-ctrl-c-final-hook) (funcall pcase-1)) (t (funcall pcase-2)))) ((run-hook-with-args-until-success 'org-ctrl-c-ctrl-c-final-hook) (funcall pcase-1)) (t (funcall pcase-2)))
(let* ((pcase-2 (function (lambda nil (user-error (substitute-command-keys "`\\[org-ctrl-c-ctrl-c]' can do nothing useful here"))))) (pcase-1 (function (lambda nil))) (pcase-0 (function (lambda nil (org-timestamp-change 0 'day))))) (cond ((memq type '(src-block inline-src-block)) (if org-babel-no-eval-on-ctrl-c-ctrl-c nil (org-babel-eval-wipe-error-buffer) (org-babel-execute-src-block current-prefix-arg (org-babel-get-src-block-info nil context)))) ((org-match-line "[ \011]*$") (or (run-hook-with-args-until-success 'org-ctrl-c-ctrl-c-final-hook) (user-error (substitute-command-keys "`\\[org-ctrl-c-ctrl-c]' can do nothing useful here")))) ((memq type '(inline-babel-call babel-call)) (let ((info (org-babel-lob-get-info context))) (if info (progn (org-babel-execute-src-block nil info))))) ((eq type 'clock) (org-clock-update-time-maybe)) ((eq type 'dynamic-block) (save-excursion (goto-char (org-element-property :post-affiliated context)) (org-update-dblock))) ((eq type 'footnote-definition) (goto-char (org-element-property :post-affiliated context)) (call-interactively 'org-footnote-action)) ((eq type 'footnote-reference) (call-interactively (function org-footnote-action))) ((memq type '(inlinetask headline)) (save-excursion (goto-char (org-element-property :begin context)) (call-interactively (function org-set-tags-command)))) ((eq type 'item) (let* ((box (org-element-property :checkbox context)) (struct (org-element-property :structure context)) (old-struct (copy-tree struct)) (parents (org-list-parents-alist struct)) (prevs (org-list-prevs-alist struct)) (orderedp (org-not-nil (org-entry-get nil "ORDERED")))) (org-list-set-checkbox (org-element-property :begin context) struct (cond ((equal arg '(16)) "[-]") ((and (not box) (equal arg '(4))) "[ ]") ((or (not box) (equal arg '(4))) nil) ((eq box 'on) "[ ]") (t "[X]"))) (org-list-struct-fix-ind struct parents 2) (org-list-struct-fix-item-end struct) (org-list-struct-fix-bul struct prevs) (org-list-struct-fix-ind struct parents) (let ((block-item (org-list-struct-fix-box struct parents prevs orderedp))) (if (and box (equal struct old-struct)) (if (equal arg '(16)) (message "Checkboxes already reset") (user-error "Cannot toggle this checkbox: %s" (if (eq box 'on) "all subitems checked" "unchecked subitems"))) (org-list-struct-apply-struct struct old-struct) (org-update-checkbox-count-maybe)) (if block-item (progn (message "Checkboxes were removed due to empty box at line %d" (org-current-line block-item))))))) ((eq type 'keyword) (let ((org-inhibit-startup-visibility-stuff t) (org-startup-align-all-tables nil)) (if (boundp 'org-table-coordinate-overlays) (progn (mapc (function delete-overlay) org-table-coordinate-overlays) (setq org-table-coordinate-overlays nil))) (let* ((--invisible-types '(org-hide-block org-hide-drawer outline)) (--markers\? 'use-markers) (--data (mapcar (function (lambda (o) (let ((beg (overlay-start o)) (end (overlay-end o)) (type (overlay-get o 'invisible))) (and beg end (> end beg) (memq type --invisible-types) (list (if --markers\? (copy-marker beg) beg) (if --markers\? (copy-marker end t) end) type))))) (save-excursion (save-restriction (widen) (overlays-in (point-min) (point-max))))))) (unwind-protect (progn (org-mode-restart)) (save-excursion (save-restriction (widen) (let ((--dolist-tail-- --invisible-types)) (while --dolist-tail-- (let ((type (car --dolist-tail--))) (remove-overlays (point-min) (point-max) 'invisible type) (setq --dolist-tail-- (cdr --dolist-tail--))))) (let ((--dolist-tail-- (delq nil --data))) (while --dolist-tail-- (let ((x206 (car --dolist-tail--))) (let* ((x207 (car x206)) (x208 (cdr x206)) (x209 (car x208)) (x210 (cdr x208)) (x211 (car x210)) (x212 (cdr x210))) (let ((type x211) (end x209) (beg x207)) (progn (org-flag-region beg end t type) (if --markers\? (progn (set-marker beg nil) (set-marker end nil)))))) (setq --dolist-tail-- (cdr --dolist-tail--)))))))))) (message "Local setup has been refreshed")) ((eq type 'plain-list) (let* ((begin (org-element-property :contents-begin context)) (struct (org-element-property :structure context)) (old-struct (copy-tree struct)) (first-box (save-excursion (goto-char begin) (looking-at org-list-full-item-re) (match-string-no-properties 3))) (new-box (cond ((equal arg '(16)) "[-]") ((equal arg '(4)) (if first-box nil "[ ]")) ((equal first-box "[X]") "[ ]") (t "[X]")))) (cond (arg (let ((--dolist-tail-- (org-list-get-all-items begin struct (org-list-prevs-alist struct)))) (while --dolist-tail-- (let ((pos (car --dolist-tail--))) (org-list-set-checkbox pos struct new-box) (setq --dolist-tail-- (cdr --dolist-tail--)))))) ((and first-box (eq (point) begin)) (org-list-set-checkbox begin struct new-box))) (if (equal (org-list-write-struct struct (org-list-parents-alist struct) old-struct) old-struct) (progn (message "Cannot update this checkbox"))) (org-update-checkbox-count-maybe))) ((memq type '(node-property property-drawer)) (call-interactively (function org-property-action))) ((eq type 'radio-target) (call-interactively (function org-update-radio-target-regexp))) ((eq type 'statistics-cookie) (call-interactively (function org-update-statistics-cookies))) ((memq type '(table-row table-cell table)) (if (eq (org-element-property :type context) 'table\.el) (message "%s" (substitute-command-keys "\\<org-mode-map>Use `\\[org-edit-special]' to edit table.el tables")) (if (or (eq type 'table) (and (eq type 'table-row) (= (point) (org-element-property :end context)))) (save-excursion (if (org-at-TBLFM-p) (progn (require 'org-table) (org-table-calc-current-TBLFM)) (goto-char (org-element-property :contents-begin context)) (org-call-with-arg 'org-table-recalculate (or arg t)) (orgtbl-send-table 'maybe))) (org-table-maybe-eval-formula) (cond (arg (call-interactively (function org-table-recalculate))) ((org-table-maybe-recalculate-line)) (t (org-table-align)))))) ((eq type 'timestamp) (funcall pcase-0)) ((eq type 'planning) (cond ((org-at-timestamp-p 'lax) (funcall pcase-0)) ((run-hook-with-args-until-success 'org-ctrl-c-ctrl-c-final-hook) nil) (t (user-error (substitute-command-keys "`\\[org-ctrl-c-ctrl-c]' can do nothing useful here"))))) ((null type) (cond ((org-at-heading-p) (call-interactively (function org-set-tags-command))) ((run-hook-with-args-until-success 'org-ctrl-c-ctrl-c-final-hook) (funcall pcase-1)) (t (funcall pcase-2)))) ((run-hook-with-args-until-success 'org-ctrl-c-ctrl-c-final-hook) (funcall pcase-1)) (t (funcall pcase-2))))
(let* ((context (org-element-lineage (org-element-context) '(babel-call clock dynamic-block footnote-definition footnote-reference inline-babel-call inline-src-block inlinetask item keyword node-property paragraph plain-list planning property-drawer radio-target src-block statistics-cookie table table-cell table-row timestamp) t)) (type (org-element-type context))) (if (eq type 'paragraph) (progn (let ((parent (org-element-property :parent context))) (if (and (eq (org-element-type parent) 'item) (= (line-beginning-position) (org-element-property :begin parent))) (progn (setq context parent) (setq type 'item)))))) (let* ((pcase-2 (function (lambda nil (user-error (substitute-command-keys "`\\[org-ctrl-c-ctrl-c]' can do nothing useful here"))))) (pcase-1 (function (lambda nil))) (pcase-0 (function (lambda nil (org-timestamp-change 0 'day))))) (cond ((memq type '(src-block inline-src-block)) (if org-babel-no-eval-on-ctrl-c-ctrl-c nil (org-babel-eval-wipe-error-buffer) (org-babel-execute-src-block current-prefix-arg (org-babel-get-src-block-info nil context)))) ((org-match-line "[ \011]*$") (or (run-hook-with-args-until-success 'org-ctrl-c-ctrl-c-final-hook) (user-error (substitute-command-keys "`\\[org-ctrl-c-ctrl-c]' can do nothing useful here")))) ((memq type '(inline-babel-call babel-call)) (let ((info (org-babel-lob-get-info context))) (if info (progn (org-babel-execute-src-block nil info))))) ((eq type 'clock) (org-clock-update-time-maybe)) ((eq type 'dynamic-block) (save-excursion (goto-char (org-element-property :post-affiliated context)) (org-update-dblock))) ((eq type 'footnote-definition) (goto-char (org-element-property :post-affiliated context)) (call-interactively 'org-footnote-action)) ((eq type 'footnote-reference) (call-interactively (function org-footnote-action))) ((memq type '(inlinetask headline)) (save-excursion (goto-char (org-element-property :begin context)) (call-interactively (function org-set-tags-command)))) ((eq type 'item) (let* ((box (org-element-property :checkbox context)) (struct (org-element-property :structure context)) (old-struct (copy-tree struct)) (parents (org-list-parents-alist struct)) (prevs (org-list-prevs-alist struct)) (orderedp (org-not-nil (org-entry-get nil "ORDERED")))) (org-list-set-checkbox (org-element-property :begin context) struct (cond ((equal arg '(16)) "[-]") ((and (not box) (equal arg '(4))) "[ ]") ((or (not box) (equal arg '(4))) nil) ((eq box 'on) "[ ]") (t "[X]"))) (org-list-struct-fix-ind struct parents 2) (org-list-struct-fix-item-end struct) (org-list-struct-fix-bul struct prevs) (org-list-struct-fix-ind struct parents) (let ((block-item (org-list-struct-fix-box struct parents prevs orderedp))) (if (and box (equal struct old-struct)) (if (equal arg '(16)) (message "Checkboxes already reset") (user-error "Cannot toggle this checkbox: %s" (if (eq box 'on) "all subitems checked" "unchecked subitems"))) (org-list-struct-apply-struct struct old-struct) (org-update-checkbox-count-maybe)) (if block-item (progn (message "Checkboxes were removed due to empty box at line %d" (org-current-line block-item))))))) ((eq type 'keyword) (let ((org-inhibit-startup-visibility-stuff t) (org-startup-align-all-tables nil)) (if (boundp 'org-table-coordinate-overlays) (progn (mapc (function delete-overlay) org-table-coordinate-overlays) (setq org-table-coordinate-overlays nil))) (let* ((--invisible-types '(org-hide-block org-hide-drawer outline)) (--markers\? 'use-markers) (--data (mapcar (function (lambda (o) (let ((beg (overlay-start o)) (end (overlay-end o)) (type (overlay-get o 'invisible))) (and beg end (> end beg) (memq type --invisible-types) (list (if --markers\? (copy-marker beg) beg) (if --markers\? (copy-marker end t) end) type))))) (save-excursion (save-restriction (widen) (overlays-in (point-min) (point-max))))))) (unwind-protect (progn (org-mode-restart)) (save-excursion (save-restriction (widen) (let ((--dolist-tail-- --invisible-types)) (while --dolist-tail-- (let ((type (car --dolist-tail--))) (remove-overlays (point-min) (point-max) 'invisible type) (setq --dolist-tail-- (cdr --dolist-tail--))))) (let ((--dolist-tail-- (delq nil --data))) (while --dolist-tail-- (let ((x206 (car --dolist-tail--))) (let* ((x207 (car x206)) (x208 (cdr x206)) (x209 (car x208)) (x210 (cdr x208)) (x211 (car x210)) (x212 (cdr x210))) (let ((type x211) (end x209) (beg x207)) (progn (org-flag-region beg end t type) (if --markers\? (progn (set-marker beg nil) (set-marker end nil)))))) (setq --dolist-tail-- (cdr --dolist-tail--)))))))))) (message "Local setup has been refreshed")) ((eq type 'plain-list) (let* ((begin (org-element-property :contents-begin context)) (struct (org-element-property :structure context)) (old-struct (copy-tree struct)) (first-box (save-excursion (goto-char begin) (looking-at org-list-full-item-re) (match-string-no-properties 3))) (new-box (cond ((equal arg '(16)) "[-]") ((equal arg '(4)) (if first-box nil "[ ]")) ((equal first-box "[X]") "[ ]") (t "[X]")))) (cond (arg (let ((--dolist-tail-- (org-list-get-all-items begin struct (org-list-prevs-alist struct)))) (while --dolist-tail-- (let ((pos (car --dolist-tail--))) (org-list-set-checkbox pos struct new-box) (setq --dolist-tail-- (cdr --dolist-tail--)))))) ((and first-box (eq (point) begin)) (org-list-set-checkbox begin struct new-box))) (if (equal (org-list-write-struct struct (org-list-parents-alist struct) old-struct) old-struct) (progn (message "Cannot update this checkbox"))) (org-update-checkbox-count-maybe))) ((memq type '(node-property property-drawer)) (call-interactively (function org-property-action))) ((eq type 'radio-target) (call-interactively (function org-update-radio-target-regexp))) ((eq type 'statistics-cookie) (call-interactively (function org-update-statistics-cookies))) ((memq type '(table-row table-cell table)) (if (eq (org-element-property :type context) 'table\.el) (message "%s" (substitute-command-keys "\\<org-mode-map>Use `\\[org-edit-special]' to edit table.el tables")) (if (or (eq type 'table) (and (eq type 'table-row) (= (point) (org-element-property :end context)))) (save-excursion (if (org-at-TBLFM-p) (progn (require 'org-table) (org-table-calc-current-TBLFM)) (goto-char (org-element-property :contents-begin context)) (org-call-with-arg 'org-table-recalculate (or arg t)) (orgtbl-send-table 'maybe))) (org-table-maybe-eval-formula) (cond (arg (call-interactively (function org-table-recalculate))) ((org-table-maybe-recalculate-line)) (t (org-table-align)))))) ((eq type 'timestamp) (funcall pcase-0)) ((eq type 'planning) (cond ((org-at-timestamp-p 'lax) (funcall pcase-0)) ((run-hook-with-args-until-success 'org-ctrl-c-ctrl-c-final-hook) nil) (t (user-error (substitute-command-keys "`\\[org-ctrl-c-ctrl-c]' can do nothing useful here"))))) ((null type) (cond ((org-at-heading-p) (call-interactively (function org-set-tags-command))) ((run-hook-with-args-until-success 'org-ctrl-c-ctrl-c-final-hook) (funcall pcase-1)) (t (funcall pcase-2)))) ((run-hook-with-args-until-success 'org-ctrl-c-ctrl-c-final-hook) (funcall pcase-1)) (t (funcall pcase-2)))))
(cond ((or (and (boundp 'org-clock-overlays) org-clock-overlays) org-occur-highlights) (if (boundp 'org-clock-overlays) (progn (org-clock-remove-overlays))) (org-remove-occur-highlights) (message "Temporary highlights/overlays removed from current buffer")) ((and (local-variable-p 'org-finish-function) (fboundp org-finish-function)) (funcall org-finish-function)) ((org-babel-hash-at-point)) ((run-hook-with-args-until-success 'org-ctrl-c-ctrl-c-hook)) (t (let* ((context (org-element-lineage (org-element-context) '(babel-call clock dynamic-block footnote-definition footnote-reference inline-babel-call inline-src-block inlinetask item keyword node-property paragraph plain-list planning property-drawer radio-target src-block statistics-cookie table table-cell table-row timestamp) t)) (type (org-element-type context))) (if (eq type 'paragraph) (progn (let ((parent (org-element-property :parent context))) (if (and (eq (org-element-type parent) 'item) (= (line-beginning-position) (org-element-property :begin parent))) (progn (setq context parent) (setq type 'item)))))) (let* ((pcase-2 (function (lambda nil (user-error (substitute-command-keys "`\\[org-ctrl-c-ctrl-c]' can do nothing useful here"))))) (pcase-1 (function (lambda nil))) (pcase-0 (function (lambda nil (org-timestamp-change 0 'day))))) (cond ((memq type '(src-block inline-src-block)) (if org-babel-no-eval-on-ctrl-c-ctrl-c nil (org-babel-eval-wipe-error-buffer) (org-babel-execute-src-block current-prefix-arg (org-babel-get-src-block-info nil context)))) ((org-match-line "[ \011]*$") (or (run-hook-with-args-until-success 'org-ctrl-c-ctrl-c-final-hook) (user-error (substitute-command-keys "`\\[org-ctrl-c-ctrl-c]' can do nothing useful here")))) ((memq type '(inline-babel-call babel-call)) (let ((info (org-babel-lob-get-info context))) (if info (progn (org-babel-execute-src-block nil info))))) ((eq type 'clock) (org-clock-update-time-maybe)) ((eq type 'dynamic-block) (save-excursion (goto-char (org-element-property :post-affiliated context)) (org-update-dblock))) ((eq type 'footnote-definition) (goto-char (org-element-property :post-affiliated context)) (call-interactively 'org-footnote-action)) ((eq type 'footnote-reference) (call-interactively (function org-footnote-action))) ((memq type '(inlinetask headline)) (save-excursion (goto-char (org-element-property :begin context)) (call-interactively (function org-set-tags-command)))) ((eq type 'item) (let* ((box (org-element-property :checkbox context)) (struct (org-element-property :structure context)) (old-struct (copy-tree struct)) (parents (org-list-parents-alist struct)) (prevs (org-list-prevs-alist struct)) (orderedp (org-not-nil (org-entry-get nil "ORDERED")))) (org-list-set-checkbox (org-element-property :begin context) struct (cond ((equal arg '(16)) "[-]") ((and (not box) (equal arg '(4))) "[ ]") ((or (not box) (equal arg '(4))) nil) ((eq box 'on) "[ ]") (t "[X]"))) (org-list-struct-fix-ind struct parents 2) (org-list-struct-fix-item-end struct) (org-list-struct-fix-bul struct prevs) (org-list-struct-fix-ind struct parents) (let ((block-item (org-list-struct-fix-box struct parents prevs orderedp))) (if (and box (equal struct old-struct)) (if (equal arg '(16)) (message "Checkboxes already reset") (user-error "Cannot toggle this checkbox: %s" (if (eq box 'on) "all subitems checked" "unchecked subitems"))) (org-list-struct-apply-struct struct old-struct) (org-update-checkbox-count-maybe)) (if block-item (progn (message "Checkboxes were removed due to empty box at line %d" (org-current-line block-item))))))) ((eq type 'keyword) (let ((org-inhibit-startup-visibility-stuff t) (org-startup-align-all-tables nil)) (if (boundp 'org-table-coordinate-overlays) (progn (mapc (function delete-overlay) org-table-coordinate-overlays) (setq org-table-coordinate-overlays nil))) (let* ((--invisible-types '(org-hide-block org-hide-drawer outline)) (--markers\? 'use-markers) (--data (mapcar (function (lambda (o) (let ((beg (overlay-start o)) (end (overlay-end o)) (type (overlay-get o 'invisible))) (and beg end (> end beg) (memq type --invisible-types) (list (if --markers\? (copy-marker beg) beg) (if --markers\? (copy-marker end t) end) type))))) (save-excursion (save-restriction (widen) (overlays-in (point-min) (point-max))))))) (unwind-protect (progn (org-mode-restart)) (save-excursion (save-restriction (widen) (let ((--dolist-tail-- --invisible-types)) (while --dolist-tail-- (let ((type (car --dolist-tail--))) (remove-overlays (point-min) (point-max) 'invisible type) (setq --dolist-tail-- (cdr --dolist-tail--))))) (let ((--dolist-tail-- (delq nil --data))) (while --dolist-tail-- (let ((x206 (car --dolist-tail--))) (let* ((x207 (car x206)) (x208 (cdr x206)) (x209 (car x208)) (x210 (cdr x208)) (x211 (car x210)) (x212 (cdr x210))) (let ((type x211) (end x209) (beg x207)) (progn (org-flag-region beg end t type) (if --markers\? (progn (set-marker beg nil) (set-marker end nil)))))) (setq --dolist-tail-- (cdr --dolist-tail--)))))))))) (message "Local setup has been refreshed")) ((eq type 'plain-list) (let* ((begin (org-element-property :contents-begin context)) (struct (org-element-property :structure context)) (old-struct (copy-tree struct)) (first-box (save-excursion (goto-char begin) (looking-at org-list-full-item-re) (match-string-no-properties 3))) (new-box (cond ((equal arg '(16)) "[-]") ((equal arg '(4)) (if first-box nil "[ ]")) ((equal first-box "[X]") "[ ]") (t "[X]")))) (cond (arg (let ((--dolist-tail-- (org-list-get-all-items begin struct (org-list-prevs-alist struct)))) (while --dolist-tail-- (let ((pos (car --dolist-tail--))) (org-list-set-checkbox pos struct new-box) (setq --dolist-tail-- (cdr --dolist-tail--)))))) ((and first-box (eq (point) begin)) (org-list-set-checkbox begin struct new-box))) (if (equal (org-list-write-struct struct (org-list-parents-alist struct) old-struct) old-struct) (progn (message "Cannot update this checkbox"))) (org-update-checkbox-count-maybe))) ((memq type '(node-property property-drawer)) (call-interactively (function org-property-action))) ((eq type 'radio-target) (call-interactively (function org-update-radio-target-regexp))) ((eq type 'statistics-cookie) (call-interactively (function org-update-statistics-cookies))) ((memq type '(table-row table-cell table)) (if (eq (org-element-property :type context) 'table\.el) (message "%s" (substitute-command-keys "\\<org-mode-map>Use `\\[org-edit-special]' to edit table.el tables")) (if (or (eq type 'table) (and (eq type 'table-row) (= (point) (org-element-property :end context)))) (save-excursion (if (org-at-TBLFM-p) (progn (require 'org-table) (org-table-calc-current-TBLFM)) (goto-char (org-element-property :contents-begin context)) (org-call-with-arg 'org-table-recalculate (or arg t)) (orgtbl-send-table 'maybe))) (org-table-maybe-eval-formula) (cond (arg (call-interactively (function org-table-recalculate))) ((org-table-maybe-recalculate-line)) (t (org-table-align)))))) ((eq type 'timestamp) (funcall pcase-0)) ((eq type 'planning) (cond ((org-at-timestamp-p 'lax) (funcall pcase-0)) ((run-hook-with-args-until-success 'org-ctrl-c-ctrl-c-final-hook) nil) (t (user-error (substitute-command-keys "`\\[org-ctrl-c-ctrl-c]' can do nothing useful here"))))) ((null type) (cond ((org-at-heading-p) (call-interactively (function org-set-tags-command))) ((run-hook-with-args-until-success 'org-ctrl-c-ctrl-c-final-hook) (funcall pcase-1)) (t (funcall pcase-2)))) ((run-hook-with-args-until-success 'org-ctrl-c-ctrl-c-final-hook) (funcall pcase-1)) (t (funcall pcase-2)))))))
org-ctrl-c-ctrl-c(nil)
funcall-interactively(org-ctrl-c-ctrl-c nil)
call-interactively(org-ctrl-c-ctrl-c nil nil)
command-execute(org-ctrl-c-ctrl-c)
from ejc-sql.
With this latest fix commit, [C-c C-c]
works now. Thanks for quick fix @kostafey .
from ejc-sql.
Related Issues (20)
- ejc-get-keywords uses lowercase instead of downcase HOT 2
- How to display the insert statement?
- company completion never completes HOT 1
- Snowflake JDBC - guidance to help add support HOT 7
- [oracle structure] dba_procedures used in lieu of all_procedures HOT 1
- Cannot set fetch size or max rows HOT 1
- SQLite Company Completion HOT 1
- Feature Request: Display database column types in direx
- tip for org mode users that export their notes HOT 1
- Error in process sentinel
- mssql: a result set was generated for update
- direx.el no longer works after Emacs master commit d65534d254 on Dec 26 2021 HOT 4
- Please let `DESCRIBE-TABLE` show comment about the fields.
- Error when trying to connect HOT 1
- how to connect mongodb
- Transaction rollback not working HOT 1
- Failure on connect in Emacs 28 with native compilation HOT 3
- ejc:goto--line-column not defined HOT 1
- ejc-connect got AbstractMethodError HOT 1
- Table in ejc-result not align correct. HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ejc-sql.